Agile is an iterative approach to project management that helps teams deliver value to their customers faster and with fewer issues (compared to other methodologies like waterfall (sequential)). Instead of working and releasing everything on a big launch, an agile team delivers work in small, but consumable, functional products. Requirements, plans, and results are evaluated continuously so teams have a natural mechanism for responding to change quickly.
Although the project manager or a product manager typically prioritizes the work to be delivered, the team takes the lead on deciding how the work will get done, self-organizing around granular tasks and assignments.
Teams choose agile to mainly respond to changes in projects from customers quickly without derailing a year's worth of plans. "Just enough" planning and shipping in small, frequent increments lets the team gather feedback on each change and integrate it into future plans at minimal cost.
Agile frameworks (specially for software development, like Scrum, Kanban, or Extreme Programming (XP, however not covered in this document)) form the basis for popular software development processes like DevOps and continuous integration/continuous deployment (CI/CD).
Scrum is perhaps the most popular agile framework in use today but not all agile is Scrum. Scrum is a framework for managing work designed for small, cross-functional teams of 5 to 9 people who break their work into actions that can be completed within a consistent period of time called a sprint.
Kanban is a methodology that improves output by reducing flow through a system. Typically, the output increases when fewer items are worked on simultaneously, although the right amount of work in progress (WIP) will vary for each team and system. Kanban helps to find the right workflow and WIP limits by giving you data to influence your system design.
There are six key elements in Kanban:
The most important factor in Kanban's effectiveness is that all work items and their statuses are shown on a board.
Checking the status of an item by seeing which column it's in. Teams decide which columns make sense for their workflow. Therefore, a Kanban board can vary from team to team.
When the status of an item changes, a team member will move it into another column.
For example, if it’s decided to work on an item called "New login button," then it would move its card from the "To-Do" column to the "In Progress" column.
In resume, the Kanban board is important to visualize work status and understand what work to prioritize next.
Scrum teams consist of team members, a Scrum master, and a product owner. Typically, Scrum is implemented when a large project can be broken up into 2- to 4-week sprints. Scrum focuses on feedback loops through a ceremony called the "retrospective." The unofficial motto of Scrum could be "inspect and adapt."
Other agile frameworks, notably kanban, predate the agile manifesto. But these frameworks are considered to be agile because they promote the values outlined in the agile manifesto. There are too many agile frameworks and approaches to scaling agile to list all of them here.
The Scrum Master is kind of the meeting planner in this whole shindig. It’s their job to ensure that all the meeting rooms are booked on the appropriate time, all the supplies needed for the meeting are available, all the team members are present and prepped up for the meeting, and all of the devices that will be used in the meeting e.g. video conferencing devices and other connectivity modules, are ready to go when they are needed.
It is also the job of Scrum Master to manage the time properly so that there is a complete alignment on the sprint goal before the meeting is finally concluded. In general within the Agile framework, a Project Manager can become a good candidate for Scrum Master.
The Product owner’s responsibility is a little more specific. They have to prepare all of the files and other items that are in the backlog before the meeting commences. They have to clarify the details of each and every item present in that backlog.
They also have to be the ultimate resource to the team when questions are raised around acceptance criteria or any use case. This is a very important meeting for a PO, and they should prepare heavily for it. Similarly in the Agile framework, a Product Manager can become a good candidate for Product Owner.
Naturally, the people that make it all happen are also going to be present in the meeting. These include developers, test engineers, designers, etc, roughly all of the people that are a part of the workforce working on the product.
All of these people have to be properly active in the meeting and they are required to ask a lot of questions so that they can leave the meeting with a crystal clear understanding of what they have to do and what is going to be their next assignment in the upcoming sprint.
When organizing a first-ever sprint meeting, just keep one thing in mind that every entity in the Agile paradigm improves over time and if the first meeting doesn’t go well then can always improve itself into performing well the next time.
There is a set of prescribed events in Scrum, each serving a specific purpose. These events are designed to reduce the need for other events (Scrum does not specify that). They are all timeboxed, which means that they have a maximum length.
There are five main Scrum events:
A Sprint is the heartbeat of Scrum. It is the cadence of the team and should be respected by everyone involved with the Scrum Team.
A Sprint is usually 2 or 3 weeks (although 1-week or one calendar month Sprints are acceptable). The team will attempt to begin, finish, and release work during this time. The team should maintain the Sprint length unless it decides to experiment with a different one. Sprints should not be terminated early or extended to fit a team's needs. The constraining nature of the Sprint timebox is one of its biggest benefits.
Some characteristics of Sprints:
Creating a Sprint Goal and selecting which items to work on during the Sprint is done during the Sprint Planning meeting. Sprint Planning is timeboxed to a maximum of eight hours for one calendar month Sprints.
Sprint Planning focuses on answering the following questions:
The Product Owner begins the planning session by discussing the Spring objective (the Sprint Goal) and which items, if delivered, would meet the goal.
The Development Team discusses how it will deliver these backlog items. It typically does this by breaking the items into smaller tasks and estimating them. By crafting a plan for delivering these items, the team will then determine if it can confidently deliver the goal.
The Product Owner will discuss these items with the team during planning, answer questions, and often make trade-offs. For example, perhaps a feature cannot fit into the Sprint, but part of the feature could be done. The Product Owner would decide whether that is a good approach. At the end of the meeting, the team agrees and commits to achieving the Sprint Goal through delivering a Sprint Backlog plan.
The Daily Scrum is a meeting of no more than 15 minutes where the team inspects their progress towards the Sprint Goal and decides if they need to make any adjustments to their plan (i.e., the Sprint Backlog). The secondary purpose of this meeting is to listen for opportunities to help teammates while requesting help if needed.
It is more common to have this meeting in the morning, although some teams working across multiple time zones may schedule it for later in the day. The best time is when the team finds it useful and effective.
It is important that the meeting takes no more than 15 minutes. If it goes longer, the team should consider why they cannot keep this meeting within the timebox. One possible reason is that members are facing a barrier. The team should discuss this and how best to overcome it. If they cannot remove the impediment on their own, the Scrum Master may need to assist.
At the end of a Sprint, the Scrum Team will hold a Sprint Review to show key stakeholders the completed items. Many organizations choose to have an open invitation for Sprint Reviews.
Anyone who is interested can watch the team demonstrate what they have built and discuss how the Product Backlog adapts with the Product Owner. Generally speaking, the Product Owner will know who to invite to the Sprint Review, especially initially.
Holding Sprint Review at the end of the Sprint has many advantages:
Scrum Teams will hold a Sprint Retrospective meeting at the end of each Sprint so that all members can give input on what is working well and what is not.
The team can discuss any topic in the spirit of continuous improvement at the Sprint Retrospective. This could be how the team communicates, collaborates, solves problems, engages customers, or anything else!
Theme Klb4 v1.2.2 was with by Lauro W. Guedes
Building with Grav flat-file CMS and based on Quark Theme