IT organizations are increasingly adopting development approaches that allow for flexible and emergent requirements, faster development, automation of processes, frequent updates, and operational excellence. Agile development is one key aspects of this shift. Concurrently, many organizations have adopted a DevOps approach or “development to operations” that coordinates the entire delivery chain spanning development to deployment.
Michael Rosen, Chief Scientist, Wilton Consulting Group
Michael will be presenting the following courses via Live Stream: BizOps – Integrating Architecture, Business Analysis, DevOps, Lean, and Agile 27-28 May 2021 and Architecting the Digital Business Platform 24-25 May 2021
While DevOps can greatly increase the speed and efficiency of development, this often comes at the expense of strategic alignment. At a project level, organizations are deploying software faster, but, are they deploying the right things, or just heading faster toward more technical debt and redundancy and less enterprise consistency and interoperability? While speed is important, it is the right things at the right speed — the “speed of business change” — that is critical to success today.
Some key characteristics of DevOps that contribute to speed are the continuous feedback between stages, faster cycle time supported by small Agile sprints and automation, and metrics that measure the overall success and speed of the DevOps process. BizOps is aimed at enhancing these qualities to enable the speed of business change.
BizOps Continuous Cycle
The figure below illustrates the BizOps continuous cycle.
- Agile Development – Agile development refers to a set of methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams. Agile is iterative and incremental, time boxed, test driven, focused on an MVP based on continuous owner feedback, and measurable.
- Continuous Integration – Continuous integration is the continuous process of merging all code to a central repository and validating each merge with the completion a successful compile and build and the running of automated unit tests.
- Continuous Testing – Continuous testing is the execution of automated tests against the code base and the various deployment environments. This includes unit tests, static code analysis, security code analysis, integration tests, load and performance tests, all of which are run in an automated continuous testing pipeline.
- Continuous Delivery – Continuous delivery is the process of delivering the software and updates to production in smaller, ready to go increments, ensuring that the software can be released at any time. The goal of continuous delivery is to accelerate release cycles and get new code out to production fast.
BizOps takes these key components of Agile and DevOps and extends them to include measurement and strategic and enterprise concerns. The continuous feedback extends to two other important stages:
- Continuous Measurement – Continuous measurement is the processes of collecting information about the use, quality, and value delivery of products and services and feeding that back into the loop to achieve continuous improvement and increased value realization. The challenge is to not simple measure the output of products and services, but to measure that they are achieving the business outcomes that are expected. Adding continuous measurement into the feedback cycle ensures that an understanding of business value is integrated into the Agile development process, and that the definition of “done” includes the instrumentation of software products and services to collect the appropriate metrics.
- Continuous Strategy – Continuous strategy is applying a strategic and enterprise context into the selection of project and program activities. This means having an understanding of the enterprise’s:
- strategy and context
- priorities and dependencies
- business and operating models
- value proposition
- value delivery through products and services.
And then, using that understanding and context to guide the selection and priority of project activity and to create a shared understanding and vision across all teams.
Of course, there is more to the enterprise context than just business aspects. Enterprises also have a technology strategy and architecture which is critical to the efficient and effective execution of the business strategy – an “intentional architecture”. The development of the architecture has to be flexible enough to incorporate emergent requirements as products and services are implemented and other changes are integrated. So, it is developed using the same Agile and DevOps practices as other technology. At the same time, as product features are developed, they will depend on specific “enabling features” to support them. To optimize the overall delivery, the development of these architectural enablers needs to be a few steps ahead of the product and service features that will depend on them – in other words, ready when needed. An important aspect of the continuous strategy stage is the identification and planning of the enabling features so that the intentional architecture is always ready to support emerging products and services.
An essential concept of DevOps is the idea of autonomy. Teams are responsible for their own fate, and for all aspects of product lifecycle from development and integration, through testing and delivery. But, for autonomous teams to work, they must have two things, clarify of goals and purpose, and competence at their expected tasks.
The key to this is a well-defined and articulated vision, strategy and values that are understood across the enterprise and continually enforced by leadership. Teams make decisions based on how best to achieve the enterprise’s vision within the context of its values. Business and technology architectures provide the context for this vision and the continuous strategy stage provides the opportunity to always keep it current and relevant. When there is clarity of purpose and teams have the authority and competence to act, they can provide significant business outcomes as well as increased efficiency and effectiveness with BizOps.
Want to learn more? Tune into the course via live stream 10-11 June 2020. Visit IRM UK’s website for more information.
Mike Rosen is Chief Scientist at Wilton Consulting Group providing advice to CIOs, IT Leaders, and Architects on creating the new Digital Business Platform, using architecture as a tool for digital transformation and improved decision making. He is also a Founding Member and VP of the Business Architecture Guild. Mr. Rosen has more than 35 years of technical leadership experience architecting, designing, and developing solutions, applications, and products, He was previously CTO at startup AZORA Technologies and chief architect, product architect, technical leader, and developer for commercial middleware products from IONA, BEA and Digital. Mr. Rosen is a well-known international speaker and author of 3 books and hundreds of articles.
Copyright Michael Rosen, Chief Scientist, Wilton Consulting Group