Any successful organization that works with software development knows that to build great software, you need to have an Agile foundation. You must have a good understanding of agility, Agile and DevOps practices, and how everything works at the team level, with your teams knowing how methodologies like Scrum and Kanban work, how to apply them efficiently, and the Agile roles you use.
Part 1
The basics of Agile
Mastering the most important principles of Agile is crucial for successful Agile development, and the basics of Agile help organizations and teams develop a common language. Understanding them helps communication, prioritization, and decision-making and teaches everyone that Agile is all about experimentation, learning, and continuously improving.
Nobody starts perfect, and nobody is perfect. Focus instead on improving yourself each day and sprint.
What are Agile practices?
The Agile manifesto
Created over 20 years ago to respond to older software development processes seen as complicated, unresponsive, and focused too much on documentation requirements, the Agile Manifesto outlines four fundamental values and twelve principles software developers should utilize.
The four Agile values
These values promote software development processes focusing on quality by creating products that meet consumers' needs and expectations. Teams following these principles are expected to:
- Choose individuals and interactions over processes and tools.
- Select working software over comprehensive documentation.
- Focus on customer collaboration over contract negotiation.
- Respond to changes over the following plans.
The twelve Agile principles
These principles focus on cultivating a workplace centered on customer needs and satisfaction and aligning with business goals. The twelve principles encourage agility, which enables fast responses and adaptability to evolving user demands and market dynamics. Software teams following these principles are expected to:
- Satisfy customers through early and continuous delivery of valuable software.
- Welcome changing requirements, including ones late in development.
- Deliver working software frequently, from a couple of weeks to a few months (with a preference for shorter timescales).
- Work together daily throughout the project with business people and other developers.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to do the job.
- Enable face-to-face conversations within a development team to better convey information.
- Use working software as the primary measure of progress.
- Utilize Agile processes that promote sustainable development.
- Pay continuous attention to technical excellence and good design that enhances agility.
- Keep things simple.
- Take advantage of self-organizing teams, which in turn lead to the best architectures, requirements, and designs emerging.
- Reflect on becoming more effective and adjust their behavior accordingly.
Agile best practices are tools to achieve goals, not the goals themselves
When your teams have goals in mind on what they want to achieve, you need to create a culture of agility in the organization to meet them. But creating this culture is a complex process. You could try hundreds of Agile processes and principles, but you can’t (and shouldn’t) try them all. Keep it simple and only highlight the absolute must-dos.
Find out more in our blog post on the ten building blocks every Agile organization needs.
Agile ceremonies
Agile ceremonies are key part of Agile, and ceremony facilitation and improvement are usually the responsibility of the Scrum Master.
Scrum uses all the below ceremonies, with Kanban using at least four (as Kanban doesn’t have sprints). We recommend anyone working with Kanban find other ways to discuss items that fall into sprint planning and review agendas.
Backlog refinement
Regular backlog refinement is key in a process that delivers high-quality work, and it relies on the Definition of Ready, which is an agreement on the kind of work the team agrees to start.
Sprint planning
The sprint planning is where the team finalizes any backlog items they decide will be part of the sprint scope, and this process starts from a Product Owner’s proposal or prioritized backlog. The Definition of Done must exist for the team to be able to commit to any sprint scope. The team must then measure velocity (the amount of completed work in each sprint) and use it to guide how much work to load into each new sprint.
Daily
The daily is the only meeting during the sprint that aims to ensure the team achieves its sprint goals. The team must feel it’s checking Done, In-progress, and Still-to-be-Done in the sprint backlog. If there are any problems, risks, or blockers, they should be raised so the team can react quickly.
The daily is also a planned interruption. Urgent tasks shouldn’t wait for the daily, while less urgent tasks can wait. Approaching things this way can minimize other potential disruptions.
Sprint review
A sprint review is where the team checks the results of the sprint, including which backlog items were (and weren’t) done. It’s also an opportunity to ask questions like “Do the completed items fulfill the needs of the customer?” and “Did you find new issues that need to be on the backlog?”
Additionally, the demo shows what was Done in the last sprint, with the target audience being stakeholders interested in the work items. The demo session can be adjacent to the sprint review meeting or at a different time if more stakeholders can participate. Overall, the main focus of these sessions is to gain comments and feedback.
Retrospective
The retrospective lets the team analyze, explore, and improve their working methods. Using the retrospective allows the team to determine what worked well and what didn’t. There are thousands of methods to guide the retrospective discussion, but the key factor is that the team agrees on concrete action points to take in the next sprint. The team should focus their time and energy on the things they can control.
The values and principles of Scrum
Scrum is based on the principles of transparency, inspection, and adaptation. For example, Scrum ensures no work, specification, problems, risks, or progress is hidden, meaning everyone on the team (and outside) must have access and visibility of how work is going.
By adopting Scrum, your team becomes more motivated and willing to look at the results of their work and the process that created it. Your team will then analyze the results and compare them to what they want to achieve, ensuring they actively seek to adjust their work based on what they feel is the correct direction to take.
Respect
All team members contribute to the target, with collaboration and ideas being respected and accomplishments celebrated.
Openness
Team members are honest when they need help, with an open-minded team always looking to improve and learn. Ceremonies like reviews should demonstrate how things went, with assumptions voiced out loud.
Commitment
Team members should be protected from sprint scope changes, with sprint planning sessions requiring the team to deliver results. In the daily, the team needs to feel pressure on delivering promises.
Focus
The team needs to finish what they start and not get sidetracked.
Courage
Team members should be encouraged to question the status quo and feel safe to ask for help and say no. Overall, the team shouldn’t fear difficult conversations.
Do Scrum sprint reviews work well?
A big issue that’s often encountered during Scrum sprint reviews is the lack of stakeholder interest and an excessive focus on what was accomplished instead of the bigger picture. While showing off completed work is crucial, discussing the broader objectives and project goals is equally important.
Learn how to revitalize Scrum sprint reviews and overcome stakeholder apathy in our blog post below.
Part 2:
Understanding the different roles in Agile
Becoming a Product Owner
A Product Owner’s role isn’t easy. They’re expected to manage stakeholders, prioritize the backlog, communicate with the team, customers, and stakeholders, manage defects, create roadmaps and a product vision, and coordinate all work, ceremonies, and meetings (all of which they’re expected to participate in).
To help with this, we’ve provided a checklist and task list of steps to get you started. These Agile team practices will allow you to focus on the most crucial tasks, expand your view, and slowly master the role's responsibilities.
Product Owner checklist
- Ensure you set aside enough time for the role.
- Learn about the Product Owner’s role from the Product Owner’s startup guide.
- Ensure you have enough direct contact with the development team.
- Identify the product stakeholders and meet up with them regularly.
- Build direct contact with end customers.
- Get familiar with the product you’re building.
- Clean up your legacy backlog (if you have one).
- Always think about the most crucial tasks, present and future.
- Ensure teams don’t take on too much technical debt.
- Ask and listen to feedback on your work, and thank/value team achievements.
Product Owner task list
Team collaboration
Participate in Agile ceremonies, deal with release and sprint outcome acceptance, and respond to the team’s questions and concerns.
Product and team backlog management
Refine and prioritize the backlog and organize sprint planning sessions.
Stakeholder management
Identify the stakeholders and their needs, then discuss the development progress and release schedules with them regularly.
Customer communication
Stay in touch with your customers. Make presentations for them and be the single point of contact for any product-related questions.
Defect management
Ensure the quality of the product remains high and defects are prioritized and fixed accordingly.
Roadmapping and product vision creation
Create long-term plans and the product vision. Outline the scope and vision for these releases and set sprint goals.
Coordination
Coordinate development across multiple teams (like project management) and work with sales, marketing, customer support, etc.
Continuous learning
Join the team’s retrospectives and work with them to improve working methods. Focusing on the fundamentals also helps, including the Definition of Done, the Definition of Ready, and the ways to refine backlog.
In addition to improving collaboration with the development team, you should also focus on improving your own skills as a Product Owner. You can start by reading relevant material and studying what Agile experts are saying, but you should ideally look to develop your own learning path.
Maintaining a positive atmosphere
A team with a positive, open culture will find it easier to succeed. Cultivating this atmosphere is important; you should always thank people for good work and ideas. Teams should ideally build an identity through exercises like teambuilding activities, common coffee moments, or team memorabilia like t-shirts or coffee mugs. Communication style is very important, and you should always strive to maintain a positive style in all your communication.
Learn the four principles a starting Product Owner can use to succeed below.
"We were able to take the learning quickly into practice but without feeling overburdened."
Basware, a large SaaS company providing cloud-based purchase-to-pay and e-invoicing solutions, was having difficulties with prioritizing cross-product development initiatives and communicating them internally.
See how we helped Basware solve these challenges with our development training for Product Managers and Product Owners.
Becoming a Master of Scrum
Starting off as a Scrum Master can be challenging, especially if you have little experience. As a Scrum Master, you must guide your team and ensure everyone follows Scrum practices effectively. Phrases like "build trust within your team," "enhance team performance," and "value collaboration over tools" often float around without clear directions on how to implement them.
For Scrum Masters looking to settle into their roles, we recommend reading and re-reading the basics until you’re fully familiar with the practices. But while both our Scrum Guide and the Agile Manifesto are easily available, it would be unwise to assume you or your team can immediately implement everything included in them. It’s important to understand the theory, but implementing it in practice is different. First, you need to understand the team, the people, and where they currently are.
Start your journey as a Scrum Master
Gain a basic understanding of your expectations as a Scrum Master and a detailed plan for getting started successfully in our guide below. Understand both the big picture and get hands-on advice on:
- Why you're doing Agile
- The Agile Manifesto and its principles
- The values and principles of Scrum
- How to run each Agile ceremony successfully
- A detailed checklist you can follow to become great at your role quickly
- Recommendations of further resources to get even better
Product Manager vs. Product Owner vs. Scrum Master
Each role has its own part to play and can best be summarized in the table below.
Product Manager | Product Owner | Scrum Master | |
---|---|---|---|
A management role focused on identifying customer needs and business objectives a feature or product will fulfill. | A management role focused on building and refining the product. | A role that focuses on helping the Scrum team perform at their highest level. | |
Focuses on strategic vision, product strategy, customers, markets, and company objectives. | Focuses on tactics and operations. Supports internal teams, especially product engineering. | Focuses on facilitating team coordination, supporting project processes, protecting the team, coaching team members, and communicating with Product Owners and the organization. | |
High-level vision and product management, including positioning, marketing, sales support, customer care, and product delivery. | Translates high-level vision into actionable tasks, creates detailed requirements and user stories, manages product backlog, and determines what should be built next. | Facilitates team coordination and ensures actionable tasks are performed accordingly. | |
Oversees the entire product lifecycle and works with the business case and product roadmap. | Manages sprints and participates in retrospectives. | Responsible for the team following Agile best practices and processes and supporting project processes. |
What is the difference between these roles?
Product managers can exist anywhere at any time. Product Owners and Scrum Masters on the other hand are roles specific to the Scrum Framework.
Learn more about the differences between each role.
Part 3:
Improving your Agile ceremonies
Scrum uses all the ceremonies listed below, while Kanban uses four (not including sprint planning and review, as Kanban doesn’t have sprints). Kanban teams need another way to discuss items that would otherwise fall into sprint planning and review meetings.
Backlog refinement
Regular meetings to improve the top of the backlog and maintain the rest.
Sprint planning
At the start of the sprint, the team and Product Owner plan and commit to what can be done in the coming sprint.
Daily
A short, daily meeting where the team self-organizes what has been completed, what starts next, and keeps work going forward.
Retrospective
Regular meeting that reflects on past work and finds better ways to do things.
Sprint review
After the sprint, the team and Product Owner get together to review the completed and not done items, reflecting on learnings and the big picture.
Demo
The team presents the completed work to stakeholders to get feedback.
You can learn more about the backlog refinement stage and the practice of "Silent backlog refinement meetings" below.
"The lessons learned will continue to be of great use in the future."
As a market leader in invoice lifecycle management in Finland, Ropo Capital needed to clarify roles and responsibilities, sharpen its Agile methods and approaches to strengthen expertise and create a solid foundation for rapid growth.
See how we helped clarify their roles and responsibilities with our training and coaching program on the practices of Agile below.
Why you should improve your ceremonies
Improving your ceremonies empowers team productivity, which in turn allows you to do more things right the first time and get better feedback to improve the backlog item priorities further and clarify the descriptions.
This feeling of success and a less stressful work environment leads to less employee churn and increased team stability and learning potential. A well-working team also sets an example in the organization, leading to more career opportunities for everyone involved.
Start your improvements from your weakest ceremony
You should look to turn your ceremonies into "super ceremonies," where you operate at a new level. But that doesn't mean you just combine the different ceremonies into one. Each ceremony fills a crucial role; perfection comes from experimenting with them separately.
Here are some good rules to follow:
Intention | Not in use | Basic level | Advanced level | Super level | |
---|---|---|---|---|---|
Retrospective | These should happen regularly, every 2-4 weeks, with a runtime of 1 hour. Booking time slots in advance will help you with this. | Improvement in working is slow (or nonexistent), with team performance being static at a certain level. | Regular retrospectives are in use and result in discussions, identification of improvement items, and action points (which are assigned to an owner). | Meeting time is managed to allow good root cause analysis and action planning. Previous action points are followed up, while later ones may be loaded into the sprint backlog to give the team ”permission” to work on them immediately. Different retrospective methods are trialed and vary, with the retrospective sometimes having a specific theme. | Retrospectives are used regularly to improve all Agile ceremonies. They don’t always have the same host and are sometimes held with other teams to improve the program or organizational cooperation. Futurespective methods are used regularly, and the team expands its influence beyond itself. |
Backlog refinement | Have this ceremony run every week, with a runtime of 1 hour. Arrange for additional events whenever the backlog inflow seems higher. | The team runs the risk of accepting backlog items into a sprint backlog with unclear descriptions that lead to slower implementation and more errors and changes later on. The backlog will not be prioritized or kept clean of trash stories, which makes estimating or preparing for work beyond the next sprint difficult. | Regular refinement sessions help clarify the backlog items, and the Product Owner can better prioritize them both in and outside the refinement session. Refinement actions focus on items in the next sprint and slightly beyond. | The team uses the Definition of Ready, a size limit set to guide item splitting. Complex items are identified in the backlog and prepared separatelyoutside the refinement session. Refinement actions then focus on the next 1-2 months of backlog. | The backlog cleanup is done regularly, and the team uses different splitting methods and the INVEST model for user stories. Common refinement sessions with other dependent teams are arranged, with refinement actions spanning beyond the next 1-2 months of backlog, stretching to 12 months as rough refinement. |
Daily | Run this ceremony every day, with a max runtime of 15 minutes. Follow up on these dailies with specific meetings on identified topics. | The team can’t reach sprint goals effectively and will struggle to implement the most crucial tasks from the sprint backlog. Calls or offers for help are often disregarded, and team members isolate their work more, making self-organized teamwork difficult. | The Daily occurs several times a week and lasts 15 minutes. The basic format is Yesterday, Today, and Impediments. | The Daily is driven by the team itself, not by the Scrum Master, as they’re an observer. Learnings are shared when needed, and people see the end of their current task and discuss the optimum next item from the backlog. The Daily leads to the active helping of other team members. | The team fully owns the Daily and considers progress toward sprint goals. Items that are done are celebrated, and impediment solving is assisted by the Daily, with team members who are stuck team members receiving help even if they didn’t ask for it. |
Sprint review | Run this on the last day of the sprint, with a runtime of 1-2 hours. | The team doesn’t learn why certain tasks were (and weren’t) completed, and the big picture (schedule, deadlines, budget) remains unknown. | Task completion is reviewed, and items that aren’t completed are moved to the next sprint. | The Product Owner approves deliverables, and the items done are regularly checked against the Definition of Done. The team analyzes why some items were not finished, and sprint learnings and backlog adjustments are completed. | The Product Owner can approve items mid-sprint. The team considers the sprint’s impact on the big picture, and risks and mitigation plans are actively reviewed. Reports to stakeholders are also considered. |
Demo | Arrange this near the end of a sprint or other times based on the availability of stakeholders. These should have a runtime of 30-60 minutes. | Feedback from items is missing, which can result in changes or reported errors later. There’s also an increased risk of the product increment not being releasable to production. | The demo is separate from the sprint review and regularly gets stakeholders to participate. Feedback is received and reflected in the backlog. | Different people present demos tied to the big picture of the release or product vision. The demo is based on a prepared script and provokes active discussion. | Different methods (demo sessions, recordings, emails, screenshots) are used to maximize feedback. The demo session is also used to celebrate successes and enhance the team’s feeling of achievement. |
Development path beyond retrospectives
Team development requires management support and a team coach who understands the principles of coaching and has the time and motivation to develop the team to a higher level of performance. The best results always come with an excellent internal coach, with Scrum Masters and line managers being suitable options.
The development of ceremonies is a long journey. You’ll get results fast, but it doesn’t end there.
Learn more about rewarding motivation and how to adopt Agile methods successfully.
Part 4
Succeeding with Agile
Have clear roles
In Agile methodologies, clear roles are essential for effective project execution. Role clarity provides team members with a sense of direction and purpose, facilitating a streamlined workflow. With well-defined responsibilities, individuals can focus on their tasks, minimizing confusion and enhancing productivity. This clarity also promotes a culture of accountability, as team members take ownership of their roles and contributions, ensuring efficient progress.
The Product Owner plays an essential role in ensuring the team builds the right product. By representing the voice of the customer, the Product Owner defines features, prioritizes the backlog, and guides decision-making to align with customer needs. On the other hand, the Scrum Master facilitates the Agile process, removing obstacles and coaching the team to optimize their performance. Their role as servant-leader is crucial in maintaining the momentum of the team and ensuring adherence to Agile principles and practices.
At a broader level, the Product Manager oversees the product's overall success, focusing on its strategic alignment with business objectives. While the Product Owner concentrates on immediate development needs, the Product Manager takes a holistic view, considering market trends, competition, and long-term product strategy. Together, these roles collaborate closely to steer the project towards its goals, leveraging their respective expertise to adapt to evolving requirements and deliver value to customers in a dynamic marketplace.
Clarity of roles is essential because it provides team members with a clear understanding of their responsibilities, ensuring alignment and coordination within the team. This clarity minimizes confusion, enhances productivity, and creates a sense of accountability as each member knows what’s expected of them. With defined roles, team members can focus on their specific tasks and make better use of time and resources, which in turn contribute to the overall success of the project.
Learn more about what a Product Owner really owns and does below.
Develop your Agile ceremony practices proactively
Continual improvement is at the core of successful Agile development, which underscores the importance of actively shaping your Agile ceremony practices. The entire development team (including the Product Owner, Scrum Master, and developers) should make a collective commitment to regularly assess the effectiveness of their Agile meeting practices. This includes actively engaging in discussions to identify areas for improvement and brainstorming innovative solutions.
Encourage open communication and constructive feedback during retrospectives to surface insights that can lead to positive changes.
Train your teams in the areas of Agile they struggle with our help.
Keep communication open
Open communication is crucial for collaborative success. That’s why you should endorse a culture where each team member can actively speak up and listen to others. Valuing diverse viewpoints contributes to a richer understanding of the project.
Maintain an open dialogue during refinement sessions, creating a space for constructive discussions where various perspectives are welcomed. This ensures all team members can share their insights, furthering a sense of ownership and collective responsibility. Dailies should also practice this open, active listening communication style.
Embracing open communication at every stage cultivates a collaborative environment where ideas flow freely, contributing to the overall success of Agile development practices.
Discipline equals agility
Maintaining discipline is the key to achieving great agility, which underscores the importance of discipline in various aspects of the development process. Start with backlog discipline, which ensures the backlog is the only place where work is started.
Uphold refinement discipline and dedicate time to collaboratively refining user stories and tasks. Establish a shared understanding through best Agile practices like the Definition of Ready, which clearly defines the criteria that prepare tasks for implementation and sets the stage for smoother sprint planning and execution. Defining and adhering to the Definition of Done ensures each task meets the team's quality standards before it's considered complete.
Maintain a consistent practice of estimating effort for tasks. Discipline in effort estimation contributes to better planning and resource allocation, cultivating a more Agile and adaptable development process. In short, discipline is the catalyst for agility, driving efficiency and effectiveness across various facets of Agile software development practices and their lifecycle.
Build the ultimate Agile foundation for your organization.
Prioritize everything
The guiding principle is simple: Always work on the most critical tasks. Prioritization is a nuanced practice that demands a blend of active listening, consideration of diverse viewpoints, exploration of various options, and constructive discussions. While input from the entire team is valuable, a decisive decision-maker is pivotal in steering the prioritization process.
Prioritization also benefits by having the right tools configured correctly. Modern tools like Jira Product Discovery can implement prioritization methods, and having the right tools can make it much easier to collaborate and prioritize effectively.
Communicate a clear vision
Having a clear vision is an effective Agile practice emphasizes the importance of communication in ensuring everyone understands where the product is headed. A product vision and a concise statement that outlines the long-term goals for the product serve as a guiding beacon for the team, aligning everyone towards a common goal.
A product strategy outlines the approach to achieving the vision and should provide a high-level roadmap that gives the team a clear direction. Define concrete near-term product goals that allow the team to set better sprint goals–ensuring each sprint contributes meaningfully to the larger vision.
Communicating a clear vision helps the team stay motivated and better understand how their work fits the bigger picture.
Keep a small, well-managed backlog
Don’t let your backlog become too large. They grow quickly, so it’s essential to set up regular sessions to remove items from them to keep overgrowth in check. The backlog should also be organized with themes, epics, versions, and/or components.
A well-defined approach to managing the backlog ensures clarity and efficiency in task prioritization.
Strive for an optimal target size for your backlog, considering your team's velocity and market dynamics. Maintaining a lean backlog empowers faster decision-making, enhances agility, and ensures the team works on tasks that align with current priorities.
Learn more about the optimal backlog size and how to manage it below.
Let us guide your Agile transformation
Stay up to date - get the newsletter
Exclusive educational content and news from the Eficode world. Right in your inbox.