Introduction to Agile Development
What is Agile Development? Why is it important to me?
Agile Development follows the values and principles of the Agile Manifesto.
To bring flexibility and efficiency to your projects, agile methodology encourages rapid iterative development.
Frequent adaptation and inspection are also encouraged. This is helpful for your team to deliver high-quality solutions that align with user requirements.
What is Scrum? How can it guide my team to be more effective?
Scrum is a framework that guides teams in implementing an Agile way of working. At GovTech, cross-functional teams use Scrum to work together.
Based on empiricism, decisions are made based on what is known, and what is known comes from experience and observation.
Scrum guides the iterative and incremental nature of running digital projects - so that decisions are made based on results, rather than speculation or guesswork.
Hence, Scrum is most effective when there is transparency, inspection and adaptation.
A Scrum team consists of a product owner, a Scrum master and the development team. The Scrum team is self-organising and self-managing, which means they decide how best to deliver their work, without directions from external parties. They are also cross-functional – all the skills or competencies required to do the work are within the team.
What are the different roles and responsibilities in a Scrum team?
Your Product Owner should be someone with vision, authority and availability.
He/she should have a vision for product development and the authority to make decisions. They are also responsible for communicating your projects’ vision and priorities to the development team.
Your Product Owner is responsible for:
Writing the Product Backlog items
Prioritising the Product Backlog items to achieve the most value and meet the team’s goals
Making sure the Product Backlog is visible and transparent
Showing team members their actionable next-steps and clarifying their doubts
To ensure the success of Product Owners, your organisation needs to respect their decisions. Anyone who wants to change the priority of a Product Backlog item must go through the Product Owner first. No one else should give your agile software development team a different set of requirements.
Your Scrum Master ensures that the product owner, the development team and the organisation practise Scrum. The role of the Scrum Master is not fixed - anyone in the development team can take up this role. He/she ensures that every member on your team follows Scrum theory, practices, and removes any obstacles in the way.
Your Scrum Master is responsible for:
Facilitating daily Scrum, sprint planning, sprint demo and retrospective meetings
Forecasting the number of deliverables possible in an iteration, based on evidence and reliable sources
Creating useful, reliable and practical plans for software development projects
Tracking and removing project impediments
A Product Backlog is a living artefact and is always a work-in-progress. It evolves as the product and the environment change to ensure that product is always appropriate, competitive and useful.
Your Product Owner handles maintaining the Product Backlog and arranging the items in order of priority. Usually, the items at the top of the Product Backlog are more detailed than the ones lower on the list.
Your Product Owner will work with the development team to add detail to the backlog items during Product Backlog refinement. Only items for the next 2–3 sprints are defined in greater detail. Items further down the list are expected to change by the time the team gets to them, so you don’t waste time refining them until you’re ready to work on them.