Agile is an iterative and incremental approach to developing software that adheres to the Agile Manifesto and its associated principles. Usually includes small, dedicated, persistent teams who work in close collaboration with a business owner to deliver the highest-valued items first.
Waterfall to Agile.
Waterfall
In the Waterfall development method, all requirements must be gathered before any development occurs.
Waterfall utilizes a baselined set of business requirements to drive a sequential series of development activities with controlled outputs. The functionality and value is delivered as a completed product at the end of the cycle.
Agile
The Agile development method is based on iterative and incremental development.
Agile repeats the series of development activities in shorter cycles, called iterations, delivering functionality and value incrementally over multiple iterations.
The Agile team inspects and adjusts the quality of the product and process by demonstrating the functionality in each iteration, reflecting on what worked and what didn’t work, and making the appropriate improvements.
Finally, with Agile, Clients have the flexibility to change requirements and priority each iteration in response to changing business conditions or discoveries made along the way.
Agile Methodologies/Practices
The Agile methodology is a system of principles and practices that work together. Many successful Agile practices exist to help organizations complete better work, faster. You can visualize Agile as an umbrella, encompassing different industry practices to achieve Agile success. Most of the companies use of the two most popular practices in the industry: Scrum and Kanban. When the approach is Agile at scale, is used then the Scaled Agile Framework (SAFe).
Scrum
The name “scrum” is inspired by the scrum formation used by rugby teams. The high-performing, cross-functional teams of Scrum are modeled after the rugby formation.
Scrum High Level Step by Step (as shown in the visual to the below):
· A product owner creates a prioritized wish list called a product backlog.
· During planning, the team pulls a small chunk from the top of that wish list and decides how to implement those pieces.
· The team has a certain amount of time — an iteration (usually two to four weeks) — to complete its work, but it meets each day to assess its progress (Daily Standup).
· Along the way, the Scrum Master keeps the team focused on its goal.
· At the end of the iteration, the work should be potentially shippable: ready to hand to a customer, put on a store shelf, or show to a stakeholder.
· The sprint ends with an iteration review and retrospective.
· As the next iteration begins, the team chooses another chunk of the product backlog and begins working again.
The cycle repeats until enough items in the product backlog have been completed, the budget is depleted, or a deadline arrives. Which of these milestones marks the end of the work is entirely specific to the project. No matter which impetus stops work, Scrum ensures that the most valuable work has been completed when the project ends.
Scrum Events
Scrum Events are essential to the success of teams. They are meant to be succinct meetings purposefully structured to:
· Improve execution
· Enable focused outcome
· Promote team interaction
Vision Meeting
Define the project scope - Product Owner shares the initial vision, goals, objectives, and benefits. Features are created that represent the end to end system functionality that delivers value.
Agile Release Planning
Collaborate on a plan to determine objectives, goals, potentially shippable increments, risks, and target deployments.
Backlog Refinement
Decompose Features into User Stories, analyze, review, and refine User Story description and Acceptance Criteria, prioritize User Stories and size User Stories using relative estimation.
Iteration Planning
Identify what can be done this iteration by selecting prioritized User Stories to be included. Secondly determine how the work will get done: consider design, trade-offs, and Acceptance Criteria, and which Delivery Team members are willing and able to work a User Stories. Finally the team commits to the chosen work.
Daily Standup
Delivery Team members attend this short and concise meeting to provide a status on what work was done yesterday, what work is planned for today, and to identify roadblocks.
Iteration Demo & Review
The Delivery Team showcases the work that was completed and accepted during the iteration and review probable plans for upcoming iterations.
Iteration Retrospective
The team talks about what worked well during the Iteration, what did not, and to create any necessary action items to drive improvements.
Scrum Team Roles
This image shows a visual layout of a Scrum Team
The Scrum Team consists of a Product Owner, the Development Team, and a Scrum Master. Scrum Teams each have 5-11 members (including Scrum Master and Product Owner) and are self-organizing and cross-functional. Self-organizing teams choose how best to accomplish their work, rather than being directed by others outside the team. Cross-functional teams have all competencies needed to accomplish the work without depending on others not part of the team. The team model in Scrum is designed to optimize flexibility, creativity, and productivity. The Scrum Team has proven itself to be increasingly effective for all the earlier stated uses, and any complex work. Scrum Teams deliver products iteratively and incrementally, maximizing opportunities for feedback. Incremental deliveries of "Done" product ensure a potentially useful version of working product is always available.
Above Definition as well as more details on the roles below can be found at: https://www.scrumguides.org/scrum-guide.html#team
I hope this information has been useful to you and good luck!
Comments