It’s 2016, and the software industry is booming. Every other day there is a new start-up rearing its head and surprising us with applications we never knew we couldn’t live without. However, many more are failing, and this is not only applicable to start-ups. More and more, corporations are adopting software management techniques to gain the advantages of rapid delivery that their start-up counterparts have been using against them. Let’s take a quick at why Agile is so much better than Waterfall for most SAAS products.
Older project management methods will typically use the Waterfall method or something similar. In the Waterfall method, the project is broken down into several aspects: Requirements, Design, Implementation, Verification, and Maintenance. Relatively straightforward, you tackle each problem individually, in steps, as seen in the diagram. (Its shape is what has dubbed this process as ‘Waterfall’)
Any mistakes made earlier in the line are extremely costly. Let’s pretend that Facebook was built using this technique. Mark Zuckerberg would have gathered all of his requirements for college students. Then, he would have carefully designed all of the data models to support the requirements. With the data models in hand, he would have designed the User Interface to determine exactly how users would use it. After two months in the design phase, he would have then jumped into three months of the implementation carefully building what he thought was right. After the product was complete, he walked through a complicated verification process to ensure that the application worked and was valid. Then, once the users were using it, the product went into maintenance mode, and the application blew up overnight to be a success. This is not what happened in reality though.
If he made a mistake, it would take weeks to correct. If you are familiar with Facebook’s development process, it was hacked after hack… which meant, version after version of the product was put in place to help Mark learn about his customers and make adjustments on the fly. Whether he realized it or not, he was using the Agile development methodology. What makes Agile different is that the steps involve all of the categories at once. The following analogy is taken from the Scrum Training Series by Michael James.
Imagine we take the diagram above and put it into a blender.
We then serve out several ‘cups’. In Scrum, these are called ‘Sprints’. Regarding our Facebook example, this means that Mark would design each feature individually. If there is an issue, it can immediately be identified and corrected first time round. So if the idea was faulty that day, it would not be as catastrophic! He can stop the development process and fix the issue before the Facebook app upsets too many users, and most importantly, this method minimizes waste.
Why Corporations Struggle With Agile
Corporations struggle with Agile development because it requires a cultural shift. One of the biggest problems with this shift is that it exposes poor software developers in companies or as contractors. Building software requires you to be nimble and deliver on a routine basis. Developers who enter larger companies can become complacent and lose their edge. One of the biggest hurdles is taking a poor performing team and getting them up to speed so they can, on a routine basis, deliver gold. There is no magic bullet here. It takes leadership, focused effort and at times, the backbone to move people off projects to get them going. The best developers will love it; the worst developers will hate it.
How to Make the Agile Transition
Training your team is critical. No matter how talented, smart, or seasoned they are, getting your team on board with the same training information is the fastest way for the team to coalesce around an accountable system to track their achievements on a daily basis. The training is often disregarded because Scrum seems like such an easy topic, but investing in a basic certification for your team members is invaluable. While we don’t like certifications, there are times when it makes complete sense. We looked at some of the certifications and were shocked at the pricing difference. Our comparisons and recommendations can be found here: Scrum.org vs. Scrum Alliance or How Can I Transition My Difficult Team to Agile?
Agile is definitely worth investing the time and effort in for your company. It does not take too long to study, and it can be surprisingly easy for some to incorporate it into an existing company framework. You should expect to have a bumpy road with some developers, and it may signal a period of shake up for you and your company. It is definitely worth the investment.