The fast and developing organizations are now mostly on Agile wheels! Even some of the biggest corporate giants have realized that “Agile begets Agile” and have kept no stone unturned to achieve complete agility. The first and possibly the biggest milestone was integrating DevOps into the Agile fabric to fully utilize the values of both the technologies. Yet, for the longest time, there existed innumerable constraints that were weighing down these Agile teams.
They finally understood that the first big step to attain speed, performance and synergy in Agile projects was a proper Agility Assessment. This was the foundation and the very basic formula that kept an Agile team up and running.
What is the purpose of assessment?
The primary aim of assessment is to understand the current state of agility in delivering working software in the organization at all levels. Agile Coach will work with you to develop a shared understanding of conditions, strengths, and weaknesses in relevant technology and business areas, including organizational arrangements and processes, leadership and management, teams, Agile implementation readiness, infrastructure, and other areas.
Assessment is based on interviews with key stakeholders, survey tools, review of documentation and records, published guidelines, wiki sites, and so on. Agile Coach will observe teams in action and inspect code assets and artifacts as appropriate.
The primary objective of assessment is to develop an understanding of where the organization stands with Agile implementation strategy and recommendations which could help them in getting better. Assessment readout is a collaborative activity facilitated by Agile Coach in which your leadership and key stakeholders develop a shared understanding and ownership of the transformation program.
What shall be done as part of assessing the Organization Agility and DevOps?
The outcomes of Agility and DevOps assessment are as follows:
- Initial findings, observations, major risks or impediments, and recommendations for an Agile transformation backlog, including the following topics:
- Team design
- Tool use (e.g., Jira)
- Workflow recommendations for Kanban, Lean Startup, or Scrum
- Backlog items for improving the organization Agility and DevOps practices
- Recommended metrics and key performance indicators appropriate to inspect, adapt and monitor ongoing improvements.
Areas and Process of Assessment
Schedule a meeting with the IT leadership team to introduce the team, discuss the outcomes, and initiate a process of Assessment. Discuss the various aspects of Agile transformation such as-
- What are the business drivers for Agile transformation?
- What are the priorities?
- What is the level of support?
- How involved will each leader be in the transformation? Who will lead and who will support?
- What risks does leadership foresee and how might those risks be mitigated?
- How is the alignment between IT and business?
- How does IT communicate with other business units?
- What are the leadership styles being exhibited in the organization and its impact?
Organization Design and Policies
Schedule a meeting with those responsible for managing people to visually depict roles and responsibilities, reporting structures, assignments, and team organization (composition, location, and number). Here are a few points to consider-
- How are teams created, modified, and directed?
- What is the organizational or management culture?
- An organization chart for IT and its business stakeholders, with names, managers, and roles
- Some of the organization policies
Schedule a meeting with product management or product ownership to discuss the value delivered to Client:
- Product visions, roadmaps, and release goals and plans in the next year
- Requirements gathering
- Who are the business stakeholders?
- What are the products, services, or user experiences delivered by IT?
- What are their product visions, roadmaps, and release goals and plans?
- Visually depict how requirements flow into IT.
Schedule a meeting with program and project management and have clarity on the following points-
- How do requests or ideas turn into projects? How are projects prioritized, funded, and assigned to teams?
- What governance or lifecycle requirements do projects have? Is any work capitalized?
- How is software quality maintained?
- How is process governed? What compliance is required?
- How are deliverables, schedules, and milestones managed?
- What does IT deliver iteratively? How long are the iterations?
- What does IT deliver on demand? How long is the required lead time?
- High-level service description—the big picture view of the results of IT’s work
- Effectiveness of different roles being performed in the teams
Schedule a meeting with system and application architects to visually depict APIs, integration points, platforms, source control systems, and technologies used by IT. Below is a rundown of the essentials to take care of-
- A list of technologies (programming languages, software stacks, databases, major 3rd-party components, etc.)
- Major code bases and tools
- Delivery pipeline and release frequency
- Release-level manual testing timeframes, participants, and strategies
- Automated testing frameworks, environments, and data
- Automated build practices and frequency
- Branch and merge practices
An additional agenda item for this meeting will be determining the feasibility of collecting the following data:
- The number of unit, integration, acceptance, UI, and performance tests and what percentage of each type is automated
- Code coverage and any other static or dynamic codebase metrics
- The number of open defects categorized by severity and whether they are post-release (i.e., end user impacts)
- The time it takes to create and deploy a full build in a separate test environment
- The percentage of release time spent on integration, regression, stabilization, performance, load, and security testing, etc.
- A list of tools for automation, build, coding, defect tracking, design, requirements, source control, testing, etc.
- Arrange one or more sessions with representative teams. Include developers, testers, technical writers, usability engineers, architects, analysts, business people—whoever is involved in delivery. The outcome will be a visually depicted interview providing context for the team’s areas of pain, pleasure, and desired change.
Schedule a discussion with leadership after collecting the data to provide the details on what was done as part of the assessment and a set of recommendations which would help in improving the organization Agility and DevOps practices.
That fairly brings us to the end of Agility assessment, combined with DevOps assessment in Agile teams. Together, Agile and DevOps can work wonders in organizations, only if supported by proper assessment techniques. The role of the Agile leaders in such evaluative processes is crucial. They should familiarize themselves with all the key processes in Agile and DevOps assessment and spearhead their teams efficiently.