How to integrate business priorities into the DevOps process
|Anaud Ganpaul in DevOps Wednesday, March 8, 2017|
Tips for using DevOps successfully in your business to speed up development and deliver apps faster.
To address this disturbing trend, enterprises are re-envisioning their mobile application development and implementing DevOps processes to increase velocity and reduce the cost of mobile app development and publishing.
But this is a mistake. DevOps alone will not address the root causes of why most mobile applications fail to achieve their business objectives.
The Dangerous Assumption of DevOps
The disconnect between business impact and DevOps success can be traced back to a single, dangerous assumption that by delivering releases faster and closely monitoring defects and customer feedback, DevOps will implicitly deliver business value. However, while this approach makes it easier and cheaper to “fail fast,” it doesn’t do anything to align app development to customer and business value in upfront planning.
The missing link in current practices is an explicit connection between the DevOps pipeline and business initiatives. This gap between development and business and market requirements is all the more critical in the ruthless mobile app market - where failure to meet user needs the first time can doom the application to failure. And it’s not just app success that is impacted - overall brand reputation is also at stake. Users (as many as 37% of app users according to Dimensional Research) quickly form a negative perception of the corporate brand if an app fails to have compelling features, or fails to meet their non-functional expectations like performance, stability, security, privacy, and compliance.
Success requires business and technical stakeholders to work together throughout the app planning, delivery, deployment, and promotion stages. To achieve this alignment, DevOps processes and toolchains need to be extended to include business stakeholders.
Increasing App Success with BizDevOps
Successful app launches depend on embedding the customer value, and the business, in a closed-loop cycle of continuous innovation. Agile promises this, but large enterprises have struggled to scale it. DevOps enables continuous delivery of these innovations, but doesn’t explicitly tie the products or features delivered to the business value. BizDevOps brings it all together.
BizDevOps is an extension of DevOps that automates the front end of the software development lifecycle (SDLC) to incorporate business goals and measures. It is about orchestrating and automating business activities and information into the DevOps lifecycle. This aligns downstream efforts with enterprise objectives and enables organizations to measure whether their DevOps pipeline is effectively addressing the business needs.
Extending the DevOps Toolchain
DevOps practices of continuous collaboration, automation, and measurement need to be extended to include the business aspects of solution delivery. These additional stages include:
- Collaboration: IT and business stakeholders must work together to define business initiatives and strategy roadmaps.
- Alignment: Teams align on a shared model of what must be delivered. Critical business objectives such as customer experience, legacy modernization, compliance and risk mitigation are defined at this stage as well as opportunities to define re-use and dependencies across initiatives.
- Definition: Initiatives are broken down to the feature and user story level and explicitly traced back to business objectives.
- Approval: Stakeholders review and approve initiatives. Development and test artifacts are automatically generated to initiate downstream processes.
Once these stages have been addressed, organizations can break down the silos between the business and IT to achieve continuous alignment. Unified teams can deliver solutions driven by business goals and requirements, regardless of how frequently they change. Customer expectations can be exceeded and drive real business results as quickly as possible. Success can also be measured based on business outcomes, not by vanity metrics of on-time or on-budget delivery.
Successful App Delivery Needs More Automation
BizDevOps relies on technology to deliver better software faster. This is an emerging segment of the Agile ALM tool market, but as toolsets mature, the most important capabilities to look for include:
- Value stream and process mapping: Organizations need to visualize as-is and to-be processes and how they feed higher-level value streams. These capabilities should be designed for use by business stakeholders without the need for training.
- Goals and business needs: BizDevOps automation needs to define and manage business needs and measurable, quantitative outcomes. This information should be integrated with value stream and process mapping capabilities to provide a holistic view of what the business needs.
- Automatic generation of downstream artifacts: Automatic generation of user stories, acceptance criteria, and tests to feed the DevOps toolchain is necessary to accelerate delivery and improve quality. It enables business stakeholders to define their needs with little technical knowledge, and continuously feeds development and testing tools with the needed information.
- Collaboration: In a large enterprise, collaboration is more difficult but essential. Automation and digitization can support individual stakeholders across the organization as they review, provide input, and approve goals and requirements. Real-time engagement and a record of collaborative discussions help to ensure clarity.
- Artificial intelligence (AI): An AI engine analyzes data flowing through the BizDevOps toolchain and identifies patterns to suggest standard building blocks for reuse and automation. This enables accelerated delivery while reducing costs, and ensuring compliance.
- Traceability and impact analysis: These are table stakes for large enterprises in regulated environments to ensure compliance and support audit. Users should be able to trace the path from a business goal through detailed requirements to development and test results. That traceability should be supported by impact analysis to help teams understand the impact of change.
- Reuse: Many types of requirements can be reused - like those for compliance, security, and performance. Defining them once for reuse across projects, teams, and systems accelerates delivery, reduces cost, and improves quality and consistency.
Jumpstart App Success with BizDevOps
BizDevOps is here. Organizations that have been slow to implement DevOps in their mobile app development can now leapfrog first generation practices by directly implementing BizDevOps. It is the key to unlocking the desperately needed value from the investments enterprises are making in mobile application development. The success of organizational digital transformation efforts and omni-channel customer experiences depends on it.
Learn the best ways to organize your app development projects, and keep code straight, clients happy, and breathe a easier through launches.
Write and run code every step of the way, using Android Studio to create apps that integrate with other apps, download and display pictures from the web, play sounds, and more. Each chapter and app has been designed and tested to provide the knowledge and experience you need to get started in Android development.
How to create a profitable, sustainable business developing and marketing mobile apps.
This content is made possible by a guest author, or sponsor; it is not written by and does not necessarily reflect the views of App Developer Magazine's editorial staff.