When you realize your project is starting to fail, it is essential to have the proper response, and understanding the steps to move the project forward and out of trouble is critical. Each project is different, but there are a set of general steps that help turn the project around.
Firstly it is crucial to take stock of where the project is at, understanding the state of all the code, where the pain points are, and how off track it is from where it should be. After that, it is important to implement weekly check-ins and business stakeholder QA to have a tight feedback loop as the project progresses. Once those two steps are in place, the development team should implement processes to increase code quality as well as implement iterative releases.
1 – Taking Stock
When turning a project around, the first step is always to take stock of where things are at and see what progress has been made. Doing this will help you understand what has gone wrong and right so far in the project. Has there been scope creep? Has a large amount of bugs derailed the project and slowed progress down to a crawl? Taking stock can help make a plan of attack for turning the project around.
2 – Hands-on Business Stakeholders
After taking stock, the next important step is to have a business stakeholder be more hands-on. Having scheduled regular check-in meetings and reviewing new features will help give an idea of exactly how the project is progressing compared to the new estimated timeline.
Having regular check-ins and reviewing completed features will ensure you are abreast of the velocity of new features and if the project is staying on track going forward. Another benefit is seeing what is being completed right away and quickly make minor changes.
3 – Increase Code Quality
One of the best ways to turn a failing project behind is to double down on code quality. Often if a project is slipping, one of the first things to go is code quality. In the name of speed, tests are cut, and quick fixes to code are pushed in without proper code review. Most of these shortcuts can be rationalized at the moment, but it will significantly reduce the development team’s velocity and increase bugs when it happens.
There are a few useful approaches to increase code quality in a project. I go into much more detail on the techniques in this blog post, but I will give a quick rundown here. The three practical ways to increase code quality are establishing effective code review, using proven design patterns, and testing the code rigorously.
4 – Iterative Releases
The final step is to release code iteratively. That could mean deploying features as they are completed or releasing a working portion of features so that QA and stakeholders test them and make sure they are bug-free and meet business requirements.
A standard way to do iteratively release code is to set up continuous deployment so that whenever features are finished, they can automatically be deployed on staging or production environments. Continuous deployments are helpful because it takes all the friction out of deploying features and does it automatically.
Turning around a project is not easy; it takes a whole team to buy in to make a change. Getting buy-in from the entire team is essential when following the four steps above. If the development team or business stakeholders aren’t bought in, then it will be hard to effectively turn your project around, even if implementing these steps.