Changing a major process in any enterprise is never easy. Software development certainly qualifies as a major process. If you’re thinking about having your enterprise software development teams change the process they follow, it won’t be easy.
Let’s assume the current process is more ad-hoc than not. You may call it waterfall, spiral, unified or something else but there’s a good chance it lacks discipline. Regardless, you decide to adopt an agile approach (because agile is all the rage these days) and Scrum seems like the best fit.
A phased approach is best.
Your first objective is to explore. Start with a small project. Consider it to be a pilot. Get the team trained and/or bring in a coach to help out (Note: I’m neither a trainer nor a coach so this is unbiased advice.)
Expect the team to struggle a bit and make a fair number of mistakes. Stories will be too long; estimates too optimistic; and expectations too high. It’s all good because the best way to learn is to fail.
Also, expect cultural obstacles. Getting sufficient business participation is likely to be a challenge. You’ll need to demonstrate some success to energize the business users and get their buy-in.
Assuming the pilot effort is successful, it’s time to execute on a broader scale. There will be two major areas to consider:
1) Multiple smaller-scale projects. The more independent these efforts are, the easier it will be for the development teams to focus and make headway. Keep in mind that pilot success does not assure success here. You’ll need to repeat what worked during the pilot and correct the mistakes. New Scrum teams will encounter many of the same challenges faced by the pilot team(s). Offer as much help and guidance as you can.
2) Large-scale projects. These will be more challenging. Hold off on tackling an enterprise-scale agile project until you have at least a few experienced teams with multiple successful outcomes.
During this execution phase, metrics and tools will become larger issues. Enterprise reporting will require standard metrics and standard presentation formats. Now is the time to begin addressing those issues.
Time for enterprise-wide rollout.
Getting the entire enterprise aligned with agile development and Scrum in particular raises many more issues: governance, titles, compensation, HR policies, funding, etc. None of these are unique to agile approaches or even to software development. They are artifacts of the corporate world.
This brief blog post only scratches the surface of adopting a new agile approach to enterprise software development. It’s harder than it looks and more rewarding than you think.