Devops culture driven by the need to reduce release to market cycle time

Why Agile?

Let’s step back to early 2000 to understand the changes we have seen in software delivery strategy and adoption of new delivery techniques…  One thing led to another…

With the blast of internet since early 2000, the business drove the need to deliver software rapidly… That requirement led to the need of agile software practices to come with the concept “MVP” and keep building one it…

MVP stands for Minimal viable product… Companies use to offer their minimal viable product to customers and sort of gauge the response from them… if the response was good they use to keep building on it… if the response is not as good as they expected, they use to try something new… Obliviously to get the customer feedback they can’t wait for years to deliver software as use to be case in waterfallish model…

Why Continuous delivery pipeline?

With the increase in the rate at which we started producing software, the moment it use to come out of developer’s lap, it use to fail rapidly… So from the time developer use to say the feature is done-done to actually moving the feature to production was quite a lot and there was a lot of “manual waste” in the delivery cycle… This need led to the need of continuous delivery pipeline… This pipeline provide all sorts of automatic quality checks and requirements validation…

The quality check include,

  • Compilation
  • Unit testing(a subset of unit tests execution based on source code changes) with more than 80% code coverage
  • Static code analysis
  • Application package generation and its validation(to ensure product once deployed, it is deployed with all dependencies)
  • Spawning the production look-like environment through tools like SCVMM, Puppet, Chef, Vcenture, etc…
  • Deploying the application packages to production look-alike environment.
  • Running the automated smoke tests or only impacted regression tests(a subset of regression tested impacted by source code changes)
  • Running the performance tests.
  • Reporting all the above checks back to the teams to generate trends to understand how well they are doing as a team or where they stand in terms of product quality and hence continuous improvement.

Why Continuous Service Monitoring?

Post deployment of the services or applications to the user on production environment, there is a obvious need to monitor the services to ensure before its performance starts to degrade we can take preventive actions or once it fails, the mean time to repair is as short as possible.. #Remember# , to be competitive, companies needs not only to product software faster but provide high performance with increasing and decreasing load…

This need led to the need of preemptive analysis , continuous application monitoring and Telemetry solutions…  With continuous application monitoring and data analysis in place to monitor not only the hosted applications but also the hardware underlying it, led to consistence performance tuning of applications, implementation of point solutions and quick actions to provide high performance services to customer..

Why Devops and what the heck is it?

The above is a cultural change… without breaking silos between development(comprising of developers, testes, PO, etc. in agile) with Operations team responsible for delivering the software to customers, the above cannot be achieved. Hence the Devops… it is basically the close integration of development and operations team to ensure we  produce and deliver software faster…

This whole process integration comes under Application Lifecycle Management and gives fund managers clear visibility of where all investment is being made and help them take quicker decisions w.r.t the area of the life cycle of product which require immediate funding to ensure nothing impact revenues…  🙂

Leave a Reply

Your email address will not be published. Required fields are marked *