Businesses have always had to transform to find better and more efficient ways to deliver value faster to their users, customers or consumers. The motivating factors are shorter lead times, automated and streamlined value flow, as well as reduction of overall costs and bound capital, requiring enterprises to transition to a continuous innovation and optimization model.
Prominent examples can be found when studying the last decades in the automobile industry with Toyota and their way of optimizing and automating their end-to-end manufacturing process. It is also the most referenced story I hear when researching IT and Digital Transformation stories. The DevOps movement as well as literature around Continuous Integration, Delivery and Deployment all draw the analogies to the manufacturing world and explain what the software industry can learn from it. Studies, such as the Puppet Labs State of DevOps Report conducted with Gene Kim and others – show that it boosts business outcome:
Besides the reference to Toyota I personally keep referencing one other industry that has transformed significantly over the past 10 to 15 years, and had an impact on most of us. It is the photography industry, and the digital transformation it experienced. The “Lead Time” from picture taken until holding the print in your hand used to be weeks or even months. This ihas been reduced to seconds with our mobile phones or digital cameras. I typically use this story as an example of how our software delivery process has already, or is about to, change for many companies that rely on software to power their business. It boils down to faster lead times but most importantly it will lead to continuously innovating and optimizing the value generation process for our end users.
Waterfall Model with Lead Time measured in Weeks or Months
I am sure most of you remember the times when you had your Kodak (or other vendor) camera (#1). You went on a family trip and started taking pictures. You were really selective in the pictures you took because you only had 24 image per film roll. If the film roll wasn’t full after the trip you also didn’t just waste the remaining photos. Instead you waited for the next trip to finally fill up that roll with 24 pictures (#2). That film roll was dropped at the store that developed the film (#3). Days after that – and weeks or even months after taking the first pictures – it was finally time to remember the good times we had. Finally seeing that picture where we kissed our smiling baby girl (#4).
Unfortunately, this was often the moment where we realized that most of the pictures didn’t turn out that great, the kid didn’t smile (#5) but actually cried as we forced it to be happy in that scene. This “reality check” is feedback that comes far too late. It is hard to go back and redo that picture we so desperately wanted – leaving us with frustration and potentially an empty photo album (#6):
Needless to say that this reminds me of the waterfall development model. We pack “24 Features in a Box”. It takes weeks or months to develop until we get the feedback from our users on whether we actually built something of value!
CIO (Continuous Innovation and Optimization) with Lead Time measured in Minutes!
Now let’s think about how taking pictures has “transformed” since the advent of digital cameras, but more so – with the rise of smart phones, photo apps and digital distribution channels:
If I go out for a hike with my girlfriend she is very quick to take pictures. Because the feedback about image quality (and other characteristics) is instant, she can immediately decide whether to keep or delete the image.(#1). She is not a trained photographer, but thanks to the photo apps she can apply a variety of automatic photo optimizations (#2) such as light filters. These photo app developers basically automated the work that a professional photographer would do manually – thus making every user of their apps to “photo experts”.
Instead of waiting for the next family reunion or party to show off the pictures she can immediately “deploy it to production” – which in her case means: posting it on Instagram, Facebook or Twitter (#3).
Minutes after taking the first picture she receives feedback from her friends and family on whether they like or dislike it, or whether they want her to take more pictures from that scene. This instant feedback loop allows her to immediately react to what her followers expect from her. And because she is still at that scene it is easy to do.
I hope you found this analogy useful to seeing the direction software engineering is heading. Instead of big bang releases, with very late feedback, we must think of small incremental value-adds that we deliver instantly, capture feedback and optimize until we achieved optimum user satisfaction. This reduces lead time from months to minutes. It also allows us to easily course correct our actions if we learn early on that our users are simply not interested in certain features, or shift priorities and resources to those features that our users really appear to prefer.
Continuous Delivery with Early Feedback
Since 2011 Dynatrace has undergone a similar, necessary transformation. If you want to learn more about the “why” and “how” I encourage you to watch the webinar I created with our CTO and founder Bernd Greifeneder — “From 0 to DevOps in 80 Days”. I also captured the story from Anita Engleder, DevOps Lead at Dynatrace, and how she and the rest of the engineering team went “From 6 Month Releases to 1h Code Deploys”.
The most important learnings from our own transformation, in context of Continuous Innovation and Optimization, are about providing automated early and user centric feedback:
We enable our feature teams to test new features internally, as well as externally, through early access programs or A/B Testing. This gives us early feedback while features are still being developed, and prevents surprises from late/delayed feedback:
Build Trust through Automated Feedback Loops with Dynatrace
The biggest challenge in organizations that adopt a continuous deployment model is having trust in everyone involved in pushing code through the delivery pipeline, all the way into the hands of users. Trust has to be earned, but it also means that in the transition phase it must be accepted that things will fail. Failure must not be punished but must lead to improvement and learning, so that the delivery process will prevent failures in the future.
At Dynatrace we not only transformed our software delivery process and organization, we also built and enhanced the monitoring tools that provide the feedback loops for software that gets pushed through your pipeline. We integrate Dynatrace into your IDEs, Functional Testing Tools, Build Servers and CI Pipelines, Pre-Prod Load Testing and Production Environment and provide instant feedback of every build that gets pushed through:
If you want to learn more about this, I recommend the following material
- Blog: Continuous Innovation and Optimization with Dynatrace AppMon
- Blog: Getting Ready for DevOps: Optimize your Bottlenecks
- Webinar Replay: From 0 to DevOps in 80 Days
- Podcast: From 6 Months 1h Code Deploys
- YouTube: Metrics-Driven Continuous Delivery with Dynatrace
- YouTube: Eclipse and Jenkins Integration with Dynatrace
- YouTube: Shift-Left Performance With Dynatrace Test Automation
- YouTube: Business Dashboarding with Dynatrace
Last but not least. If you want to give Dynatrace a “test drive”. Sign up for our Dynatrace SaaS offering. The first 1000h are on us!