WhereDoIStart
From SPA Wiki
Contents |
Where Do I Start
Andy Longshaw, Nick Rozanski, Eoin Woods.
Overview
Whatever level you work at in an organization it is challenging to become effective quickly when you first arrive.
In this session we looked at gathering a mixture of technical and non-technical practices that will help people to overcome this problem. For example, from a technical perspective, if there is no system architecture diagram it might be useful to create one, from a non-technical perspective you might want to make an organisational map of individuals and responsibilities.
The goal of the session was to draw on shared experience to reflect on what has worked for people in different contexts and to define a toolkit of techniques that people can try to apply in their own work environment. The practices that were identified in the session are described below.
Group 1 - Permanent Team Leader (joining from outside)
Possible practices:
- Senior manager's view of each team member
- Team member 1:1s - Show and tell
- Presentation of function of team
- Review existing docs
Senior Manager View of Each Team Member
Description: senior manager goes through each team member talks about their strengths, weaknesses, history, personality, satisfaction levels, comfort
Benefits:
- Learn about the individuals and team mood
- Know the capability of the team
Challenges:
- Only a top down view, skewed by hierarchy
- subjective, the managers own agenda can come through and secrets remain secret!
Applicability:
- | Developer | Team Leader | Analyst | Coach / Mentor | Architect | Project Manager |
---|---|---|---|---|---|---|
New Job | - | X | - | X | - | X |
Promotion | - | X | - | X | - | X |
Job Move | - | X | - | X | - | X |
Consultant | - | X | - | X | - | X |
Team Member 1-to-1s
Description: two way introduction between team lead and team members
Benefits:
- Start to build raport
- Find historical content
Challenges: team members could be cagy with new starters
Show and Tell
Description: each team presents the good, the bad and the ugly of their curent and last deliverables (project, application, documents)
Benefits:
- context of your team, what they do
- reputation of team, motivation
Challenges:
- how honest and open people area (trying to impress)
- people deliberately create challenges (as tests) for new TL to respond to (dumping challenges or "we're great already")
Group 2 - Developer, New Joiner, Large Organisation
Possible practices:
- Do NOT keep saying "on my last project ... "
- Update/create architecture diagrams
- Update/create new joiner instructions
- Development process documentation
- Meet the business people
- Social bonding
Update/Create Architecture Diagrams
Description: draw an architecture diagram of your system and its external connections Benefits:
- help to understand the architecture
- helps to speak to the team and find expertise
- it helps the next new joiner
Challenges:
- Getting buy in and time to do it
Applicability:
- | Developer | Team Leader | Analyst | Coach / Mentor | Architect | Project Manager |
---|---|---|---|---|---|---|
New Job | X | X | X | - | X | - |
Promotion | X | X | X | - | X | - |
Job Move | X | X | X | - | X | - |
Consultant | X | X | X | - | X | - |
New Joiner Instructions
Description: update or create wiki notes to documents the steps and software require to build a new development environment
Benefits:
- provides reusable guide for new joiners
- catalyst for team conversations
Challenges:
- documentation viewed a low priority
- process subject to change
Applicability:
- | Developer | Team Leader | Analyst | Coach / Mentor | Architect | Project Manager |
---|---|---|---|---|---|---|
New Job | X | X | - | - | - | - |
Promotion | - | - | - | - | - | - |
Job Move | X | - | - | - | - | - |
Consultant | X | - | - | - | - | - |
Social Bonding (Lunch and Booze)
Description: organise or suggest social activities
Benefits:
- meet colleagues out of office context
- improve sense of team membership
Challenges:
- some activities won't suit everyone
Applicability:
- | Developer | Team Leader | Analyst | Coach / Mentor | Architect | Project Manager |
---|---|---|---|---|---|---|
New Job | X | X | X | - | - | X |
Promotion | X | X | X | - | - | - |
Job Move | - | X | X | - | - | X |
Consultant | X | X | X | X | X | X |
- New Job: developer, team leader, analyst, project manager
- Promotion: developer, team leader, analyst
- Job Move: team leader, analyst, project manager
- Consultant: developer, team leader, analyst, coach, architect, project manager
Development Process Documentation
Description: create documents which explain the process used to checkout, maintain and commit code
Benefits:
- consistent and common approach for development
- exposes the process and allows review, improvement and refinement if necessary
Challenges:
- ensuring that the process is rigourously followed
- can become obsolete if the docment is not maintained (low priority document?)
Applicability:
- | Developer | Team Leader | Analyst | Coach / Mentor | Architect | Project Manager |
---|---|---|---|---|---|---|
New Job | X | X | - | - | - | - |
Promotion | X | - | - | - | - | - |
Job Move | X | X | - | - | - | - |
Consultant | X | X | - | - | - | - |
Team 3 - Developer, New Job, Mid-Size Company
Possible practices:
- Show and Tell
- Community of Interest
- Pair programming promiscuously
- Talk to test, support and operations teams
- Conduct a retrospective
- Whiteboard an architecture diagram
- Ask questions
- Start putting a glossary together
- Find out where people go for lunch
Go for Lunch or Drinks
Description: socialise with colleagues as a way to orient yourself Benefits:
- build trust
- pleasant way to gather information
- obtain "privileged" (off the record) information
Challenges:
- costs money and personal time
- might exclude key individuals
Applicability:
- | Developer | Team Leader | Analyst | Coach / Mentor | Architect | Project Manager |
---|---|---|---|---|---|---|
New Job | X | X | X | X | X | X |
Promotion | X | X | X | X | X | X |
Job Move | X | X | X | X | X | X |
Consultant | X | X | X | X | X | X |
Discover a Community of Interest
Description: identify groups of people trying to solve problems similar to yours in the same organisational context
Benefits:
- problem shared is a problem halved
- obtaining answers to questions
Challenges:
- finding these people
- channels of communication
Applicability:
- | Developer | Team Leader | Analyst | Coach / Mentor | Architect | Project Manager |
---|---|---|---|---|---|---|
New Job | X | X | X | X | X | X |
Promotion | - | - | - | - | - | X |
Job Move | - | - | X | - | X | - |
Consultant | X | X | X | X | X | X |
Put a Glossary Together
Description: create a dictionary of domain terms and acronyms
Benefits:
- Understand the application domain better
- Good excuse to go asking "stupid" questions
Challenges:
- Obtaining authoritative answers
- Finding a suitable platform (such as a wiki) to share the answers
Applicability:
- | Developer | Team Leader | Analyst | Coach / Mentor | Architect | Project Manager |
---|---|---|---|---|---|---|
New Job | X | X | X | X | X | X |
Promotion | - | X | X | - | X | - |
Job Move | X | X | X | - | X | - |
Consultant | X | X | X | - | X | - |