DevOps practices have been transforming software delivery for a few years now. Yet, many organizations are still trying to figure the right way to embark on the DevOps transformational journey.
Given that each organization’s journey will be different, substantial planning is needed to get the most out of your DevOps efforts. The best way to set foot on the DevOps journey is by first embracing Qualitative Discovery. By interviewing cross-functional teams about their current processes, challenges, and improvement plans, the qualitative discovery process aims to help organizations get the most out of their ALM & DevOps initiatives.
The increasing complexity of software projects is compelling organizations to embrace tools and processes that simplify the application development process while reducing costs and improving quality.
Since every organization is unique with respect to its business model and culture, follows appropriate processes, and uses a unique set of tools and technologies, each organization will first need to assess their complete situation with the help of a specialized consulting partner.
A specialized consulting partner will ensure that enterprise leaders make the best decisions when it comes to choosing which methodologies to embrace, frameworks to follow, and tools to use. Specialized consulting can also help organizations to break down the complexity that comes with DevOps implementation, put together a phased roadmap, and plan investments with maximum ROI.
Let’s start with some questions –
- Do you want to build DevOps capability in your organization to streamline operations from inception to delivery?
- Do you want to get visibility into the entire delivery cycle with an integrated program and portfolio management for effective decision support and traceability?
- Do you want to improve “Time to market” to maintain a competitive business advantage?
- Do you want to upgrade to modern ALM & DevOps technologies for some or all of the Operational delivery drivers such as these?
If the answer to any of these questions is yes, then before you initiate DevOps transformation, what you shall opt for qualitative discovery.
Qualitative discovery provides end-to-end detailed insights into your existing processes. Only when you exactly understand your current state, you can implement the right tools and processes to collaborate better, identify issues faster, and improve product quality and time-to-market.
The following are some of the factors which will define the complexity of the qualitative discovery process, as they have an impact on the DevOps implementation:
- The size of your delivery team – How many people are working on the project, what are their roles, responsibilities, and expertise. The larger the team, the higher the requirements for alignment, collaboration, and Integration.
- The number of products and teams – The number of products and the complexity associated with the way these products are structured internally as components and externally as component teams will also have an impact on the integration and flow of deliverables, thereby impacting DevOps implementation. The location of your teams is a factor as well, as a greater emphasis is placed on systems to enable integration, communication, and collaboration when there are constraints like timezone and location.
- Number of functions – Which functions are being considered (Engineering Only/ Engineering + Customer Support/ Engineering + Customer Support + IT Ops/ Engineering + Customer Support +IT Ops + Business functions). Complexity increases as per the functions and their integrations or handshakes. Remember, there is always a need for integrated Program Management and Portfolio Management with an increasing number of teams, functions, and leadership layers.
- Methodology - Whether you use traditional, Agile, or Multi-speed, IT will also have an impact on the processes and handshakes you want to design while systemizing your software manufacturing assembly line.
Once you have decided to conduct the qualitative discovery you will need to follow the steps below:
The first step is to understand where you are and what you are dealing with. Typically, interviews are conducted at this stage and existing artifacts or systems are reviewed.
- Assess the current state of your project’s software delivery process and clearly articulate the goals and objectives of the DevOps/ALM Initiative.
- Assess the business process and identify how the handshakes between functions happen. Establish what handshakes are working well and where there are complaints/challenges or bottlenecks.
- Ensure that the discovery is done as a cross-functional team activity: not just for the software development & IT operations team, but also for the QA, Release Management, Product Management, Infrastructure team, etc.
- Identify the key items contributing to organization delivery wastes such as delays due to incorporating extra features, waiting for inputs from other functions, waiting for reviews, waiting for infrastructure, and waiting for the next build. Waste can also arise from poor requirements definition, rework, undetected bugs, work in progress, inadequate design, coding errors, wrong documentation, over-processing, and more.
- Consider other aspects such as existing tools being used, your current processes, the challenges you are currently facing, and processes or systems or handshakes you are expecting to implement.
This next step involves preparing an as-is discovery report and getting sign off from the cross-functional team. Sign-off is essential so that all the stakeholders acknowledge the problems and challenges in the current environment as-is.
Once the current state has been identified, the next step is to analyze it. In this step, you need to correlate learnings from each function and validate them against the experts/leadership hypothesis. Make a determination as to which constraints are hampering the flow of deliverables, and whether or not supporting, elevating, or eliminating these constraints will boost the overall effectiveness of the system. You may see clear signs of these constraints from our discovery report; team complaints or challenges while handshaking with adjoining functions are typical areas that need attention. Map the entire Value Stream for your Software Delivery assembly line so that you are able to visualize how your constraints are moving from one point to another as you iteratively make improvements in the software assembly line.
After a thorough analysis, the next step is the development of a high-level solution and roadmap for your ALM & DevOps implementation based on the findings.
The recommended solution and roadmap must include the following along with a proposed timeline.
- DevOps Implementation Roadmap and a high-level solution Architecture covering technology landscape, process frameworks, integrations, and automation.
- A high-level design & cross-functional workflows that solve the gaps in the current system
- If the solution calls for introducing new systems then a detailed migration plan for data and user needs to be a crucial aspect to be covered in the solution.
For more insights into the ALM & DevOps implementation strategy, refer to my previous blog post.
In the modern business world, it’s a fact that software innovation drives business innovation. The faster development teams can deliver on software innovation, the faster businesses can deliver value.
Leadership Commitment: Qualitative Discovery helps in uncovering the gaps and challenges in the existing system and helps in identifying the possible solutions to solve those. To make the change successful, leadership commitment and involvement are extremely crucial.
Openness and Transparency: In addition to leadership commitment, openness and transparency from people involved in the process are equally important. Only through transparent communication during the discovery process, one can identify the real challenges and find out the real causes of issues. It is possible that the discovery could unveil certain unpleasant facets of the current functioning. The team needs to be open to accept the gaps and be willing to adopt the change.
No matter where organizations are in the software development lifecycle, they often struggle with various challenges that affect the quality and timeliness of ALM & DevOps practices. If you want to ensure continued success with your ALM & DevOps efforts, it is important you begin on the right note.
Qualitative discovery is a critical aspect; not being done can decide the fate of your transformation investment. By carrying out an as-is assessment of current tools, processes, and practices, you can identify problem areas and challenges, and drive efforts towards overcoming them – using a robust discovery process. After all, it is only when you start well, can you end well and meet the goals of improved software quality, quicker time-to-market, and better customer satisfaction.