In a rapidly evolving application development landscape, DevOps provides a collaborative approach towards application delivery. As application delivery begins to involve multiple functions and teams, the process demands handshakes between various stakeholders for timely and quality delivery.
Application lifecycle management (ALM) comes as an enabler of better application delivery by coordinating people, processes, and tools and enabling an environment of collaboration. This helps in ensuring the quality of the releases within the defined and desired timeframe.
Given the gamut of activities that encompass the ALM universe, it becomes essential to have a conversation between the CXO & IT Head (at a business level) and IT Head & ALM consultant (at the implementation level) to design a successful ALM strategy.
So, what are the key considerations to ensure the successful ALM Implementation Strategy.
Leadership Emphasis on Being Systems-Driven
Leadership buy-in and engagement is essential for successful ALM implementation. If the leadership takes a stand on being systems-driven then the entire methodology, the teams, and the working dynamics follow suit. Leadership has to lead by example to secure middle management commitment towards ALM processes. Leadership can thus employ an integrated dashboard that defines the baseline, capability and the key metrics essential for application delivery improvements. This systems-driven approach that is backed by ALM data allows IT and DevOps teams to deliver better software to the users.
Size (and composition) of the Delivery Team
The size of the entire delivery team plays a crucial role in successful ALM implementation strategy. Business departments, subject matter experts, users, clients, etc. who will be impacted by the application have to be an integral part of the team for better requirement gathering and design creation. Then come the development, testing and QA team who are the ninjas who would take the dream to reality.
The truth is, that the larger the team and the more the number of stakeholders, the more complex and challenging the rollout process becomes. As the number of roles or functions increase, the feedback loops and the number of handshakes needed also increase. Consequently, these factors make ALM implementation and roll out more complex.
Ensuring proper communication and collaboration between these teams and ensuring that the right stakeholders are invested right from the requirement gathering process plays a significant role in success. Along with this, it is imperative to ensure that for organization-wide rollouts, change implementation is induced around cross-functional handshakes in smaller chunks. In the event of higher functional leadership commitment, and sometimes in the interest of time, it is alright to induce bigger changes that are local to the function.
Evaluate Team Maturity in Using Processes and Systems
Many times, enterprises forget that the maturity of the team in using processes and systems can play a critical role in ALM implementations. Regular project management tools are different from ALM tools. ALM tools include elements like quality assurance as a part of application development, integrated source code management, etc. These tools provide greater visibility, traceability, and better collaboration features, etc. It, therefore, becomes essential to evaluate the workflow being employed and see to it that it has a low learning curve. It is also important to ensure that all the members of the team understand the processes and systems adeptly to avoid any roadblocks in the implementation journey.
To assess the existing maturity, baseline where they stand in terms of process maturity, tools usage, integrations, and automation, etc. This approach also helps in identifying the requirements and changes needed to build a successful implementation and rollout plan. We recommend introducing these changes gradually to manage resistance to change.
Agile, Traditional or Multi-speed IT– The choice of methodology
To ensure success, ALM implementation needs to be architected around the development methodology that the delivery team plans to follow. The development methodology does not have to be an all or nothing game. Many times, a part of the organization would want to follow Agile while others might want to follow waterfall or multi-speed IT. The development might happen following Agile but the systems testing team, or the release follows the waterfall methodology. Even in case of Agile Development, you model your Sprints using Scrum boards while Requirements / Backlog Grooming could be modelled using Kanban board. What is important is to acknowledge these dynamics and design the ALM systems and cross-functional handshakes accordingly. Since the success of ALM implementation depends on collaborations and such cross-functional handshakes, not considering this piece of the puzzle can derail the whole ALM initiative.
Enable Continuous Improvement
Continuous Improvement is the secret ingredient that is crucial for successful ALM implementation. Continuous improvement means a continuous evaluation of the process. It demands identifying areas of improvement and prioritizing constraints (bottlenecks, rework, etc.) depending on the ROI impact on the business drivers and the key goals in relation to the part of the ALM system being introduced or improved. Here are some of the recommendations which we give –
There is no ‘one size fits all’ approach when it comes to ALM implementation. This is primarily because every business, team, and division are different and have very specific needs. Taking a customized approach to mapping the ALM strategies is a good starting point for success. As a thumb rule, it is best to identify the early adopters, conduct a pilot and measure its success to design a process that can be replicated. Change should also be introduced in smaller pieces to allow the teams to manage these without impacting the key deliverables.
Change is constant in today's market. Business leaders often need to accelerate the change process to respond to competition, for reputation management, and for realizing revenues and cost efficiencies, amongst others. Having a robust ALM implementation plan in place makes navigating these complex waters less tumultuous and keeps leading an organization to success.
How is your experience in implementing ALM? I would be keen to know your learnings.