At a time when technologies and market conditions can change on a dime, it doesn’t make sense for companies to craft five-year strategic plans. Here’s what they should do instead
Agile project management: 10 mistakes to avoid
Think agile is all hype, or that it isn’t right for you? One of these common roadblocks could be standing between your organization and the promised benefits of agile project management
5. Lack of support from the top“Too often management either doesn’t understand or doesn’t care about the constraints required of agile. An urgent problem or request crops up and everyone is forced to scatter like ants to redirect their focus before coming back hours or even days later. Management is killing the project flow and undercutting the importance of the project. If unexpected work is a necessary evil, budget a reasonable block into the capacity to deal with the unforeseen.” - Mark Runyon, principal consultant at Improving
6. Incomplete user stories
“Often when teams sit down to complete estimates for the upcoming sprints, user stories are incomplete. This results in the inability to properly estimate, the likelihood of scope creep, and an inability to deliver what was originally planned for the sprint. Incomplete requirements require lengthy back and forth between the engineering and product teams, thus slowing down the delivery process. Prior to estimating sessions and committing work to a sprint, having complete requirements is essential.” - Holly Knoll, business coach and creator of The Consultant Code
7. Too much testing
“When developing software in an agile manner, it’s critical to do test-driven development and test every feature before it’s merged into the main codebase. Unit testing and CI/CD allow you to reach maximum velocity in a project and make sure that your agile development moves like a well-oiled machine. With that in mind, it’s incredibly important to find the right balance when it comes to QA/QC and acceptance testing.
“We’ve seen, despite the best of intentions, that the gears get gummed up when you start testing against too many edge-cases and imaginable configurations. It is possible to do too much testing!
“Especially with greenfield application development, you want to make sure you are doing a healthy amount of testing, but you also want to keep the engineers pushing forward on features. The last thing you want is to reach the end of a project and have a huge backlog of bugs to fix, but you also need to get to the finish line. It’s very likely, if you have a rolling launch strategy and rollout plan where you are only starting with a few users or groups, that you’ll have time then to make the minor tweaks for all your edge cases. Keep your development on track by putting a healthy test plan in place – not too little, but not too much.” - Ben Wald, co-founder, Very
8. Shortchanging security
“When you’re spending as little time and effort as possible on security, it feels pretty easy. When you’re really good at it and it’s fully integrated, it’s sophisticated and smooth. In the middle stages, though, where you’ve identified improvements to make, found gaps, but haven’t yet created solutions or reworked processes to accommodate security practices, there may be a lot of friction and even a feeling that things are getting worse. It’s a classic Dunning-Kruger effect, and it shows up with security evolution as well.
“When making investments in security, recognize progress over perfection. It’s often the simple things that have a large impact. Once those are handled, move to collaborative work across security and delivery teams. In the end, it should be more difficult to bypass security practice and flow than to continuously do the right thing. Security in your delivery system builds confidence and helps you move quickly, and that’s what everybody’s after.” - Michael Stahnke, VP of platform engineering at CircleCI, overseeing SRE, security, and tooling
9. Barriers between teams
“Ideally, teams should be in the same room when they can be, with plenty of space to break away for formal and informal communication. There should be plenty of whiteboards to work through problems and architect out solutions.
“Team members should be focused on their slice of the project. If they are providing support to past projects and juggling other projects, it rarely leads to a successful agile team. The focus, communication, and coordination all suffer when team members are stretched thin across different projects. Basically, all barriers that are sitting between your teammates and their success must be removed." - Mark Runyon, principal consultant at Improving
10. Not knowing when you’re done
“In our daily work lives, we work towards the first definition of ‘done,’ but how do we know we have reached the end? An engineer will tell you there are always more enhancements that can be made, and a product owner will tell you there will always be more features that could be added. For a project to be successful, the end – this elusive ‘done’ – is something that everyone on the team must define, communicate, and agree to.
“Because it was built to adapt to changing requirements, agile makes it easy to adjust your approach to high-priority issues. This is especially important in fast-paced businesses where requirements and industry climates change quickly. Working with agility gives you more flexibility for change and directs teams to focus on building the most essential features – but it’s also important to recognize when to move onto the next project.” - Ben Wald, co-founder, Very
[ Culture change is the hardest part of transformation. Get the eBook: Teaching an elephant to dance. ]