Title: DevTOps in CI – CD Automation.
Authors – Sumit Mundhada, Saurabh Bhardwaj.
A big question on everyone¡¦s mind from customer to stakeholders – How we can release product early-in-market? Will it be stable?
Application development is fast paced. Are we paying price to adopt to these changes?
Product quality is one of the area which nobody wants to compromise. Companies look to build new capabilities with high expectations major part of the project goes in planning, research. Although the IT industry has taken huge steps in innovation, the quality of application development projects has been lagging. Many IT projects run inefficiently without emphasis to quality assurance causing outages during and or post implementation and therefore, costing significantly more than anticipated.
- At the same time when we discuss inverse relationship between speed and quality there are list of companies who all are believing in the concept of DevOps and they
release build very frequent and one can say they are on right path – Amazon, Netflix, Coca Cola and list will keep go on.
- If developers release any feature, implementation or bug fix they always want to check how it works, they look for fast testing. While developer community wants to deliver quickly however at the same time operation want reliability, and stability. This is a big confusion area and still need some analysis and work to be done in this area. An additional “T” /Testing in the DevOps world calling it DevTOps – will fix this gap then results could be different and fast.In this paper we highlight the need, pros and cons of DevTOps.
- DevTOps provides a seamless integration between development and operations team, unifying development to operations for better, faster outcomes. This white paper will talk about strategies one can use to get the best out of all these problems also an implementation approach for end to end automation.
- The paper further explores the “unattended (no manual intervention) test automation”(refer test framework) in DevTOps set-up where-in code check-in triggers automated testing, end of test report, defect logged in ALM etc.
Auto triggered testing at two points in SDLC – SIT (System Integration) on Test Environments and UAT (User Acceptance Testing) phase in pre-production or production environment (configurable). This strategy allows “left shift” of testing. “CTED” (Created by Testing, Executed by Developers) leading “early-in-market”
If we closely look below diagrams, then it is very well understood problem. We all have seen and gone through the challenges of the traditional model – Waterfall is not ready with the market pace and not good for agile product delivery, it has impact towards project timelines and also it is not flexible as per market demand.
Not only this but innovation has very less scope here and it has very less opportunities for utilizing the best talent, time – Passing the bowls from here to there will not solve our problem and that’s the need of time where we need to find a way that why after all innovation and revolution still something is missing…
Communication has strong power –It is lost in traditional models and strategies never talks about it – Imagine a place where development, testing, operational, product, sales team and all other stakeholders can picture the updates on the product – As a TEAM it will be worth and it will show where to hit and at what time
It is not that we don’t know the problems – It is important that how they keep coming – It is like we are fixing the problems after it has addressed but in the era of Artificial Intelligence, Machine Learning, Internet of Things we are looking to be proactive and not the reactive – Time has come to engage all people, practice and process with the technologies we have in hands and that will be the solution to endless conflicts.
With the evolution we have Agile, DevOps and newer testing strategies – It has accelerated the pace and worth for speed and flexibility with rapid market change – It has few untouched areas and that’s what we need to look with this paper – Mind set and Ownership can make any project or product a success story, lets unfold more in upcoming solution ways.
DevTOps – What it is all about?
- Innovative approach to deal with existing DevOps problems.
- Speed to market with adopting ongoing changes
- Best use of early & continuous testing & agile test automation.
- A responsive system calls to make sure every organization and any team can adopt and gets the best out of this.
An additional “T” /Testing in the DevOps world calling it DevTOps – will fix this gap then results could be different and fast.
A System where development, Testers and Operational teams come together is DevTOps – A bridge to successful product launch is via Testing and today Quality is also equally important along with speed – Now question teams are already working together in Agile way then what is more on to it and how we can offer more as a TEAM – Connect people with tools and have a process which is Transparent – Tool’s don’t judge they act and show us the way, A picture and then we as a Team can act on the problem.
Continuous monitoring, Continuous Improvements, Powerful feedback will lead to optimized time to market and a cycle will help to speed up the product without compromising on the quality.
General Architecture: – CI – CD Automation
As we talked about DevTOps now lets bring it in the process with common architecture which covers core things. Continuous Integration and Continuous Deployment with DevTOps is the key and with attaching the pieces one can be be close to it.
Automation plays an important role here with Continuous integration it helps us to achieve end to end automation but it has to club with deployment and attach with the overall Agile delivery – Here we are talking about Continuous delivery.
Adding Monitoring system and AI will help us to find the problems early and act early – A CI – CD platform will help to give a clear picture and core skills will be used for things which are now a days gone below the carpet – A typical example would be RCA – Root cause analysis.
A system can use RCA for next level solution – A smart system can help new members to adopt and save time for things which were already fixed by someone.
Connecting test automation to standard tools will help us to categorized our core and implement things like Risk based testing – Even if you have 2000 test cases in ALM then also it is not required to allocate or put 5 test resources for running all the test cases rather use a system to find critical areas where defects were reported earlier and more often and then run only smart regression suite which can check more vulnarable area from the product’s point of view – Also it gives us time and bandwidth to automate selective test cases and automation coverage can be increased.
Three CCC – Continuous Integration, Continuous Delivery and Continuous Testing – This will help to find problems early and act early.
Cost saving, Time saving and efforts saving – Many things could be achived with Smart CI –CD. Motive is to have smart automation, Connect it with tools and process in a system and allow core to work on skills set rather then just running test execution.
With the globalization teams are from different countries – Time zones is overhead and CI CD can minimize this gap – End to End automation is useful only if it is connected to system from requirement to post release maintenance.
DevTOps is a new model for software delivery that requires great collaboration between developers, Quality Assurance, Operational Teams. This deep collaboration will be the new culture focused on delivery mindset and automating the process of software delivery from requirement gathering, test case formation, testing, and releasing the product.
All the testing phases can get benefit from this model – Run automation within UAT, SIT and Production – Monitor things post deployment and identify issues early before customer – We can achieve all these from single platform and fast –track the process with greater software quality.
Key Things to check for automation –
- Feasibility study
- Prioritizing test pack to automate first
- Agile Automation
- Trigger pack – This is an interesting concept and need to bring into practice.
- Smart automation ¡V Self triggered and re-usable
- Modular approach for test scripting
- Review system in place
- Connecting things with code coverage
- Cross browser compatibilty
- Infrastructure Automation
- Smart piplelines
- Connectivity with Project tracking tools and test management tools.
The concept is to have Smart Automation – You may call it as Smart CI –CD.
System works by it’s own, Tools supports mindset – Automate what is needed and collect more information for next automation pack based on feedback loop. Apply smart KPIs to the system to get effective return of investment and track everything with better approaches – Em-brass Automation in such a way that every developed scripts returns something and then process converts things from continuous monitoring to continuous delivery.