Mastering Agile Principles and Scrum Implementation
The 12 Core Agile Principles
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable product.
- Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference for the shorter timescale.
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
- The most efficient and effective method of communicating information to and inside a development team is face-to-face conversation.
- Working software is the principal measure of progress.
- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant rhythm indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity—the art of maximizing the amount of work not done—is essential.
- The best architectures, requirements, and designs emerge from self-organizing teams.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Agile vs. Traditional Project Management
Traditional (Waterfall) Approach
- Initial well-defined requirements.
- Focus on detailed planning and control of execution.
Agile Approach
- Detects opportunities aligned with the business strategy.
- Iterative and incremental development.
- Short-term planning and control.
- Adaptive methodology.
Choosing the Right Methodology
When to Use Waterfall (Traditional PM)
- Product cannot be incrementally developed.
- Clear initial requirements are available.
- Teams have low confidence or maturity.
- Environments demanding high documentation.
- Projects requiring high external control.
When to Use Agile PM
- Changing environments are expected.
- Requirements are unclear or evolving.
- Small teams with fluent communication.
- High customer motivation environments (where the customer wants to collaborate and participate in development).
- Teammates possess high and regular skills (meaning team members have similar, broad skill sets to avoid bottlenecks caused by specialists being idle).
Understanding the Scrum Framework
Scrum Principles
- Collaborative development of the product with the customer.
- Focus on people, rather than processes.
- Product incremental development based on iterations, rather than exhaustive documentation.
- Responds to change, rather than strictly following a plan.
Scrum Roles and Responsibilities
Product Owner (PO)
The Product Owner is the person responsible for achieving the highest product value for customers, users, and other stakeholders. The PO manages the product related to:
- A defined product vision.
- The prioritization of work.
- The financing of the project.
The Development Team
The Team is responsible for delivering the increment. They decide, from the beginning to the end of the product:
- How many sprints will be executed.
- The time or effort required to complete each task or requirement.
- Who performs each task.
- Which actions to take in order to correct deviations.
Scrum Master (SM)
The Scrum Master is not the Project Manager. The SM ensures productivity and assists the team in all meetings, ensuring that Scrum principles are being met. The Scrum Master is a servant leader who makes sure that the methodology is being carried out correctly and removes impediments.
Key Scrum Artifacts (Elements)
Product Backlog
The Product Backlog is a constantly evolving, ordered list of everything that is known to be needed in the product. It is:
- Constantly re-prioritized by the Product Owner.
- Constantly refined by the Scrum Team.
- The definitive set of requirements for the final product.
Product Backlog Item (PBI)
A PBI describes the what (the customer-centric feature) more than the how.
Sprint Backlog
The Sprint Backlog consists of selected PBIs negotiated between the Team and the Product Owner during the Sprint Planning Meeting.
Increment
The Increment is the usable, potentially shippable result of the sprint.
Scrum Events (Meetings)
Backlog Refinement Meeting
The team collaborates with the customer to know exactly which requirements are needed. During this meeting, large, vague items are split and clarified, considering both business and technical concerns.
Sprint Planning Meeting
The Product Owner and the Team meet to determine which requirements are most important in order to create the first part of the product (the Sprint Backlog).
Daily Scrum (Daily Standup)
Used to monitor the status of the project and take any immediate decisions needed to reach objectives. This meeting is time-boxed to 15 minutes.
Sprint Review Meeting
The team meets with stakeholders, customers, and users to inspect what has been done and accept or suggest new things to start with the next cycle.
Sprint Retrospective Meeting
An analysis of the functioning and performance of the team, focusing on continuous improvement.