We all have been in situations when there are crazy crunch times before a release. Folks are working long, hard hours. Frequent last minute builds are done to fix issues and put in functionality. New bugs are then found. Project Managers are at their wits end. Teammates are brought in from other projects to ‘help’ at the last minute, putting those projects under stress. There are status meetings every 15 minutes or so. Customers end up unsatisfied. This is not good for the health of the project or everyone involved. It leads to increased risks and issues.
Sometimes these situations are hard to avoid, but they should be the exception and not the rule. If it becomes the rule then the consequences can be major: failed projects, employee burnout, low morale, and high turnover.
What can be done to avoid crazy crunch times at the end of a release? I have seen a number of successful and unsuccessful projects. Here are some tips from experience to help you work smarter and not harder. Let the planning and processes do some of the heavy lifting. These tips will work on waterfall, iterative, or agile projects.
- Include time for setting up environments, VPNs, getting usernames and passwords, training, etc.
- Spread work evenly throughout the sprints or release.
- Make sure you have the right people for the right job. Get them involved early in the project, such as QA.
- Don’t wait for the last minute to bring folks on board, they take time to ramp up.
- Get functionality to the front-end developers and QA early so they are not scrambling to get their work done at the end.
- Complete the technically difficult and integrated features early since they can lead to bugs.
- Have the project ready to test and review days before the release date.
- Schedule a walkthrough of the product before delivery to the client. This is a powerful tool that lets the project team and the customer have input.
- Track when project members have time off and add that to the schedule.
- Plan to celebrate successes. Take the team to lunch, use gift cards, team outings, etc.
- Know the team’s cadence. Pace yourself and do not bite off more than you can chew.
- Calculate the team’s capacity to know what can realistically be accomplished.
- Have developers, front-end, QA, and others add their estimations for the time it will take them to do the work.
- Understand the velocity of the team. Do not exceed it.
- Avoid bottlenecks. Train others to back up the developer and other leads.
- Each project is different and has unique challenges – what worked in one project may not for the next one.
- Avoid having multiple projects going on with the same team for the same client. It will split up the resources.
- Be prepared to adjust the team capacity when the scope or other changes occur.
- Use emotional intelligence to understand where your teammates are coming from. Are they working on other projects? Having a stressful day? That will impact capacity.
- Work with the client to understand their point of view. Be empathetic to them.
- Provide bad news early on.
- Raise your hand if you need help. Do not be afraid to ask for help.
- Don’t be a hero and think you can do all the work yourself.
- Speak up if you see something that can be done better or if you see an issue.
- Understand the project's expectations and scope.
- Things are always changing, so communicate consistently to the team.
- Negotiate with the customer if the deadline or scope may not be met.
4. Continuous Improvement
- Have a retrospective at the end of project to get feedback on what went well and not so well.
- Admit mistakes and think of ways to prevent them in the future.
- Build the quality into the project early.
- Have a ‘No Fear’ culture. Mistakes will happen. Don’t play the blame game.
- Stick with the successful processes throughout the project.
- Support your project teammates. Provide private feedback so they can improve themselves.
- Share what you learned with others through a blog, knowledge share, etc.
- Have a positive attitude and retain your sense of humor.
- Keep things in perspective. With continuous improvement it will only get better.
Part 1: Testing, Testing, 1, 2, 3: Tips and Tricks To Start User Testing | Mediacurrent Blog Post
How Much Documentation is Enough? | Mediacurrent Blog Post