What to Do When your Software Project Becomes a Monster
Your project’s scope has increased, more and more. Deadlines keep getting pushed back. Costs have been increasing. These things seem to be happening outside of your control. You’ve created a monster.
Your monster could be a new project, an existing software application or a website that has been around for a few years and has started to “grow arms and legs.” Perhaps it is becoming too complex, time consuming or expensive to maintain. Perhaps it is too hard and takes too long to add new features and upgrade it, or maybe it is having more and more problems (small or large) and everyone is getting frustrated. It could simply be slow or look outdated.
Here are 5 things you can do to tame the beast.
1. Review the scope of the project.
Ask yourself: How have the goals of the project changed? How have your needs as the customer changed? Do a complete assessment and document your findings. Talk to everyone involved with the project. Nothing is more valuable than real-life data and feedback from actual users.
Keeping detailed notes of each stage of the project can help you determine whether or not you're staying in line with the goals you originally set. As the development carries on, these notes will help you identify when things have gone awry or if changes need to be made.
2. Rewrite the goals and expectations of the project.
If things have changed, use your assessment and newly gathered information to rewrite and clearly document the goals of the project. Make sure that you are clear on your "big picture" aims (including if they have changed). Any changes of big decisions you make need to be aligned with these goals.
3. Make an honest assessment of where things are.
Now that you have your notes on original goals and can see where and how the project has evolved, it's time to take a good look at the situation. Go over your planned alterations with your developer to be sure all needs are covered and any necessary changes are reflected. Every project is going to have changes. This is your opportunity to clearly define what those changes need to be and where you need an honest assessment of the problem(s). You may need to make some hard decisions.
Is there a communication problem? Is there an understanding problem? Has your technical team bitten off more than they can chew? Are you being unrealistic or are things changing too much for the development to keep up?
The aim here is not to assign blame that derail things further. Rather, you want to shine an honest, uncompromising light on the issues in order to understand how to move forward. Using a process like “5 whys”might help get to the root cause of any issues.
Tough decisions should not be shirked either. Do you need to reduce your plans in order to actually make progress? Do you need to change the team?
To determine how things have rattled out of control, talk with your team about their feelings surrounding the project. If a beta program is in place, how is it working out for them? What would they like to see change? See what issues others have identified and compare them with your own concerns.
4. Communicate clearly and consistently.
Have a meeting with all team members. It is vital that everyone involved is familiar with the goal of the project, any problems, and the root causes for those lingering issues. Projects that are not going well can be emotionally charged. Your challenge at this stage is to listen to everyone and to find the way to align them back to the project's goals.
5. Move forward with your goals.
Have regular status meetings to stay on top of potential needs for change. Ensure that all team members and the your developer are informed and on the same page. This will go a long way toward keeping the project and changes under control.
Be sure to have regularly scheduled progress reporting in place. You should be reviewing work-in-progress with your developer at regular intervals, like once a week.
Now you have a clearly defined and well-documented goal. You have identified the biggest issues and have made some tough decisions about how to move forward. You have a system in place to manage changes. You, your developer, and your team members are engaging in consistent and productive communication. You have tamed the beast! Now you just need to make sure the monster doesn’t rear its ugly head again. Following these steps will ensure your monster is as good as gone.
Need help taming your monster? Contact us today to find a partner to tame your beast.