Introduction to Agile
Before we go into our overview of Agile Scrum, let’s briefly look at the most popular preceding model:
– to Design
– to Implementation
– to Verification
– to Maintenance
Now let’s dive into the Agile methodology, specifically Scrum
Who uses Agile Scrum?
IT, universities, military, automotive industry, FBI, marketing agencies, construction, etc.
What is Scrum?
It’s often known as an “iterative approach” to development. Scrum is an agile framework within which people can address complex adaptive problems, while productively and creatively delivery products of the highest possible value.
Lightweight agile project management framework that can be used to manage iterative and incremental projects of all types. Collection of rules, events, artifacts to create iterative projects.
– Break larger projects into pieces.
– Facilitate teamwork.
– Continuous customer feedback.
There are typically three roles
Product Owner – Represents the client’s interests. Responsible and accountable for the results. Focuses on the work, manages business and market requirements. Primary role: Motivate team, align them with goal and vision of project. Single person. Decisions.
Scrum Master – Facilitator responsible for helping all team members follow theories, rules, and practices. Organizing meetings. Dealing with challenges and bottlenecks. Think “team coach”.
Development Team – People working together to build the product(s). Usually “Developers”.
Artifacts are records that provide project details, including product backlogs, print backlogs, and product increments.
Product Backlog – What needs done. Ordered list of tasks and requirements needed by the final product. Constantly evolving. Includes description, priority order, time estimate, and value it has.
Sprint Backlog – List of all items from the Product backlog that need to be worked on during a Sprint.
Burndown Charts – Graphical representation of the amount of estimated work remaining.
Product Increments – Sum of work completed in a Sprint, combined with all work completed during previous Sprints.
How does Scrum work?
The general structure of an Agile Scrum project is as follows:
(1) Create the Product Backlog: Product Owner. The Product Backlog is a prioritized list of work that the team intends to work on from inception to the medium term future. Depending on company or project structure, “Product Backlog” might be more accurately named “Team Backlog”.
(2) Sprint Planning: Product Owner + Team. Decide what to work on from the Product Backlog. The Sprints will be decreasingly granular as you move down the Product Backlog. What does that mean? The top items on the Product Backlog will be more granular, meaning planned in more detail, in the beginning. As the team accomplishes a task on the Product Backlog, moving “down the list,” it is easier and more practical to increase granularity for the subsequent upcoming tasks. This increases flexibility because the “wave has been collapsed” in terms of what has been done, what we know, and even any potential changes in the overall plan have surfaced.
(3) Daily Scrum meeting: Scrum Master + Team. Each Development Team member shares the following during this meeting. An easy way to remember the following items is to think in terms of past, present, and future, though the third item is not _necessarily_ future-oriented:
– Yesterday: what Task(s) they completed since the last meeting.
– Today: what the member are working on.
– Future: any difficulties or obstacles they have encountered or anticipate that will slow or stop us from meeting the current Sprint goal.
Some teams may at this point do a quick review of the quantity of remaining work and come up with a mitigation strategy if something is off with being on track to meet the current Sprint goal.
(4) Sprint (Iteration). Usually 1 to 4 weeks each. 1 to 2 week sprints are optimal.
(5) Sprint Review Meeting. Progress shared by Development Team. Product Owner shares what is remaining on Product Backlog.
(6) Sprint Retrospective Meeting (Debrief). Scrum Master and Development Team discusses what they did well and what they could have done better. Maybe one/some are overloaded with work, tech limitation, etc. Team discusses ideas for fixing issues, improving efficiency, etc.
(6) Product Owner determines: Is budget exhausted or is product finished? No? Repeat.
What is a Scrum Board?
For organizing Tasks, progress, etc. See “Best Agile Project Management Tools” section below.
Why are Sprints considered a “forecast” rather than a full commitment?
It is often difficult – if not impossible – to fulfill many self-imposed commitments. The benefit of a “forecast mindset” for sprints is that it is (a) more flexible; and (b) based on assumptions based on reliable information, common sense, and evidence.
Some roles that are not technically part of Scrum but found in many organizations
– Stakeholders: Customer and/or end-users. A good Product Owner will work diplomatically and authentically with Stakeholders to insure expectations match reality.
– Managers: As Teams using Scrum become more autonomous, self-organizing, and efficient due to Scrum, traditional “command & control” structures can throw a wrench in the gears of the Project and _must_ be abandoned in favor of true Agile style leadership. This change can be extremely difficult for many managers. In fact, this kind of change can require a huge degree of emotional intelligence (EQ). A skillful Scrum master can help managers make this transition.
– Executives: As this role tends to define everything from budget and rules to company culture, Executives _must_ support Managers in their role(s).
Goal we want to attain
Everyone feels empowered to creatively solve problems! When all gears are “greased” and running at optimal efficiency, the entire engine runs better. More than that, the engine depends on every gear doing its part.
Best Agile project management tools
(ranked from most popular at top)
– Jira (most popular)
– Pivotal Tracker
– Nostromo (Trello on steroids)
– Easy Redmine