|
|
|
|
Agile Software TeamsThe Secrets of Software SuccessIf you want to build killer software applications then you must build an agile software team. Period. No debate. No excuses. It is that important. Over the past 25 years I've spent working in the software industry, I have actively participated in software development initiatives as a developer, team leader, architect, manager and executive. Once I reached the executive level I set a singular goal for myself and my team - I wanted to make a software development team that rocked. I wanted the best software development team in town and I was determined to do what was required to get there. The CEO of my company, Bob Nero, had made it abundantly clear to me that I needed to build a team that was agile and adaptive. A team that was responsive to very real business needs, needs that changed frequently and grew aggressively as the business itself changed and grew. I built that team. It rocked. And as a result, I built Menlo to teach you how to achieve the same results. Understand, my vision is great! I want to save the entire American IT industry! So, be encouraged! You can positively impact your entire corporate culture by changing how your software development team operates. However, be forewarned. You must learn the same lessons I have: if you really want to be competitive in this marketplace, be prepared to change everything. Common sense isn't sense. Conventional wisdom isn't wisdom. If you want to dramatically improve your results then be prepared to embrace dramatic change. Becoming AgileBefore you can build a team that rocks, you must first become agile. If you don't already know what an Agile software team is, let me help: An agile software development team can add features in any order and can release a working version of the product at any iteration. It is that simple. It is achievable. Accept no excuses or imitations. Of course, getting your team agile will be a challenge, so you first better know why being agile is so important and why it is worth the effort. Adding Features in Any OrderEvery project we've ever worked on, and the number is now in the hundreds, has always envisioned more features than ever ended up in the product. There are many reasons why a feature doesn't make it into the final product, but typically it comes down to just two - out of time or out of money. Since time and money are the key gating factors on EVERY SOFTWARE PROJECT I'VE EVER SEEN it seems insane to let developers put the features into the project without specific direction. However, on most teams we visit, developers create and add features in the order that seems best to them. Unfortunately, this is almost never the order that makes sense to the business or your customers. Agile teams learn to add features in the order that makes sense to the business. It is so important - it is worth repeating. Agile teams learn to add features in the order that makes sense to the business. Since features always get thrown overboard at the end of a project, a team interested in building a killer application must build and fully incorporate the most important features first. Don't let the programmers fool you! They will tell you there is an optimal engineering order to add the features. They'll tell you your order can't be done. Nonsense. We've been doing it for years. It can be done. Every time. And if you don't do it, the consequences are severe. Don't leave your most important features (the ones that make you the most money) accidentally on the cutting room floor. A simple process we created called "Planning Origami™",which we teach in our Project Management class, makes the dialog between developers and business sponsors simple, valuable, and in your face. An agile team understands the real business trade-offs that are being made as each new feature is added. Releasing at Any IterationAn agile team is capable of releasing the software to end users every 10 business days. Yes, we mean releasing. Wrap it up. Put a bow on it. Mail it off. This has many benefits to the business, and to the developers. The business now has the opportunity to deploy to the user community the most recent features as frequently as every two weeks. Of course, most users don't want updates that fast. But the High-Tech Anthropology®team does. They review the releases to ensure that the development team is on track. They also present the release to real users for demonstrations, beta trials, and evaluations. They use real software to gain real feedback from real users. This feedback is often the difference between a mediocre product and a killer app. The ability to have new releases come out every two weeks have additional benefits to the business as well. If the business is in a year long product development cycle, the business now has clear choices to make every two weeks. Options include continuing to add more features on the current plan, prioritizing the features differently, or to stop adding features altogether. The business now can decide halfway through the year if all of the key features are present. They can stop development, ship the product, and save half of the development costs! Yes, this really does happen! The ability to release a version of the product at each iteration also makes the developers far better software engineers. Issues such as integration and installation that previously were deferred to the end of a project must now be addressed consistently throughout the entire development lifecycle. Software built in this manner is of consistently higher quality.
Interested in Learning More?
Rich, send me your free white paper "Secrets of Software Success: Adapting Projects to an Accelerated Society" We will not resell your contact
information. Privacy Policy: No Resale Zone. Spam Policy: No Spam Zone.
|
|||||||||||||||||||||||||||||||
|
Menlo Innovations |
||||||||||||||||||||||||||||||||
|
Menlo Innovations LLC (c) 2006 |
||