Solving Your Problems with Agile Software Development
By Howard Young
If you believe that using an Agile development process will solve your development issues, think again, all processes — including Agile — exhibit problems when they are not well defined, repeatable and measurable.
In this quick briefing, I wanted to give some insight to why you are having limited success with your Agile software development and provided you with some actions you can take to get back on track starting today.
Why do you need to know this?
No matter what role you are in, there is a good chance that you are frustrated with Agile. Perhaps the development time is taking too long, things are not getting done, the software is chock full of defects or something “just ain’t right.” Regardless, it is possible to change your current state to an optimized process that is rapidly humming along.
What do you need to do?
The first step is to standardize your Agile development within a framework and use a template system. The goal is to define a repeatable development system which can be measured and improved upon.
There are many SaaS apps on the market, such as Rally Software, that provide a framework. But if your process is managed using Excel or other collaboration tools like Evernote or Trello, you can still manually standardize on these tools with the aid of a template system.
A template system simply employs a TO-DO list per each task derived from the user story. The discrete done/not-done state gives a quick indication of where the developer is in the cycle for the task and provides necessary sub-tasks required to complete the job.
How to Implement a Template System
Producing a template is quite easy to do. Just look at what you currently are doing and create a checklist for each type of task. You should include obvious and non-obvious work items such as code reviews or other defect removal techniques which your company requires. Ideally, you should be able apply a template towards a development task so that a new hire could understand what is needed to accomplish the job.
Some templates which you may want to create are:
- User story template
- Architecture template
- Implementation template
- System integration template
Your first sprint with templates may be disastrous because you will observe that some developers were not following the company’s guidelines and were naturally eliminating the non-value added stuff. This observation is what you use to refine your process, or checklist, so that your product is optimally produced with the least amount defects.
For instance, at one company I worked for, our bug rate was accelerating causing our backlog to stall. Inserting an integration task that performed a more comprehensive test than what developers normally test to dramatically reduced the errors once the release was delivered to QA.
Take Action Today
Remember that you own your Agile process and software development problems are resolved by identifying the issues with your process. Start first by using a framework to keep things repeatable. Second, look at what you are doing and what is not being done. Third, introduce new or eliminate process steps, measure then repeat.