Today many teams and companies are turning to Agile product development. Scrum is among the most popular choices. The promises from Agile are several. Still it is good advice to do a couple of things before you go Agile. In the following I will list and discuss five things that I propose you do before going Agile.
- Identify your Why
- Inform and educate
- Define your engineering practices
- Define your Product Backlog
- Set your definition of Done
Identify your Why
Agile in it self is not a goal. Therefore it is of importance for a successful implementation to understand and know why you want to go Agile and what benefits you expect from going Agile.
Among the companies already using Agile the answers to why varies. The most common answers are:
- to shorten time to market for the product
- to increase the control of the product development project
- to increase the quality of the product
- to reduce the risk of developing the product
- to maximize return on investment of the product
- to increase probability of success
Other answers are:
- to allow customers, users, and stakeholders to be active participants throughout the product development project
- to better deal with rapidly changing requirements
What is your Why?
Inform and educate
Since Agile ways of working often include different ways of thinking than traditional product development it is well advised to inform and train the team or teams turning Agile as well as the rest of the organization. Often Agile development will have an effect not only on the development department but also other parts of the organization.
I suggest you do a short general introduction for everyone affected within your company, followed by the possibility to ask questions also after the information. For the teams and other roles directly affected by working according to Agile you can offer a more thorough training. My advice is to do just in time training. Training in iteration planning is typically best suited to save until it is time for the first iteration-planning meeting. The same goes for training in how to run other meetings and activities.
Define your Engineering Practices
One of the important parts of Agile is the Engineering Practices. In eXtreme Programming (XP) the engineering practices is an integral part. In Scrum they are up to the team or the organization to choose. It should preferably be up to the team. In both cases you benefit from having a baseline of existing practices and a plan on which practices to add and introduce.
The practices you choose to add and introduce should be practices that help the team increase their productivity, increase the product quality or decrease the lead-time.
Define your Product Backlog
The Product Backlog is perhaps the most important artifact of Scrum. It contains the “What” of product development. It should be based on the Product Vision and it should constantly be up to date. Any team having a Product Backlog that is current and up to date will increase the probability of increasing their productivity.
Set your Definition of Done
In Agile we want frequent feedback. We want feedback both on what we have developed and on how we are working. One way of getting feedback is to end each iteration with a demonstration of what we have done. The team should focus on developing working Software that is possible to demonstrate and deliver at the end of each iteration. Developing a Definition of Done helps the team to focus and it helps stakeholders to know on what level to offer feedback.
These are five things I recommend to do before going Agile. What do you recommend? Please add your comments.