I recently had the opportunity to attend an excellent presentation on Agile / Scrum at the Nashua Scrum Club by Damon Poole, Founder and CTO of AccuRev and Vice President of the Boston-area Agile Bazaar. The presentation was focused on how true agility requires product development professionals to examine our beliefs. It was a very interesting, entertaining, and thought-provoking presentation and he is a very engaging speaker. Highly recommended.
However, as I considered some of the key ideas being discussed — such as rapidly deploying product updates to customers and incorporating near immediate feedback from customers into the planning process for the next sprint — I could not help but wonder how effective these concepts would be when developing commercial enterprise software.
Most of the commercial enterprise software I have been involved with suffer from one key problem — it requires a significant amount of customization before the customer is comfortable deploying it across their organization.
As a result, a typical deployment requires each company to (a) install each new software release in a test environment, (b) apply their customizations, (c) test their customized installation to ensure it does what they need, and (d) deploy the new release in production. In some cases, this process can take as much as 6-12 months.
As a result, companies in this type of situation cannot provide much rapid feedback on the new release — because the “real users” of the system won’t even see each new release for quite a while. They also can’t rapidly deploy new releases because the out-of-the-box version doesn’t satisfy their business needs.
Commercial enterprise software is one of the most important (and expensive) type of software for many companies. And Agile offers too many benefits when developing software to be ignored by enterprise software providers.
So, how can we (as software development professionals) effectively utilize Agile during the development of enterprise software?
Care to share your ideas, experiences, and/or opinions?