As I continue to explore what it takes to achieve enterprise-scale agility, I have to admit that I’m a big proponent of automation. I know many advocate physical Scrum or Kanban boards but they don’t scale. They can be used at the small team level but you have got to leverage software solutions to scale up to the enterprise level.
Automate your approach.
An enterprise with multiple, dependent, software projects has to roll-up team boards into higher level aggregated displays. Just as software components are integrated into services and applications, team boards have to be aggregated into status and flow displays that reflect what’s happening at the corporate level.
You could try to do this manually but I can’t recommend it. You’ll achieve better results and more transparency by having the Scrum or Kanban boards online, available for all to see (internally, of course).
I realize that daily stand-ups will need a way to gather around the board. An electronic whiteboard and a projector offer a simple solution that most enterprises already have in house. Give them a try.
Manual testing will never work.
Regression tests must be automated. Don’t even think about trying to roll-up an enterprise application and perform manual testing each time. It will never work.
Repetitive testing tasks have to be automated so they can run overnight. During the day, manual testing of new functionality can take place. Once the new functionality is stable, automate the testing (assuming that it will have to be repeated in subsequent builds).
Automated regression testing is a critical success factor. Don’t skimp on it.
We are social beings. Embrace it.
I strongly recommend using an internal social networking tool. No, I’m not suggesting that your teams use Twitter to report corporate information for all the world to see. Bad idea!
I’m recommending that you setup an internal messaging system using tools like Yammer or Salesforce.com’s Chatter. Such tools offer private messaging. Only authorized individuals will see information updates. You can decide how open (or closed) you want the communications to be.
Consider using a default condition of open to all with restrictions optional — as opposed to the reverse. In most companies, there is too much secrecy. It slows teams down, leads to poor decisions, and feeds redundancy. If you feel the need to lock down information, ask yourself why. What would be the harm in making the information available to all?
Using agile software development at the enterprise level presents many new challenges. I’ll continue to explore them in my next post.