Reasons for Delay in an Agile Project
A delay, in general, is getting something done later than it was scheduled for thereby causing distress and inconvenience. Likewise, delay is considered to be a waste in the Agile terminology. In an Agile project, a delay causes discontinuity and thereby causes other wastes like relearning, task switching etc.
- Project approvals - waiting for projects to get approved with developers sitting around thus leading to waste of time and money.
- Waiting for a proper prioritized list of requirements - so that work can get started.
- Waiting for resources to become available – this is usually a sign to introspect if the organization is taking too much work.
- Change approval processes – this is a wasteful process itself. If this happens too often then it might be easier to reduce the sprint length.
- Increases in work-in-progress - the more work-in-process, the more developers have to wait before they can deploy their code to production.
- Delays getting client to sign-off on acceptance tests – this is true not only for sign-off but also getting client time for resolving requirement issues, give feedback on demos etc.
Jack mentioned that there are many delays in between the sprints too. The team should identify and eradicate the delays by putting in some hard work. He suggested,
You have to ensure that the backlog is properly groomed. So you need an effective PO who understands the market, the client etc. You need well written stories. You need estimates from developers early so the PO can make decisions ahead of the planning meeting. It's all about designing delays out of the system so that there are smooth hand-offs at all the transition points. And it's worth mapping this end-to-end process and identifying delays at each of these points.
- Gold Plating – when a team spends too much time on enhancing a functionality which has not been requested by the client.
- Neglecting quality control - time pressure can sometimes cause programmers or project teams to be tempted to skip testing. This frequently causes more delays than it prevents.
- Working on too many projects at the same time – Task switching leads to more problems than solutions
- The ‘one-solution-fits-all’ syndrome – trying to fit an existing solution to any new problem.
- Mediocre personnel – technical or process insufficiency causes delays at multiple levels.
- Customers fail to fulfill agreements - when customers do not react in a timely manner to areas in which they must be involved, projects can come to a standstill.
- Tension between customers and developers - If the project is not proceeding well enough, the tension can cause additional delays. It disturbs the feeling of trust and the working atmosphere.
Another interesting reason for delays was suggested by Robert Neri when he pointed out that the difference of Agile adoption within an enterprise might also cause delays. He mentioned,
One of the things we often encounter is that Support organizations cannot move as fast as the project sprints and tend to delay Agile projects. Similarly, non-Agile projects have a difficult time addressing the integrations with Agile projects.
Thus, if your Agile project is getting delayed try to map the reasons to one of the common causes of delays. Once you identify the cause, it would be wise to start working on it to resolve it immediately. This would reduce one of the biggest waste in the project.