Stick with Scrum. Short development cycles and the ability to iterate within the process allows development teams to react and adapt better to time constraints. Retrospectives and Sprint Reviews are good times to discuss issues around delivery and scheduling. Use that time to be proactive in identifying risks and sharing best practices to keep the development on track.
2. CHANGING PRIORITIES
When priorities change quickly, it affects development and can affect morale as well. Even worse, when these priorities shift in the middle of the sprint, it can throw the timeline out the window. Flexibility is the core of an Agile development methodology and building it into your planning and development process can help a team adapt and mitigate the damage of a last-minute change.
3. TESTING ENVIRONMENT NOT MATCHING PRODUCTION
“But, it works on my machine.” Sound familiar? Different settings, dependency versions, data volume, network latency, time differences, traffic, or even the input language can create chaos. The closer you can get to the configuration and data of your production environment while testing a problem, the less you have to worry about with the fringiest of cases such as “the memory of the VM was exhausted as the hard-drive is full while updating the TPS report with a Cyrillic character in the subject.”
Candid and consistent communication is vital to maintaining a healthy project. If the development team is not involved in planning, if the team’s feedback does not when setting the timeline for deliverables, there will be feature creep, scope creep, all kinds of creeps. It is important for team members to raise their hands early and often to keep delivery timelines reasonable. Maintaining Scrum ceremonies will support reasonable timelines as well.
6. LAST MINUTE PIZZA FROM PROJECT MANAGERS
This one is easy. It’s an announcement that you are working late in the form of food. It doesn’t cushion the blow, especially if it was unexpected. Maybe it was expected, and you were holding out hope that it wouldn’t happen, and now that delicious pizza tastes like you won’t be out of the office any time soon. And, there better not be pineapple on that pizza.
7. NON-TECHNICAL TECHNICAL TEAM MEMBERS
Speaking from experience as a former Product Owner, I needed to be put in my place a few times by Team Leads. Once I had my ears open and my mouth shut for a while, I learned a lot and was able to speak more to the technical side of things concerning planning and grooming. Development teams should have a Tech Lead, and a good relationship and candid communication with talented professionals like this will only serve to improve performance. If you are non-technical, try and learn as much as possible from your technical team members and develop mutual respect.
8. WHEN EVERYTHING IS URGENT
Simply stated, when everything is urgent, nothing is urgent. We already mentioned the problems with “changing” priorities, but how about when everything is a priority and is needed right now or yesterday? “Crying wolf” will only water down the impact of a real priority when it comes along. Working with the development team to prioritize effort by the complexity and along a roadmap is an effective remedy.
9. MEETINGS THAT COULD HAVE BEEN AN EMAIL
Use communication platforms to communicate ideas, changes, needs, etc. If the team can’t get the gist from there, escalate to email. If there is still confusion, call a meeting. Don’t start with the meeting and work backward. Meetings and co-location are valuable tools and should happen regularly. However, if they are happening too frequently, and with little action items from resulting, it’s best to communicate through other channels to avoid disruption of the team’s schedules.