We can help you transition to devops
1. Value stream current process
We begin by studying the current flow of software from development to production charting out a value stream map.
The time taken by software through different processes till it reaches production is a very important measurement.
We chart value stream map for development, operations and quality assurance showing the time
spent by each on the software before it is passed on. Figure below shows time taken for a single change
to reach the build on a development and operations value stream map. This is very effective as we can see and
inquire about delays which are impeding faster delivery.
2. Eliminate any bottlenecks
Next we use the collected data to analyse and discover bottlenecks and find out ways to speed up the process.
3. Setup continuous integration
Continuous Integration: Problems are encountered while integrating code if many developers work on single or even
different features without properly coordinating and collaborating with each other. In such scenarios we don’t have
any metric to gauge the stability and reliability of the application without developers integrating and merging their
code frequently. Continuous integration is required to get rid of development isolation. Continuous integration advocates
that all developers integrate their code continuously to the mainline and ensures that code that works on developer’s
machine also runs in other environments.
As soon as developer commits his code the Continuous Integration tool will fetch the latest code from source repository,
run all unit tests on whole of the source code belonging to other developers as well, once it passes,
build tool will compile the code and create build to be provided to next stage in deployment pipeline.
In case of failure, build is marked as failed and it is easy to pinpoint the code that caused failure by
checking the unit tests which failed.
4. Enable continous delivery
Continuous Delivery: Continuous delivery is the capability to automatically deploy application to any environment.
Once build succeeds, application needs to go through a series of testing stages, each of these testing stages
has production like environment. Deploying the application in any of these testing environment
requires automatic provisioning and configuration of environment, installation of application and running automated tests.
Continuous Deployment: Continuous deployment is the decision to automatically deploy application to production to
get customer feedback. This is very important and one should have the capability to do this at any time when asked for.
Infrastructure automation and monitoring tools play an important part in devops and we make sure to equip
ourselves with a wide variety of tools.
It is very important to understand that Devops is not a specification or a product or a job title but following a devops
practice upholds your commitment to the customer, product, your work so much that you communicate, collaborate, automate
and measure everything so that your company is able to deliver rapidly and efficiently. Developers and system administrators
need to cross over to and incorporate each other’s skills and knowledge areas to deliver the value faster to the customer.