Waterfall project management is a well-known method in software development, and its basic process is story -> development -> test. It is assumed that the final result is right, if each phase is done correctly. Microsoft uses the Waterfall method and it works well.
However, it has a relatively high failure rate, for the market and requirements are constantly changing. Software pioneers conducted a series of researches, thinkings, and summaries about the problems found in the Waterfall methodology and finally came up with the concept of Agile.
What is Agile?
Agile is an approach that helps one iterate on processes in the Software Development Life Cycle, such as development, testing, and so on. This technique has advantages, including the ability to produce high-value functionality in fast implementation times, which was previously a problem for the traditional waterfall approach. It also helps to enhance customer retention and satisfaction. This is accomplished by splitting down the product into smaller units/builds, allowing the operations to run concurrently. Agile encourages collaboration and face-to-face contact.
Agile Manifesto was released in 2001 by 17 independent-minded software practitioners.While the participants didn't often agree, they did find consensus around four core values.
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Popular Agile approaches include
- Feature Driven Development (FDD)
- Extreme Programming (XP)
- Lean Software Development (LSD)
- Adaptive System Development (ASD)
- Dynamic Systems Development Method (DSDM)
What is Scrum?
Scrum is a simple and lightweight framework that aids individuals, teams, and organizations in creating value by allowing them to respond to complex problems.
According to Scum Guide 2020,
Scrum requires a Scrum Master to foster an environment where:
- A Product Owner orders the work for a complex problem into a Product Backlog.
- The Scrum Team turns a selection of the work into an Increment of value during a Sprint.
- The Scrum Team and its stakeholders inspect the results and adjust for the next Sprint.
Scrum can be understood in the 3-5-3 structure.
- 3 roles: Product Owner, Scrum Master and the Team.
- 5 events: Sprint, Sprint Planning, Daily Scrum, Sprint Review and Sprint Retrospective.
- 3 artifacts: Product Backlog, Sprint Backlog and Increment.
Agile vs. Scrum
The primary difference between Agile and Scrum is that, while Agile is a project management framework based on a core collection of standards or concepts, Scrum is a specialized Agile approach for project management.
|Agile is a methodology||Scrum is to implement Agile|
|Leadership plays a significant role in agile
||Cross-functional and self-organizing team|
|simple design and execution||innovative and creative design and execution|
|Tasks are managed by the project leader||Issues are addressed by the entire team|
|Customer satisfaction is the top priority||The top priority is not customer satisfactory|
|Face-to-face communication is emphasized||Delivering the maximum business value is the focus|
|collaborations and in-person interactions||Daily scrum meetings define the responsibilities of Scrum roles|
Is Scrum the only one of Agile methodologies?
Agile an umbrella term for all the methods and methodologies that follow the values and principles described in the Agile Manifesto. The below is a depiction of the Agile Umbrella.
- Scrum for collaboration and focus
- Kanban for efficiency
- XP (Extreme Programming) for development practices
- Lean for eliminating waste
- Feature-driven Development (FDD), for organization and reporting
- Dynamic Systems Development Method (DSDM) for meeting deadlines and budgets
- Crystal Methods for a customizable process framework