It’s very important to have a feedback loop, where you’re constantly thinking about what you’ve done and how you could be doing it better.
– Elon Musk
As software owners we want to make our system of work safer by creating fast, frequent, high-quality information flow throughout our value stream, which includes feedback/feedforward loops. While problems are in their nascency, remediation is smaller, cheaper, and easier to fix.
A quick way to fix feedback conundrum is to have “visibility” into what each process’s input and output is, and if there is a flag raising mechanism which the stages ahead in the deployment process, and also stages behind your current stage can see.
The central philosophy to having an excellent feedback mechanism should be “Everyone can see the results of the latest build or processes that impact build and take corrective action”
1. Unit test coverage- Tools like JUnit, NUnit, TestNG and JMockit not only fill in your existing application with Mock data, most of these tools integrate perfectly well with eclipse- The most used IDE for Java.
2. SIT test results- You can write custom scripts in Selenium, Cucumber-Capybara and QTP. Especially a tool like Cucumber helps us write test cases in simple, plain English that can be understood by Business Analysts, Developers, Testers, etc. When coupled with combinatorics frameworks such as ACTS we can get scientific coverage of tests.
3. Performance test results with APM integration- Dynatrace, appdynamics, new relic are some of the tools which give you valuable insights into the application’s performance. You can consider for APM monitoring. Schedule a meeting with us to discover how APM tools can be integrated with your CI/CD tools.
4. Time taken to recover from failure (MTTR: Mean time to recovery)- A layman once asked a developer, “What’s the best way to keep a system stable?” The developer responded “Don’t touch it!” Developer’s fear of merging changes in the main branch of source code often results in a locked mindset where stability is above everything else. Builds are meant to be broken, and downtime in prod has to be “managed” efficiently to near zero levels. If you have automated unit tests, acceptance tests and environments, and encouraging test-driven development, fixing an issue that stops the pipeline can usually be a matter of minutes: code the fix, along with tests, see that you didn’t break anything, and check it into the main branch.
To know more about how Newt Global can help you achieve all these feedback loop objectives, or objectives which are important for you at the moment, schedule an appointment to talk to our DevOps expert here .
About the Author
Managing Director – Products and Solutions