Use the DevOps method to stamp out the toxically wasteful activity holding your business back.
In so many ways, DevOps is related to Lean thinking. Both focus on speeding up the flow of valuable results by removing bottlenecks, constraints, and wasteful activities. With DevOps, this involves building an IT culture that works to unify development, testing, deployment, and operational functions.
DevOps is especially suited to mobile development because time-to-value is so critical and conditions change so quickly. IT teams must constantly stay ahead of the curve in mobile by anticipating customer needs and learning from failure.
But in the quest for speed, DevOps teams must also eliminate any wasteful activity that impedes the flow of value to the customer -- especially these eight elements illustrated in Lean thinking:
1. Defects: A common belief in mobile app development is that defect-free products should be the main goal. Certainly a bug-free and high-performing app is important, but no matter how technically great an app is, it's a waste to produce something that nobody actually wants.
This is why continuous feedback with business users and customers is so critical in DevOps. Yes, the main purpose is to test performance and other technical aspects, but also to validate app design and development assumptions. Remember the old "assume" adage here -- and how quickly it can make an ass of u and me.
2. Over-production: Iterating quickly to produce more mobile app features is fine, but don't confuse a great user interface with a great user experience.
Just because downloads and traffic increase after releasing a web or mobile interface with new features doesn't mean a customer has hit the transaction button. DevOps teams should use actionable metrics to guide decision-making. For example, consider split-testing a new feature to 50% of your customers -- if it leads to more business it gets the green light, if not drop it.
3. Waiting: Agile development isn't really agile if teams have to wait for physical infrastructure to be provisioned. Typically, IT operations are seen as the culprits because they've held the keys to the datacenter, but there many areas where waiting can be a real problem -- especially across testing and development.
DevOps teams can address these bottlenecks with IaaS, but the real power of the cloud comes when it can be used to give teams more complete application configurations during any stage of development. Furthermore, DevOps teams can reduce wait times and reduce defects when the testing infrastructure itself is delivered as a set of virtualized services.
4. Non-value added processing: Fixing bugs and putting out technology fires adds no value to customers, so why measure how good you are at doing it? Furthermore, in a mobile app context this gets much harder because there are more factors beyond your control -- like network coverage and latency.
You only have to watch Formula 1 racing to see how DevOps-like teams respond when problems (minor crashes, track conditions) occur. Rather than waste time second-guessing, teams (drivers and pit crews) rely on onboard sensors to gain the intelligence needed to make adjustments in real-time. It's the same in IT, where tools like application performance management and crash analytics can deliver the feedback needed to improve development.
5. Transportation: Imagine developing a mobile app for sales teams or healthcare case workers. It's a great way to collect information at the point of contact, but sadly deficient if the teams have to re-enter data back at the office due to lack of connectivity with back-end systems and applications.
Such "transportation" problems can also introduce other elements of waste (e.g. more defects from data duplication), so explore methods to securely integrate processes from the app to the back-end using new architectures
Peter Waterhouse is a senior technical marketing advisor for CA Technologies' strategic alliance, service providers, cloud, and industry solutions businesses. View Full Bio