Conference PaperPDF Available

Xtreme programming and agile coaching

Authors:
  • Innoxec (Innovation Executive Services)
  • Industrial Logic, Inc.

Abstract

This panel brings together coaches to discuss all aspects of the practice - how to become a coach, choosing a coach, and describing what is to be an (in) effective coach. A coach watches, provides feedback, and suggests subtle direction. The coach may be more - for example - an architect or team lead. The panelists will describe their positions and offer feedback. Panelists were asked to offer responses to three questions: How did YOU become a coach?What's the toughest thing you've had to do as a coach?What's your advice for teams looking for a coach?
Panel
Xtreme Programming and Agile Coaching
Steven Fraser (Impresario)
Independent Consultant
Rachel Reinitz (Chair)
IBM
Jutta Eckstein
Independent Consultant
Joshua Kerievsky
Industrial Logic
Rob Mee
Pivotal Computer Systems
Mary Poppendieck
Agile Alliance
ABSTRACT
This panel brings together coaches to discuss all aspects of the prac-
tice – how to become a coach, choosing a coach, and describing
what is to be an (in) effective coach. A coach watches, provides
feedback, and suggests subtle direction. The coach may be more –
for example – an architect or team lead. The panelists will describe
their positions and offer feedback. Panelists were asked to offer
responses to three questions:
How did YOU become a coach?
What’s the toughest thing you’ve had to do as a coach?
What’s your advice for teams looking for a coach?
Categories & Subject Descriptors:
D.2.1 [Software Engineering]: Requirements/Specifications:
Elicitation methods
K.6.1 Project and People Management: Management techniques
K.7.1 [The Computing Profession]: Occupations
General Terms: Design, Human Factors, Management
Keywords: Coaching, Team Building, Mentoring
1. Steven Fraser, sdfraser@acm.org
Steve Fraser (panel impresario) is an independent consultant in
Santa Clara California. Until 2002, Steve served fifteen years in a
variety of cool software technology program management roles at
Nortel Networks including: Process Architect, Senior Manager (Dis-
ruptive Technology), Process Engineering Advisor, and Software
Reuse Evangelist. In 1994 he served a year as a Visiting Scientist at
the Software Engineering Institute (SEI) collaborating with the Ap-
plication of Software Models project on the development of team-
based domain analysis techniques. Steve is an avid operatunist and
videographer.
Coaching is about teamwork, motivation, communication, skills and
strategy. Coaches help team members become a cohesive unit, un-
derstand the “rules-of-the-game”, facilitate interaction, optimize
skills, and build motivation towards common goals. Depending on
the team and their role, coaches develop and execute tactics and
strategy in much the same fashion as sport team coaches. Interest-
ingly two distinct coaching roles have emerged – the manager as
coach, and the consultant as coach.
2. Rachel Reinitz, rreinitz@us.ibm.com
Rachel Reinitz (chair) is a Senior Consultant with IBM Web Sphere
Services focusing on Web Services. She is also an experienced eX-
treme Programming coach who has used XP practices for four years.
Rachel advises customers on incorporating web services into their
applications and on incorporating Agile/XP practices and tools into
their development processes. Rachel spent a year as technical lead
for supplier integration at the B2B marketplace builder, Ventro
(Chemdex) and two years as an XP independent consultant.
3. Jutta Eckstein, www.jeckstein.com
Jutta Eckstein is an independent consultant, XP coach and trainer
from Munich, Germany. Jutta’s experience with agile processes
developed over ten years developing object-oriented applications.
Jutta has worked with teams of different sizes mainly in the finance
industry to help them use agile processes. Besides engineering soft-
ware she has designed and taught OT industry courses. Jutta trained
as a teacher and experienced leading many train-the-trainer pro-
grams in industry. She focuses on techniques which help teach OT
and is a main lead in the pedagogical patterns project. She is cur-
rently writing a book on Scaling Agile Processes, which will be
published in 2003. She is a member of the Agile Alliance and a
supporter of the Manifesto of Agile Software Development
(http://www.agilealliance.org). Jutta uses the team’s best practices as
a starting line. Interviews are an excellent technique for mining the
team’s best practices. Alternatively one can use a specific agile
process, such as XP as a starting line allowing for deviations where
necessary. Although as a coach you might have experienced XP as
the ideal process for a specific team, it might not work for a different
team. Be flexible in the process as long as it supports the overall
goal since working software providing the highest business value to
the customer.
Every team and every team member buries a wide range of good and
bad practices also concerning software development processes. As a
coach it is very important to mine this knowledge and use it for
defining the team’s own process. Thus it is much more important to
respect the experiences of the team than the experiences of some
process methodologist. Of course the knowledge of colleagues and
other process methodologists is a great source for filling the gaps in
the team’s own process and for improving it. Regular project retro-
spectives after really short iterations help to find these gaps and the
necessary improvements. As soon as the team trusts in the process
and knows how to make any necessary changes the coach needs to
step out – since the team can only organize itself when it really gets
the responsibility for doing so. The coach has to ensure to lead the
team towards self-organization by leaving the team alone as early as
possible. The customer is the key person for making the team suc-
cessful. Thus the customer needs additional support from the coach
for mastering this burden.
I became a coach after several years as an on-site/off-site developer.
When I first started with ParcPlace, I was a “fire-fighter” for cus-
tomers. After a time, some of these customers decided to call me
before their fires started!
Copyright is held by the author(s)/owner(s).
OOPSLA’03, October 26-30, 2003, Anaheim, California, USA.
ACM 1-58113-751-6/03/0010.
265
My toughest challenge was a decision on whether to coach a project
with about 200 people. I finally decided to do it. At the time, I was
absolutely convinced that success comes only with small teams.
However, now I’ve had good experiences with teams of 50 - these
teams still seem small. The 200 person project will be a win-win
situation - if the project succeeds, it will be through my coaching
skills, while if it fails – I’ve validated my prediction.
If you seek a coach, I absolutely recommend one with strong social
skills rather than simply technical skills. I have never seen a project
fail because of technical reasons. The coach has to be a catalyst, a
facilitator, an ombudsman, a team player, and someone able to make
hard decisions.
4. Joshua Kerievsky, www.industriallogic.com
Joshua Kerievsky has been programming professionally since 1987
and is the founder of Industrial Logic, a company specializing in
Extreme Programming (XP). Since 1999, Joshua has been coaching
and programming on small, large and distributed XP projects and
teaching XP to people throughout the world. He is the author of
numerous XP and patterns-based articles, simulations and games,
including the forthcoming book, “Refactoring to Patterns.”
To be a great XP coach, you must be fearless. Fearlessness comes
from knowing your stuff, walking the walk, telling it like it is, taking
risks, embracing change, learning from failure and loving what you
do. Fearless XP coaches don’t ignore critical problems, such as
personality conflicts, poor design decisions, insufficient customer
support or uncomfortable work environments: they courageously
help programmers, customers and managers apply XP’s values and
practices to solve problems and iterate to success.
5. Rob Mee, robmee@ieee.org
Rob Mee is a consultant, XP coach, and programmer from San
Francisco. He recently coached with Jutta Eckstein and Kent Beck a
very successful XP project in Munich, Germany. In December 2002
he was an invited speaker at the first XP Brazil conference, where he
talked about patterns of XP coaching and fought Kent Beck to a
draw in a hotly contested battle of the coaches.
I’ve heard speculation about the suitability of XP for teams around
the world. Some people reason that XP cannot work in this or that
country due to perceived cultural incompatibilities with its values or
practices. But the more I coach, the more I come to the conclusion
that teams, regardless of their cultural makeup or location, have
more similarities with each other than differences. And more inter-
esting than the differences between teams is the variety to be found
within a team.
In the past, I have found some of this variety frustrating. Now, how-
ever, it is becoming clear to me that creatively tackling in-
compatibilities within a team can lead to substantial benefits. For
example, there is an enormous divide between those programmers
who are “born refactorers”, and those who don’t notice rampant
code duplication until their own programs are printed out and the
full weight of them dropped on their heads. One might be tempted,
in an XP team, to recruit only the refactorers. I think that would be a
mistake. In my experience, programmers who care deeply about
code cleanliness tend to focus excessively on technical details. On
the other side of the coin, sloppy coders often have a closer identifi-
cation with business processes, and a strong desire to crank out
features. Bringing these two sides closer together in their practices
and philosophy helps in the evolution of a productive team and a
code base with a high resistance to entropy.
XP practices such as pair programming and collective code own-
ership enable not just the dissemination of technical knowledge, but
also the productive merging of widely differing personal styles and
approaches to software development. Extreme programming pro-
vides a vehicle, absent in the isolated programmer islands of teams
past, for coaches to immerse themselves daily in the complexity and
variety of their teams. As XP becomes more widely practiced and
better understood, it is my position that finding ways to maximize
benefit from the diversity of a software team will increasingly be-
come the mark of an effective coach.
6. Mary Poppendieck, www.poppendieck.com
Mary Poppendieck has over thirty years of experience as an engi-
neer, IT manager, program manager and product development man-
ager. A twenty year veteran of 3M, she is an expert in process con-
trol, lean manufacturing systems, and commercialization of hard-
ware and software products. She is the president of Poppendieck.
LLC as well as Treasurer and Managing Director of the AgileAlli-
ance. She is the author of numerous articles, including “Lean Pro-
gramming” and “Wicked Problems” in the Software Development
Magazine. Her book Lean Software Development; A Agile Toolkit
was published by Addison Wesley in May, 2003.
When I think of the word coach, I think of my children’s swim team.
Their coach was at every practice and every meet. He gave the
swimmers exercises during practices, taught them good eating hab-
its, and made sure no one even thought about smoking. He made
sure the kids were properly registered at meets and assigned the
relay teams. He discussed strategy with each swimmer before each
race, he timed their splits and shouted encouragement during the
races. When it was over he congratulated those who did well and
discussed how to do better the next time.
A swim team is never without a coach, not for practice or at a meet.
The head coach might delegate some responsibilities to an assistant
who is learning how to be a coach, but the team always had a coach.
The coach isn’t there to swim for the swimmers, or even to teach
them how to swim. The coach’s job is to field a winning team and to
make sure each swimmer is trained and motivated to do well. Be-
hind every really good sports team you will find a really good coach.
Software development is a team sport, and team sports do well to
have a coach-on-site. I’m not talking about a trainer who shows up
occasionally and gives some pointers; I’m talking about a full-time
leader. I’m not talking about someone who tells the team what to do
or tries to play the game for the team; I’m talking about a coach who
helps team members develop their own skills and strategies. Behind
every really good software development team, you will find a really
good coach.
How I became a coach. I was lucky enough to work for Roger Ap-
peldorn, the inventor of the Fresnel lens for overhead projectors
who led the team that made this one of 3M’s more successful prod-
uct lines. He went on to develop many businesses using structured
surfaces on clear plastic: from very bright traffic signs to the lens
that limits the spray of light from your laptop. Under his guidance, I
became a coach for a team developing a lighting system with ultra
pure plastics. I’ll never forget the lessons I learned on how to recruit
the team, how to motivate members, and how to get support from
senior management.
What is the toughest thing I had to do as coach? I had to shut
down a new product development program when the product line
was dropped. The team was devastated, so we held a funeral in the
basement of a very nice restaurant. The marketing guy acted as MC
and came loaded with jokes and memories of good times. We
266
shared our disappointment and found that it was then a lot easier to
move on, but the members of this team stayed in touch with each
other for years.
What advice would I give to a team looking for a coach? Look for
a coach who knows the basics, the blocking and tackling of software
development, and can teach these to a team. Look for a coach who
knows how to get the right people in the right positions and every-
one headed in the right direction. Look for a coach who will run
interference with management and provide the resources and cus-
tomer involvement necessary to get the job done right. Finally, look
for a coach knows how to bring out the best in a team and can in-
spire great performance.
267
... Agile coaches can help the teams resolve process related problems by ensuring that the teams follow the process correctly [48]. According to Fraser [14], "Coaches help team members become a cohesive unit, understand the'rules-ofthe-game', facilitate interaction, optimize skills, and build motivation towards common goals". An agile coach's job is to help introduce and guide one or more teams in how to use agile methodologies such as Scrum and Kanban. ...
... By supporting team members in acquisition of the entrepreneurial and agile mindset [58], coaches can help design the steps to the targets, and support the teams in implementing the agile practices [43]. Citing Fraser, "Coaches help team members become a cohesive unit, understand the rules-of-the-game, facilitate interaction, optimize skills, and build motivation towards common goals" [14]. ...
... Furthermore, they should have a range of traits supporting these skills such as positivity, persistence and patience [17,40]. [14,17,18,40,43,54,57] Project management skills 4 [17,37,40,51] Expertise in agile methods and practices 4 [40,50,55,57] Technical skills 3 [24,40,46] Other 2 [18,24] Second, an agile coach must have some project management skills to achieve goals and meet success criteria at specified times such as skills in change management [40], expertise to facilitate identification and management of risks in the system [37], knowledge management skills [51] and the ability to help teams make more realistic estimates [17]. ...
Chapter
Full-text available
There has been a recent increase in the use of agile coaches in organizations. Although the use of the job title is popular, empirical knowledge about the tasks, responsibilities and skills of an agile coach is lacking. In this paper, we present a systematic literature review on agile coaching and the role of the agile coach. The initial search resulted in a total of 209 studies identified on the topic. Based on our inclusion and exclusion criteria, a total of 67 studies were selected as primary studies. Our findings suggest that agile coaching facilitates the adoption and sustainability of agile methods and deals with agile adoption challenges. Agile coaches help in training and developing software development teams and all the stakeholders involved in the agile adoption process. The primary skills of an agile coach identified herein are leadership qualities, project management skills, technical skills, and expertise in agile methods. Based on the findings, it can be argued that agile coaches play a significant role in addressing challenges in an agile transformation such as resistance to change. Coaches focus on removing barriers to team autonomy in agile teams and making agile meetings more valuable.
... Agile coaches can help the teams resolve process related problems by ensuring that the teams follow the process correctly [48]. According to Fraser [14], "Coaches help team members become a cohesive unit, understand the 'rules-ofthe-game', facilitate interaction, optimize skills, and build motivation towards common goals". An agile coach's job is to help introduce and guide one or more teams in how to use agile methodologies such as Scrum and Kanban. ...
... By supporting team members in acquisition of the entrepreneurial and agile mindset [58], coaches can help design the steps to the targets, and support the teams in implementing the agile practices [43]. Citing Fraser, "Coaches help team members become a cohesive unit, understand the rules-of-the-game, facilitate interaction, optimize skills, and build motivation towards common goals" [14]. ...
Conference Paper
Full-text available
There has been a recent increase in the use of agile coaches in organizations. Although the use of the job title is popular, empirical knowledge about the tasks, responsibilities and skills of an agile coach is lacking. In this paper, we present a systematic literature review on agile coaching and the role of the agile coach. The initial search resulted in a total of 209 studies identified on the topic. Based on our inclusion and exclusion criteria, a total of 67 studies were selected as primary studies. Our findings suggest that agile coaching facilitates the adoption and sustainability of agile methods and deals with agile adoption challenges. Agile coaches help in training and developing software development teams and all the stakeholders involved in the agile adoption process. The primary skills of an agile coach identified herein are leadership qualities, project management skills, technical skills, and expertise in agile methods. Based on the findings, it can be argued that agile coaches play a significant role in addressing challenges in an agile transformation such as resistance to change. Coaches focus on removing barriers to team autonomy in agile teams and making agile meetings more valuable.
... The main role of the project manager is to train staff and help the team into a cohesive unit, to facilitate interaction, optimize skills and build motivation towards a common goal. Hence the project manager should act in developing and implementing the tactics and strategies in much the same way as sports coaches [16]. Usually, the team will face more challenges and need the assistance of a project manager to enable them to stick with the practice in the core. ...
... Others [1], [8], [10], [11], [13], [14], [16], [18], [19], [29], [32], [35], [37] Figure 1 shows the taxonomy regarding agile project manager competency required. The result of reading articles in systematic literature review would help in identifying the competency of an agile project manager discussed in this paper. ...
Article
Full-text available
The past few years have witnessed dynamic changes in the field of software project management. These provided evidence of the strength of agile methodologies as a strategy that can speed up the development of rhythms and growth of innovation. Managing a project involves a complexity of requirements and developmental processes. This provides challenges to the project manager as he is accountable for the failure of a completed project. As such he is required to tackle any problems by adopting agile methodology during the development process. In Malaysia there is little research done to examine the behavior of the agile project manager. This study aims to analyze the behavior when project managers adopt agile in managing the development projects. Moreover, a review of the relevant literature has helped in developing an understanding of the agile project manager's behavior as this is necessary for them to become more agile inside development projects. For that reason, this paper has identified seven behaviors that the manager needs to adopt during software development process. These include Leadership, Openness, Results Orientation, Ethics, Communication, Strategic and Creative and Innovative. This paper contributes to the relevant theory by developing taxonomy of the agile project manager's behavior. Practitioners can use this taxonomy as a sensitizing device that helps the manager to consider behavior that promotes success of their projects. This is important to ensure an increase productivity and profitability, which are the business strategies of software development projects.
... The main role of the project manager is to train staff and help the team into a cohesive unit, to facilitate interaction, optimize skills and build motivation towards a common goal. Hence the project manager should act in developing and implementing the tactics and strategies in much the same way as sports coaches [16]. Usually, the team will face more challenges and need the assistance of a project manager to enable them to stick with the practice in the core. ...
... Others [1], [8], [10], [11], [13], [14], [16], [18], [19], [29], [32], [35], [37] Figure 1 shows the taxonomy regarding agile project manager competency required. The result of reading articles in systematic literature review would help in identifying the competency of an agile project manager discussed in this paper. ...
Conference Paper
Full-text available
The current growth of agile software development project (ASDP) continues to be more significant in the software industry. Project managers have important role to play in ensuring success of project. The success of a project depends on the competency of the project manager. Realizing on the lack of research on the project manager competency in ASDP such skill, knowledge, personal attribute and behavior. This research had taken initiatives in introducing; skill, knowledge, personal attribute and behavior that is needed by a project manager in ASDP. This paper contributes the relevant theory by developing taxonomy of the agile project manager’s competency. Practitioners can use this taxonomy as a sensitizing device that will help project manager.
... Serious games can support the adoption of agile project and portfolio management capabilities in context, as frequently reported by agile coaches and consultants [8], [9]. However, to this day there is little empirical evidence of how these games are applied to do so. ...
... Extreme Programming, for example, sees the team leader as a coach concerned primarily with the technical execution of the process [5]. Not surprisingly, the ideal coach is a good communicator who is confident and capable, takes risks, embraces change, learns from failure, and is transparent (tells it like it is) [12]. ...
... A Scrum Master is seen as a facilitator and does not organize or manage the team [138]. Similarly, an XP coach is meant to lead the team towards self-organization by leaving the team alone as early as possible [56] Despite the guidelines laid down by Agile Methods [19,138], the role of an Agile coach is one of the most popular topics of debate among industry practitioners. Inexperienced Agile coaches, as well as experienced project managers used to a traditional development environment, find themselves confused when they start practicing Agile methods. ...
Thesis
https://researcharchive.vuw.ac.nz/xmlui/bitstream/handle/10063/1617/thesis.pdf?sequence=2
... It is often integrated with values of Xtreme Programming (XP) [22] such as communication, simplicity, feedback and courage to form a software process framework for an organisation. The Agile XP lifecycle consists of five processes: Exploration, Planning, Iterations-to-Release, Productionising and Maintenance [8]. ...
Conference Paper
Full-text available
Semantic network is a promising technological platform that uses the internet and intranet, and related software technologies to explicitly integrate disparate applications in linked organisations such as enterprises. A primary element of the semantic network is ontology. The adoption of semantic network in enterprises is impeded by the lack of enduring methodologies for engineering reliable ontologies to support the evolving enterprise applications on the envisaged meaning-laden network. Consequently, the paper recognises the systematic and disciplined approach of Software Engineering (SE) as relevant course for Enterprise-strength Ontology Engineering (EsOE), and sets out to reflect EsOE in the light of SE. It identifies the common ground among the contemporary SE models, and suggests exploiting these commonalities to serve as a basis for EsOE. Following the idea of maturity models, the proposed high-level methodology is structured into three levels of realisation, each described by a process, namely, Engineering, Project-focus and Organisation-focus processes.
... Acts as a representative of the team to manage customer expectations and coordinate customer collaboration with the team. Agile methods expand the customer role within the entire development process by involving them in writing user stories, discussing product features, prioritizing the feature lists, and providing rapid feedback to the development team on a regular basis[101],[102],[49],[34]. These collaborative activities are difficult to coordinate with the customer for various reasons, such as physical distance between the development team and their customers, lack of time commitment on the part of the customers, and ineffective customer representation[12],[10]. ...
Article
Full-text available
Self-organizing teams have been recognized and studied in various forms-as autonomous groups in socio-technical systems, enablers of organizational theories, agents of knowledge management, and as examples of complex-adaptive systems. Over the last decade, self-organizing teams have taken center stage in software engineering when they were incorporated as a hallmark of Agile methods. Despite the long and rich history of self-organizing teams and their recent popularity with Agile methods, there has been little research on the topic within software wngineering. Particularly, there is a dearth of research on how Agile teams organize themselves in practice. Through a Grounded Theory research involving 58 Agile practitioners from 23 software organizations in New Zealand and India over a period of four years, we identified informal, implicit, transient, and spontaneous roles that make Agile teams self-organizing. These roles-Mentor, Coordinator, Translator, Champion, Promoter, and Terminator-are focused toward providing initial guidance and encouraging continued adherence to Agile methods, effectively managing customer expectations and coordinating customer collaboration, securing and sustaining senior management support, and identifying and removing team members threatening the self-organizing ability of the team. Understanding these roles will help software development teams and their managers better comprehend and execute their roles and responsibilities as a self-organizing team.
Conference Paper
This paper presents a case study on building a successful agile coaching team focusing on distributed software development projects in a global software company. We describe how the team of eight coaches was built, how the coaches work as a team, how the coaches work with their customer projects, what the main benefits of coaching have been for the customer projects, and the main challenges on building the coaching activities. The data was gathered by 13 semi-structured interviews of the coaching team members, as well as the interviews with personnel from four coached customer projects.
ResearchGate has not been able to resolve any references for this publication.