The Fast Start Guide To Troubleshooting Your Iterative Development Process
I didn’t like the opening line to this article. So I followed an iterative development process to fix it.
All of those lines I wrote were true and accurate – just not the best way to start off this article. However, they accidentally gave me the perfect example of an iterative development process. If something doesn’t work the first time (or even if it does, just not as well as it could have), you learn from your mistakes and make adjustments for your next try.
If you’re like most PMs, you probably already know that iterative development is much easier said than done, and building a successful process involves plenty of iteration in and of itself.
But sometimes they don’t work out how you expected them to. So today we’ll be talking about troubleshooting.
In this article, we’ll cover:
- What iterative development processes are
- What situations may throw them off course
- What to do in each scenario
Visor is a project portfolio management tool that integrates with the apps you already use, like Asana and Jira, to help you create and share beautiful, modern Gantt charts, Kanban boards, Milestone Timelines, and more. Try it for free today!
What is an iterative development process?
When we refer to an iterative development process, we’re talking about using this same style of trial-and-error methodology in software development. For project managers, iterative development is the core of Agile methodology, in contrast to Waterfall development, which tends to be very linear.
It can help you respond to problems much faster than a more structured approach, and fix them on the fly. It can also help your team be more aware of issues, ranging from communication problems to chronic bugs, and work to improve them in small ways over time.
Any situation where you learn from your mistakes and try again with improvement in mind is, technically, an iterative process.
Playing the cello, pulling off an ollie, and learning to sew are all examples of iterative processes. You play a song, try the skateboard moves, or make a dress and, inevitably, you make mistakes. But you examine what you did, spot the mistakes, figure out what went wrong, and work to avoid those same mistakes the next time.
“Iterative processes enable step-by-step development with frequent reviews and feedback loops based on a roughly finalised part of a project or product. These cycles are repeated several times to develop a project or product to the desired final state.” – International Association of Project Managers
But even with this agile, responsive way of creating software and writing code has downsides. One big one is that, where Waterfall offers dedicated time to note problems after a project, Agile has so many sprints, retrospectives, and after-action reports that actual improvement can get left behind or lost in the noise.
But that’s a problem that, luckily, we can help you fix.
Where Troubleshooting Helps
Below, we’ve gone through some of the broad categories where we see PMs expressing frustration in the iterative development process, and offered some troubleshooting to help you start solving the problem.
Iterative development process problem 1: The original scope was inaccurate
Often the easiest problem to spot, but one that can completely derail all the following work. Small issues, like disconnect from objectives or unrealistic goals, are usually quick fixes. It becomes a bigger problem when you need to juggle stakeholder investment in inaccurate scopes or have systemic issues in the asking process.
Work on tackling this issue:
- Give team leads an opportunity to connect directly with stakeholders to find mutual feasibility. Detailed reporting can help you come prepared.
- Establish a more rigorous requirements gathering and management process, involving stakeholders more closely and regularly to ensure clarity and stability of requirements.
- Revisit your estimation methodology to create more accurate predictions.
Iterative development process problem 2: You’re suffering from communication gaps
It doesn’t matter how tight your process may be: if you’re having breakdowns in communication, you’re not utilizing your process properly. This is a very common way teams accidentally undermine their own work.
Invite better communication:
- Implement regular and structured communication practices such as daily stand-ups and retrospectives. If you’re already using these methods, consider looking into them to make sure they’re doing what you need them to.
- Use tools like Visor to improve data reporting to create clarity.
Visor’s dashboard view
Iterative development process problem 3: You can’t identify where something has gone wrong
Sometimes you see the result of a problem way before you know what the problem is. This is especially true of bug fixes, but it can crop up in unexpected situations, too (unhappy clients for surprise reasons, anyone?)
Keeping an eye on due dates, timelines, and milestones is one way to spot when something went off-course, even if you’re not yet sure why. (If you want to untangle the why, start with the time and then implement the five why method to help.)
A timeline in Visor
If you’re struggling with this, consider:
- Ensure that unit, integration, and system tests are comprehensive and regularly executed.
- Strengthen the testing process by incorporating automated tests, continuous integration, and continuous deployment pipelines.
- Talk to all team members: someone else may have noticed something you missed, or may not be speaking up about a problem that’s obvious to them.
Iterative development process problem 4: You’re spotting your mistakes, but not learning from them
This particular problem comes in two forms. In the first form, you identify your mistakes but don’t know what to do about them. This may be because you’ve never needed to solve this particular issue before and feel paralyzed, or it may be because something is blocking your ability to handle it.
In the second form, you’ve identified your mistakes, you know what to do next… and that’s where your process stalls out. Usually this is the result of information silos.
In either case, you can address the problem:
- In the case of new problems, you may try to find someone outside of the team who can assist you. This is a fantastic opportunity to find a mentor in your field who can help introduce you to new ways of problem solving.
- Go on a silo hunt to try and find places where information “goes to die.” Is it a messy comment process? Maybe a document nobody reads? Follow up on anything still open.
- Create a stage of your workflow where your team documents and registers their process. Put a specific stakeholder in charge of following up on documented issues.
Iterative development process problem 5: You’re coming to the wrong conclusions about mistakes
This can be an especially frustrating problem to have in your iterative development process, because it often feels as though you’ve already tried everything, but nothing is working.
To see your mistakes with fresh eyes:
- Tap in a different leader for this process. Deputizing more junior members often leads to big breakthroughs when the usual methods just aren’t working.
- If something feels right, maybe it is… just not for this scenario. Try putting the suggested fix on hold and then recycling it into a similar (but unique) situation later on.
Iterative development process problem 6: You’re buried under tech debt
A final boogeyman in the iterative development closet is a familiar one. You know the issues, you know what you need to change, but you’re dealing with so much technical debt that you just don’t have the ability to implement changes.
A backlog kanban in Visor
Start sifting through the issues:
- Spend some of the team’s time on a backlog clear out.
- Allocate time in each iteration for refactoring and addressing technical debt.
- Use tools and practices like code reviews, automated testing, and continuous integration to maintain code quality.
Iterative Development can Unlock Your True Potential
Iterative development is all about change over time. (Recognize that sentence from my rejected first lines? There’s recycling in action!) Don’t let the usual sticking points be what holds your team back from their best work yet.
If you’re looking for a way to gain more insight and clarity around your team’s processes, try Visor. Visor is a project portfolio management tool designed to help you connect with stakeholders and develop more detailed reports with better actionability. Try it for free.
If this article helped you out, read more about improving your processes: