A Research Paper By David Chong, High Performance Coach, AUSTRALIA
Agile Software Development
According to the Cambridge Dictionary, the word “Agile” can be defined as follows:
able to move your body quickly and easily
In the context of software development, Agile is a set of principles and practices that emphasize flexibility, collaboration, and customer-centricity. This allows organizations to not only deliver products & services to customers quickly but also rapidly adapt to changing customer requirements and circumstances. This is especially important in today’s competitive and uncertain market.
For this research paper, we will be looking at how the ICF coaching competencies can be used in conjunction with and complementarily to Agile software development.
What Is Agile Software Development:
The Agile Manifesto, created in 2001 by a group of software developers, outlines the core values and principles of Agile software development. The four key values stated in the manifesto and their meaning are as follows:
- Individuals and interactions over processes and tools: Agile focuses on the importance of effective communication and collaboration between team members over relying solely on rigid processes and tools.
- Working software over comprehensive documentation:
While documentation is still important, Agile values functional software that meets the needs of users. It promotes delivering tangible results instead of getting lost in excessive paperwork. - Customer collaboration over contract negotiation:
Agile methodologies prioritize involving customers and stakeholders throughout the development process, seeking continuous feedback, and adapting the product to meet their needs effectively. - Responding to change over following a plan:
Agile acknowledges that requirements and priorities can change over time. It encourages teams to be adaptable and responsive to change, adjusting their approach as needed to deliver the best possible product.
The Agile team refers to a cross-functional and self-organizing group of individuals who collaboratively work together to achieve a common goal. This team uses Agile frameworks and methodologies, such as Scrum or Kanban, to enhance flexibility, adaptability, and efficiency in their work. By fostering a culture of transparency, collaboration, and empowerment, Agile teams can effectively handle complex tasks and continuously optimize their processes to meet evolving requirements.
How Can the ICF Core Competencies Be Applied to Agile
Incorporating the ICF Core Competencies into Agile practices can enhance team performance, communication, and overall business success. Below is an exploration of how the ICF Core Competencies can be applied to Agile software delivery, and how they complement existing established Agile frameworks and tools.
Competency: Embody a Coaching Mindset
This ICF competency reflects the coach’s ability to cultivate an open and non-judgmental approach, allowing individuals and teams to explore their potential fully. In the context of Agile software delivery, embodying a coaching mindset in Agile software delivery begins with creating a safe space for team members to express themselves openly and share valuable insights, resulting in better collaboration and problem-solving. This fosters trust and respect among team members, empowering them to take ownership of their work and make informed decisions.
Competency: Establish and Maintain a Coaching Agreement
At the heart of Agile lies the need for a shared vision and goals. Applying this ICF Core Competency, coaches engage stakeholders and teams to define a strong coaching agreement. This aligns with creating project/team vision, goals, and scope through agile practices like project/team charters, work breakdown structure, user stories, acceptance criteria, and definition of done. The coaching agreement ensures that all parties understand the Agile values, principles, and roles, fostering a foundation of common understanding and commitment.
An exercise I often facilitate when kicking off a new team is the Social Contract. This is an explicit set of agreements and understandings that team members co-create with each other to govern their interactions, behaviors, and collaboration throughout a project. It serves the same purpose as the ICF coaching agreement as it creates a clear agreement about relationships, processes, and goals.
Below is an example team Social Contract:
Competency: Cultivate Trust and Safety
In Agile, trust and safety are crucial in creating an environment where Agile teams can thrive. Self-managing and organizing teams, a hallmark of Agile, require a high level of trust among team members. Agile ceremonies, such as retrospectives, encourage open and honest feedback, thus building trust within the team.
The coach plays a vital role in nurturing trust within the team and establishing a safe environment, enabling teams to collaborate effectively. ICF Coaching practices within this competency would greatly enhance agile ceremonies such as the retrospective:
- Seek to understand people’s context (incl. environment, experiences, values & beliefs)
- Acknowledge & respect people’s differences, perceptions, concerns, beliefs & suggestions.
- Show support & empathy.
- Demonstrate openness & transparency.
Competency: Practice Active Listening
Active listening is an essential skill for Agile coaches to understand the challenges and concerns faced by team members. In Agile, active listening is essential during ceremonies like daily stand-ups, where team members provide updates and highlight potential impediments.
By practicing active listening, coaches can:
- Reflect, summarise & keep team discussions focused on the goals so that meetings/workshops conclude with valuable outcomes.
- Identify underlying issues and facilitate root cause analysis and problem-solving.
- Ensure the team maintains progress momentum by anticipating and resolving impediments/issues (external and internal to the team) that may slow down progress.
Competency: Evoke Awareness
This ICF Competency aligns well with Agile’s emphasis on continuous learning and improvement. For example, the Scrum framework (2020 Scrum Guide)outlines the following three key empirical pillars:
- Transparency:
The first pillar emphasizes the importance of making all aspects of the project visible to everyone involved. This includes the work progress, challenges, and impediments. Transparency fosters trust among team members, stakeholders, and customers, enabling informed decision-making and early identification of potential issues. - Inspection:
The second pillar revolves around frequent and regular inspection of the product and the processes used to create it. Through regular inspections, the team can identify deviations from the desired outcomes and adjust their approach accordingly. - Adaptation:
The third pillar builds upon the insights gained through inspection. When issues or changes are identified, the team embraces adaptation by adjusting their plans, processes, or product goals.
In practice, this works by delivering working software frequently (e.g. every 2 weeks) and gathering feedback from customers & stakeholders. Agile teams regularly conduct demos and showcases, increasing awareness of the product’s progress and eliciting feedback, contributing to better-informed decisions.
Powerful questioning and facilitation are also key competencies in both Agile and coaching. In Scrum, powerful questioning is employed during sprint planning and backlog refinement ceremonies to clarify requirements and identify potential issues to facilitate meaningful discussions and foster a culture of continuous improvement.
Coaching questions in the Scrum ceremonies may include:
Sprint Planning:
- What are the most critical items to deliver in this sprint?
- How confident are you in the team’s capacity to complete these tasks?
- What potential risks or dependencies do you foresee for this sprint?
- How can we break down complex user stories into smaller, actionable tasks?
- How does this sprint align with the overall project or product goals?
- What are the specific objectives we want to achieve in this sprint?
- How do these goals align with the overall product vision?
- Are the goals achievable within the sprint’s time frame?
- What resources or support do we need to meet these objectives?
- What will tell us we have succeeded in achieving these goals?
Daily Stand-up:
- What are the specific objectives we want to achieve in this sprint?
- How do these goals align with the overall product vision?
- Are the goals achievable within the sprint’s time frame?
- What resources or support do we need to meet these objectives?
- How will we measure our success in achieving these goals?
Sprint Review/Demo/Showcase:
- Which sprint goal(s) did the team accomplish, and how does it impact the overall product vision?
- How does the completed work align with the initial sprint goal?
- What feedback have you received from stakeholders or customers?
- What improvements can be made based on the feedback received?
Sprint Retrospective:
- What are the specific objectives we want to achieve in this sprint?
- How do these goals align with the overall product vision?
- Are the goals achievable within the sprint’s time frame?
- What resources or support do we need to meet these objectives?
- How will we measure our success in achieving these goals?
Competency: Cultivate Learning & Growth
Designing Actionable Goals and Plans
Both Agile and this ICF Competency emphasize designing goals, actions, and accountability measures. Agile frameworks set these actionable goals in the form of sprint objectives and user stories. In Scrum, Agile coaches work closely with teams to prioritize the most valuable work and help determine which user stories will be included in the sprint (e.g. 2 weeks) plan. The sprint goal will also be created based on the plan and it must align to achieving the larger project goals and vision.
Manage Progress and Accountability
The agile framework (especially Kanban) demonstrates this ICF Core competency by providing visual management tools that make it easier to track workflow progress, highlight impediments/bottlenecks, and maintain accountability.
Example Kanban board (Kanbanize)
Agile practices such as sprint reviews/demos/showcases and retrospectives also hold the team accountable for delivering value at the end of each sprint.
Support and Celebrate Success
This ICF Core Competency aligns seamlessly with Agile’s emphasis on acknowledging and celebrating incremental progress at the end of each sprint (i.e. at the Sprint Review/Showcase and the Retrospective). Agile encourages teams to celebrate the successful delivery of user stories and sprint goals, reinforcing a positive team culture. The Agile coach plays a critical role in supporting teams during challenging times and ensuring the recognition of achievements, further motivating the team members.
The 2 Key Problems With Agile?
In the course of doing this research and reflecting on my own experience, there are 2 key problems with Agile that must be addressed
1. “Doing Agile” vs “Being Agile”
When people hear the word ‘Agile’ in a software development context, they think of frameworks & methodologies such as Scrum, Lean, Kanban, Extreme Programming (XP), and scaled Agile Framework. What happens is the implementation & compliance/governance of these frameworks & methodologies become the goal, instead of the purpose of becoming agile (i.e. to enable teams to deliver valuable, high-quality products/services). This is often referred to as “Doing Agile” vs “Being Agile”:
In my experience, the title of Agile Coach in these enterprise Agile Transformations is more like an AGILE coach because this role is more like an Agile consultant (problem solver), Agile trainer (teacher), and Agile mentor (expert). What these roles all have in common is they do 90% of the talking and leave only 10% for listening. This is contributing to the problem.
The agile COACH needs to be somebody who listens, shows curiosity, and allows the teams/individuals to come to their own solutions. It comes down to the words, tone, and body language used by the coach to make the team feel safe to try new things and build confidence.
Employing the ICF Core Competencies allows for the team empowerment and safety to the “Being Agile” state, reflecting Agile values around fostering a collaborative, trust-based, and goal-oriented environment, ultimately leading to improved team performance.
2. Management Support/Buy-in to Agile
According to the 2022 State Of Agile survey,
- 38% reported a “lack of management support” was a leading cause of unsuccessful delivery with Agile.
- While 26% of respondents say, “Inefficient management collaboration” is a barrier to adopting Agile.”
When it comes to change, success or failure comes down to people. The survey above highlights how the management wants the people/teams below them to change, however, they are unwilling to change themselves. This results in a lack of management collaboration, understanding, and support for the Agile transformation occurring on the ground level.
This presents an opportunity for coaching at the management level to strengthen relationships, and trust and provide clarity and buy-in to the agile way of working. Powerful questions to management include:
- What problem is Agile going to solve?
- What is important/urgent about making this change now?
- What does working in an Agile way mean to you?
- What will implement Agile do for the business?
- How will you know you are on the right track with this transformation?
Agile Software Development Frameworks and Tools
In conclusion, the ICF Core Competencies align well with Agile software delivery principles/values, and complement the Agile frameworks and tools, enhancing their effectiveness. The Agile coach applying these competencies can expect improvements in the areas of building trust, creating a safe environment, and strengthening relationships and collaboration with management.
References
Meaning of agile in English| dictionary.cambridge.org
Manifesto for Agile Software Development |agilemanifesto.org
Social Contract| com/miroverse
2020 Scrum Guide | scrumguides.org
24 Practical Kanban Board Examples| kanbanize.com
16th annual State of Agile report (2022)| State of Agile
The Number One Reason Why Business Change Fails and How To Fix This | Chris Dunn Consulting
Doing Agile vs. Being Agile | Shift314 Evolve Performance