People often don’t like to change the way they live, work, or even look at the world around them. Change can be stressful and sometimes even frightening. However, change is unavoidable and as history shows, benefited us in endless ways.
In software, the old approach of taking six months to develop, test and deploy will likely leave you in last place in the race to innovate and capture market share. Timing is everything and clinging to old-school development methodologies might hurt your success.
That’s why Agile Development is currently getting so much attention.
Why The Agile Approach Is A Game Changer
The simplistic definition of agile development is a corroborative approach to develop software that is deployed incrementally within short periods of time.
Let’s discuss two key words in the above definition—corroborative and incrementally.
Corroboration is about removing barriers between the development, operation, security and QA. This approach improves communication and facilitates complete unity among the disparate groups to achieve a common goal. This enables teams to work concurrently on projects and effectively manage issues as they come up.
Incremental deployment is about developing and deploying the application piece by piece. With the advent of the cloud, this approach is even easier. With a flick of a switch resources could be deployed in minutes. Devops can easily whirl up a test environment and immediately start testing.
This cloud speed makes agile development a reality speeding your business to greater relevance with new features that address real life and current feedback from customers.
Your CXO Is Still Hesitant-Now What?
Ok, so you’ve told the CXO about speed and efficiency and he’s still hesitant. Try bringing to his attention the following five advantages.
1. Fail Fast – I know that failing fast sounds kinda negative, but this is a massive advantage of agile development. If something doesn’t work, IT will know right away, as opposed to the old approach where everyone is left scratching their heads at the end of the project trying to figure out what went wrong. Failing fast avoids the coulda, woulda, shoulda syndrome. With constant testing and feedback, you’ll have all the info you need before you get too deep into a project.
2. Predictable spending – It is much easier predicting the cost of each incremental deployment than of a whole application. If costs go over budget, devops can adjust immediately.
3. Get the application you envisioned – If sales or marketing think they have explained exactly what is needed and all is clear to engineering, they’re living in a fantasy world. Business alignment with development is a known problem, and the agile approach is its solution. With the agile approach, one of the most important players is the “product owner”, who represents the needs of the business. With constant input from product managers, sales or other “product owners”, engineering can deliver exactly what was envisioned.
4.Transparency – With incremental deployment, the business side will know exactly what is being worked on, at what pace and how it is being received by the customer base.
5. Flexibility – How many of us were told towards the end of a project that the specs have changed. At best this cause delays, and at worst the project is completely dumped. With incremental deployment there are constant “pit stops” to reflect on feedback and discuss the direction of the project. If the product owner informs you of a change of specs, it’ll be much easier to incorporate.
Note for B2B Businesses: When creating product for enterprises, the MVP needs to be much more mature than for B2C customers. Pushing out raw product iterations for B2B is not advisable. Things can seriously backfire with your sales team rejecting the new product or enterprises buyers (who typically have longer-term memory than a collective B2C audience) forever associating you with a bad product. So go agile, but don’t run ahead of yourself.
Surprisingly, the speed, stress and pressure of constantly producing and deploying are not what devops dislike about the agile approach. The biggest challenge is organization. With a lot of things going on at once among so many teams—keeping order is essential. The user story should explain in very concise and specific terms what everyone’s responsibility is. Success is dependent on the project leader or scrum master’s ability to facility communication, reflection and focus among the team members.
If your CFO finally gives you the green light to take the agile approach, there won’t be a lot of time to celebrate— your first deployment will be due in less than a month!
Most of the points of this article were gleaned from an interview given to Alex Adamopoulos CEO of Emergn Limited.
If you’re intersted in learning more about the DevOps culture, we’ve created this (free) Devops Digest:
Start Optimizing Your Cloud Deployment