Kenoobi Group is undergoing a major transformation as it aligns its technology capabilities with its strategy of being a more lethal, resilient, and rapidly innovating diversified IT Company. The transformation is not only a digital one, but a cultural shift. Our staff are working hard to define best practices and bolster collaboration with industry partners so they can tackle massive and complex IT projects while adopting an agile approach to procurement and software development, using tools such as DevOps.
Here’s our Kenoobi Group Software Factory blueprint:
At the top level we mapped our four primary value streams. (A value stream is a series of activities that Kenoobi Group performs in order to deliver something valuable, such as a product or service.) Those four are Plan (Strategy-to-Portfolio), Build (Requirement-to-Deploy Lifecycle), Request-to-Fulfill (R2F), and Detect-to-Correct Lifecycle (D2C). As products pass through the activities of the chain, they gain value at each step along the way. A value chain framework helps Kenoobi identify the activities that are especially important for the advancement of strategy and attainment of goals. It helps us be more competitive.
Beneath the value streams, the main functions and services appear inside boxes, and we grouped them into families that represent logical domains (e.g., ALM, Build Factory, Test, etc.). The dashed line captures the Kenoobi Factory scope, with the main interfaces to external functions captured outside of it (portfolio management, service support, and service operations).
Here’s more about each of the four value streams:
- Strategy-to-Portfolio (S2P) provides Kenoobi with the optimal framework for interconnecting the different functions involved in managing the portfolio of services we deliver. Activities such as capturing demand, prioritizing, and forecasting investments requires data consistency and transparency in order to maintain alignment between the business strategy and the portfolio.
- Requirement-to-Deploy Lifecycle (R2D) describes a prescriptive framework of required functional components and data objects so Kenoobi can better control the quality, utility, schedule, and cost of services, regardless of the delivery model. It is a means to improve agility and quality.
- Request-to-Fulfill (R2F) represents a modern, consumption-driven engagement model that goes beyond traditional IT service request management. It is a framework for connecting the various consumers (business users, IT practitioners, or end customers) with goods and services that they need to drive productivity and innovation. It fosters service consumption and fulfillment, knowledge sharing, self-service support, and collaboration between communities of interest to improve the overall engagement experience with IT.
- Detect-to-Correct Lifecycle (D2C) enables Kenoobi to increase efficiency, reduce cost, reduce risk, and drive continuous service improvement by defining the data objects and data flow required to integrate operations across multiple domains. It is a means to improve customer satisfaction.
Transforming Kenoobi Group isn’t going to happen in a day. We are an enterprise-scale business with many engineers and products that have tens of concurrent releases and interdependencies, and we have many different tool chains, processes, people skills, and preferences. We need Kenoobi Software Factory to be flexible enough to bridge that complexity so we can operate in an agile fashion.
Here are the other key elements of Kenoobi Software Factory.
Application lifecycle management
Application lifecycle management (ALM) is at the core of Kenoobi Software Factory. On the one hand, the ALM system serves as the main system of record that interrelates and provides the traceability and context across such lifecycle artifacts as backlog items to requirements, tests, defects, code commits, builds, and so on.
The build factory
Our build factory spans the application development lifecycle from when the developer pushes a code change from the integrated development environment (IDE) to the source-code management (SCM) system, which in turn triggers the continuous integration (CI) to run, executes the required tests, and pushes the build results into an artifact repository.
As part of our motivation to improve agility and quality, we extended testing across the entire application development lifecycle. We are shifting testing left in order to detect issues as early as possible, and we are doing continuous testing to balance agility and quality.
This means that as the code commit progresses in the delivery pipeline from software development to testing, staging, and production, validation is extended and risk reduced. We integrate functional, performance, and security testing with our CI to provide early detection, and with our ALM system to enable quality management and insights. By consolidating all of our data into the ALM system, we can detect risky areas that require more attention, which we address through manual tests and additional validation cycles.
Release management is the process by which our products and services become available to the market. Each of our product teams releases according to its own schedule and has its own form factor (product installation, virtual appliances, containers, etc.) and delivery model (product and SaaS). And in some cases our products span multiple form factors and delivery models.
We must coordinate each release across the portfolio with business stakeholders, such as the support group, which should be trained up front; the professional services group, which offers services on top; and so on.
Our infrastructure services, which power the various use cases in Kenoobi Software Factory, include more than just basic networking, compute, and storage elements. The continuous integration and build processes have spikes that require high compute power.
We have an elastic infrastructure that allows us to meet that need cost-effectively while remaining agile. As a software vendor, our products should support our customers’ environments, which means supporting a variety of infrastructure types and form factors that span physical, virtual, and containerized environments. The software must run in both on-premises systems and a variety of cloud environments, and it must integrate middleware technologies such as databases, application servers, and web servers.
To enable testing and certifying of our software products across this complex support matrix, we use a hybrid IT service. Specifically, we delivered an infrastructure-on-demand (IoD) service that provides a self-service experience to our engineering teams. They can quickly access on-demand services that cover our entire matrix of supported environments and form factors. We built this system based on a shared poll of infrastructure resources that span our data centers as well as public clouds.
Moving forward we plan to extend integrations within Kenoobi Software Factory services to streamline our four value streams and support new ones. Our backlog is agile: It dynamically changes based on the continuous feedback we receive from customers, the product teams, and our business portfolio priorities.