At Underbelly we are always striving to enhance our client and team experience. In order to do so, we recently took a 22 hour agile bootcamp and here is what we learned. Agile is an incremental and iterative approach to managing work. When teams use agile approaches they work through iterations of the product to create finished deliverables with the customer value always top of mind.
Working in an agile environment allows our clients to see value much quicker, which provides them with a competitive advantage since they have the product in their hands much quicker than those who work in a traditional project environment. Moving to agile may take a bit of time, since agile is best done within an agile environment. Agile is best accomplished when both internal and external partners commit to being agile. It is important that the project team collaborate and communicate often, and that we share progress with the client early to show transparency in all we do. Showing transparency is easy when we allow our clients into our world.
Agile work is done in sprints and sprints may last anywhere from one week to four weeks. Each sprint will go through the same cycle and will focus on these core elements: Sprint Planning, Standup, Sprint Review and Retrospectives. We have outlined agile best practices for sprint planning, daily standups and task management.
During Sprint Planning, the team meets to go over the project backlog. The meeting is split into two parts: What will be done and How will it be accomplished. As the team is reviewing the backlog, each ticket is discussed and estimated. An important component of the agile method is that each project member has control, therefore tasks are never assigned. Instead, the project team pulls the tasks for that sprint and assigns it to themselves.
Each task within the backlog is best achieved when we have detailed user stories. User stories are our guide to successfully meeting our project goals. There are several ways to write user stories but the most powerful are short simple statements that describe the desired functionality from the perspective of a user. Each user story should be independent, have value, be estimable, small and testable. You can read more about how Underbelly writes user stories coming up soon!
In the agile space, daily standups are a big part of the project. Standups promote awareness and communication. They also allow the team to ask questions when everyone is together, reducing the need for ad hoc meetings and allowing us to quickly remove blockers since all project members are in attendance. Agile standups are best done when we use the below questions as our guide: - What has been accomplished since we last met? - What is to be done before the next meeting? - Are there any blockers?
Many of us track our work with a task management system. These tools allow us to quickly know what we need to do and what we are doing throughout the day. There are many key elements to play a crucial role in task management systems and one of those is the project backlog. In agile, the acronym DEEP is used to help manage the project backlog. - Detailed Appropriately: Higher priority tasks have more detail than low priority tasks. - Estimated: Add estimates to each task to help with prioritization. - Emergent: Dynamic and always updated. - Prioritized: Prioritized by value it brings to the customer.
Given that agile helps drive customer value much quicker than traditional work, it is important to understand how to best determine what customer value is. One of the primary ways of determining value is asking the project team what the return on investment is for this project. What goals do we hope to achieve? Once you have determined the return on investment, ask yourself how you plan to achieve this goal. It has been found that most commonly 80% of the value is delivered with 20% of the work. So as you begin to prioritize your work, focus on the tasks that will give the most value.
There will be times you find yourself with several competing priorities, and that is when you should put the MoSCoW method into practice. Ask yourself the following questions:
- What must this project have to be successful?
- What should this project have to be successful?
- What could this project have to be successful?
- What would we like this project to have to be successful?
Once you have gone through these questions you will have a prioritized list of project features. We hope this agile overview will help your company determine if Agile is right for your teams.