Every team approaches software tooling differently, but overall we see similar frameworks across most enterprise DevOps teams. Tooling follows the the product from creation to delivery to success (ideally) and back to creation of new releases and products.
— OverOps (@overopshq) September 6, 2018
Most tools fall solidly into one of these 3 categories: product creation, product delivery and product success. Though many have benefits in two or all of these categories due to the circular nature of agile development (and the semi-circular,yet mostly chaotic, nature of software development in reality).
Tools that facilitate workflow early in the development process come back to enable version control later on. Tools for visualizing software metrics and data are used from testing to staging to production, anywhere that data can be found. And tools that provide application and troubleshooting context in production are expanding to provide that data across the development lifecycle.
Additionally, as we see in the image above, issues can come up anywhere in the lifecycle of an application and without the right information to resolve them they can severely slow down or even stop a project. So, when we’re shopping around for software tooling, we need to remember what’s important for the success of each stage of software development and delivery.
With that in mind, we wrote this eBook to cover the tooling needs of enterprise DevOps teams and shared some thoughts on the major players in each area. Start reading now.
- The Modern Software Delivery Supply Chain
- Developer Collaboration Tools
- Continuous Integration, Delivery and Deployment Tools
- Orchestration Tools
- Log Management and Performance Monitoring Tools
- Alerting and Visualization Tools
- Supercharge Your Supply Chain with OverOps
With physical goods, the raw materials used to build them often defines the resultant quality of the end product. With software, our focus must go beyond just the raw materials (i.e. code), to the tools and data that informs how we deliver them quickly and reliably.
For tooling found early in the application lifecycle, the related data is generally the code itself. Code quality is crucial. As we get further down the line, the data becomes more general and difficult to attain. And once in production, we are left monitoring our applications by consuming the digital exhaust that’s spit out in the form of log files and other shallow metrics.
The more we can improve our access to solid data, across the entire software development lifecycle, the better we get at building reliable software.