Forgetting to breathe can be hazardous to your health
Come up for air is a pattern for taking regular opportunities to communicate and to refresh awareness.Before examining the pattern, let's take a look at a metaphor:
When snorkelling, you have to come up for air regularly otherwise a bad thing can happen. When up and before submerging again, you should check that it's safe to do so by surveying your surroundings and taking your bearings.
Pattern Name: Come Up For Air
Summary:
During development, a developer should never miss an opportunity to communicate with the team and to raise his awareness of any tactical and strategic changes, recent decisions and the general project status.
Context:
A developer is writing code alone to satisfy a number of tasks that he owns in relation to a particular user story.
Problem:
Writing code is an intensive activity that requires deep concentration. A developer can become so engrossed in the coding effort that he can forget to Come Up For Air on a regular basis. Consequently the developer becomes disconnected from what is going on around him. Even when a developer disengages from the coding he can remain engaged by its details. Here's a story:
George has just got a green light on his unit tests and decides he needs a fresh coffee. Walking to the machine, George starts to think about his coding to-do list and the next code he needs to write. He's blinkered and unaware of the latest information in the team's Informative Workspace and the chatter occurring amongst other team members. Without taking the time to look around, George misses the opportunity to catch up on things that may affect him sooner or later. While Continuous Integration will highlight code divergence, perhaps he missed that key metric relating to progress in a Big Visible Chart or that useful snippet of information from a conversation which should have influenced how he is going to approach the next piece of code.
Solution:
Pair programming helps but an individual still needs to develop a personal awareness. Firstly, a developer needs to become tuned in to 'team chatter' while coding, absorbing any relevant information revealed by other developers through osmosis. Secondly, he should make a conscious effort to be frequently proactive and interactive beyond his pair programming partner. He should break regularly from coding activities in order to reacquaint himself with all team mates and the Informative Workspace. Whether he simply sits back in his seat or gets up to stretch his legs, a developer should regularly consume all new information available and learn from it.
During a break from coding, try doing some of the following:
- Walk around the team's workspace taking time to appreciate the surroundings and the atmosphere.
- Absorb the information portrayed by the Big Visible Charts and other Information Radiators in the Informative Workspace.
- Make conversation with other team members but do not interrupt those with 'heads-down' or those in the private area of the workspace. Keep in touch with any remote team members using an instant messenger, phone or video phone facility.
- Observe any white board sessions engaging some of the team members, and do not be afraid to get involved.
- Seek advice and opinion, and offer it when it is requested or you deem it pertinent or useful.
- Check your email for communications from other team members and project stakeholders.
- Assess everything seen or heard with reference to the sprint/iteration plan and the big picture (product backlog or release plan) to identify any potential impact, risks or obstacles.
- Take a holistic snapshot of key metrics, e.g. test coverage, acceptance test pass/fail rates, etc. Update any Information Radiators or data associated with Big Visible Charts.
As each individual developer operates at a higher level of awareness, he will become attuned to the team's collective effort and goals. Each developer will see and understand more than just the bubble defined by the tasks they own. As each developer tunes in, the team will start to resonate, generating a 'buzz' as communication, confidence, visibility and productivity increases.
Tags: agile, informative workspace, information radiator, big visible chart





0 Comments:
Post a Comment
Links to this post:
Create a Link
<< Home