The Agile framework is a contemporary enterprise IT project delivery approach emphasising collaboration, iterative processes, and incremental delivery. Scrum and the Scaled Agile Framework (SAFe) are two examples of Agile principles.
The Scrum Framework
Scrum is an Agile framework for managing complex projects through iterative progress in fixed intervals known as Sprints:
- Product backlog creation: The product owner compiles project requirements into a prioritised list, which is the product backlog. This list includes features, enhancements, and fixes representing stakeholder and customer needs, serving as a living document throughout the project lifecycle.
- Sprint planning: The Scrum Team selects items from the product backlog for the upcoming Sprint. This phase involves task breakdown, effort estimation, and work planning, leading to a sprint backlog.
- Sprint execution: The team designs, codes, and tests features from the sprint backlog. Daily stand-up meetings help maintain alignment and identify early blockers to deliver a product increment by the end of the Sprint.
- Sprint review and retrospective: These stages allow for reflection and adaptation. During the review, the Scrum Team showcases completed work to stakeholders and gathers feedback that may adjust the product backlog. The retrospective helps the team identify process and teamwork improvements.
- Release planning and deployment: This may occur after a Sprint or several Sprints, based on product readiness and business needs. It involves finalising release details, user documentation, and market strategy, aiming for successful user releases of product increments.
- Continuous improvement: This underpins the Scrum framework. It allows the team to iterate on the product based on user feedback and changing requirements, facilitating regular enhancements and bug fixes.
Project execution in Scrum relies on clearly defined roles, each contributing to the project's agility and success:
- Product Owner: The key stakeholder, defining the project vision and ensuring the product backlog reflects stakeholder priorities.
- Scrum Master: This person facilitates the Scrum Team, ensuring adherence to Scrum practices, removing obstacles, and promoting efficiency.
- Development team members: Cross-functional professionals who design, develop, and test product increments, collaborating to create value.
- Stakeholders: While not a formal role within the Scrum team, they provide continuous feedback to ensure the project aligns with business objectives and user needs.
The Scaled Agile Framework
The Scaled Agile Framework is a structured methodology for scaling Agile across large organisations, focusing on alignment, collaboration, and delivery across multiple Agile teams:
- Program Increment (PI) planning: An extensive planning session where stakeholders and teams collaboratively establish goals and deliverables for the upcoming Program Increment (PI), typically spanning eight to twelve weeks.
- Agile Release Train (ART) execution: This embodies the iterative development cycle within SAFe, where multiple Agile teams work together under the ART, including iteration planning, development, and demos to deliver incremental value.
- System demo: Showcases the working system or solution increment at the end of each PI to provide transparency and gather feedback.
- Inspect and Adapt (I&A): Reflects on learning at the end of each Program Increment, where teams and stakeholders review PI results, identify areas for improvement, and develop action plans for the following PI.
- Release on demand: Reflects flexibility in delivery, allowing features to be released independently or as part of a broader solution based on business needs.
- In SAFe, continuous exploration, integration, deployment, and release are ongoing activities that involve continuously assessing user and customer needs, integrating and deploying new features, and adjusting the solution based on feedback and performance.
Project execution within SAFe relies on distinct roles, each contributing specific responsibilities to large and complex projects:
- SAFe Program Consultant (SPC): Provides expertise in Lean-Agile practices across the organisation, training, coaching, and facilitating the SAFe implementation.
- Lean portfolio manager: Oversees alignment of portfolio strategy with execution, ensuring investments are directed towards the most valuable initiatives.
- Release train engineers (RTEs): Act as chief Scrum Masters for the ART, facilitating PI Planning and driving continuous improvement.
- Product managers: Responsible for the program backlog, defining features and guiding the program to meet customer needs and achieve strategic objectives.
- System architects/engineers: Provide technical guidance for the ART to ensure system support for the enterprise's strategic themes and technical standards.
- Agile teams: Comprising cross-functional members, they execute PI objectives by delivering stories within iterations.
- Solution train engineers (STEs): Guide the Solution Train, ensuring the solution development process aligns with broader organisational goals. Business owners are key stakeholders who provide feedback and support for the ART's governance, compliance, and return on investment.
Product Quality in the Agile Model
In an Agile model, there is flexibility to incrementally deliver the product by focusing on specific features during sprints. This strategy allows teams to develop components thoroughly with ongoing review and adaptation, reducing defects and producing more refined components. While these components are of higher quality, completing the whole product takes time over an uncertain period.
In Agile projects, the concept of a Minimum Viable Product (MVP) becomes relevant when components are far from functional as a whole product. This acknowledges a product functioning at the bare minimum and signals the need for manual processes to supplement gaps in the technology solution.