<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C/DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<!-- VERSION rmc:7.1.0 -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<!-- START NON-TRANSLATABLE -->
<title>\xp\tasks\setup_programmer_environment.xmi</title>
</head>
<!-- WARNING: do not modify the generated comments in this file below this line.  They are used as markers for the import process. -->
<body>
Element Name: setup_programmer_environment.xmi<br/><br/>
<!-- END NON-TRANSLATABLE -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: presentationName<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:presentationName,{D3AA9FEE-AAD9-4884-BF71-425E122110A7} CRC: 2363565485 -->Setup Programmer Environment<!-- END:presentationName,{D3AA9FEE-AAD9-4884-BF71-425E122110A7} -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: purpose<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:purpose,-1rVEQRCvrcicCdhpuuIZ8w CRC: 1435063095 --><a id="XE_setup_programmer_environment__activity_definition"
name="XE_setup_programmer_environment__activity_definition"></a>
<ul>
    <li>
        To make it easy to work collaboratively and raise the communication level of the team
    </li>
</ul><!-- END:purpose,-1rVEQRCvrcicCdhpuuIZ8w -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: name<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:name,_oPGqsGE-EdqnIZeW8YpHcA CRC: 363052505 -->Remove Cubicle Walls and Other Impediments <!-- END:name,_oPGqsGE-EdqnIZeW8YpHcA -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: sectionDescription<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:sectionDescription,_oPGqsGE-EdqnIZeW8YpHcA CRC: 3033019023 --><a id="Step1" name="Step1"></a> 
<p>
    In XP, we attempt to maximize communication within the team. Programmers should be able to ask quick questions&nbsp;to
    other developers and overhear conversations which raise their understanding of the system. When team members are
    segregated into offices or cubicles, there is more of a chance that islands of knowledge will grow in isolation. This
    leads to redundant work and often work that is less integrated than if it had been done in an open space subject to the
    contributions of overhearing team members.
</p><!-- END:sectionDescription,_oPGqsGE-EdqnIZeW8YpHcA -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: name<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:name,_oPNYYGE-EdqnIZeW8YpHcA CRC: 3446657757 -->Place Computers in Positions Comfortable for Pairing <!-- END:name,_oPNYYGE-EdqnIZeW8YpHcA -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: sectionDescription<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:sectionDescription,_oPNYYGE-EdqnIZeW8YpHcA CRC: 2802285974 --><a id="Step2" name="Step2"></a> 
<p>
    Standard office furniture is not designed for pair programming. In particular, desks with leg wells seem to make
    pairing impossible. Ideally, computers should be placed on tables which have enough room for two people to sit side by
    side and trade turns working at the keyboard. Comfort should be your guide. If you are not comfortable, you will get
    fatigued easily and you certainly won't be doing the work you are capable of.
</p><!-- END:sectionDescription,_oPNYYGE-EdqnIZeW8YpHcA -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: name<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:name,_oPNYYWE-EdqnIZeW8YpHcA CRC: 3260909039 -->Standardize on Tools and Development Setup <!-- END:name,_oPNYYWE-EdqnIZeW8YpHcA -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: sectionDescription<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:sectionDescription,_oPNYYWE-EdqnIZeW8YpHcA CRC: 4139936181 --><a id="Step3" name="Step3"></a> 
<p>
    In XP, we find that work goes better when everyone is able to help everyone else. One simple thing that can get in the
    way is computer setup. If you use an editor with one set of key bindings and another team member uses another, it will
    be difficult for either of you to go to each other's computers and feel comfortable enough to drive. While this seems
    like a minor point, it makes a sizable difference on how effectively a team can collaborate. In many XP teams, machines
    are unassigned. You simply go to a free machine in the morning and check out the code that you need to start working
    on.
</p><!-- END:sectionDescription,_oPNYYWE-EdqnIZeW8YpHcA -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: name<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:name,_oPNYYmE-EdqnIZeW8YpHcA CRC: 3816839447 -->Establish Clear Line of Sight to Customer <!-- END:name,_oPNYYmE-EdqnIZeW8YpHcA -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: sectionDescription<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:sectionDescription,_oPNYYmE-EdqnIZeW8YpHcA CRC: 2980821077 --><a id="Step4" name="Step4"></a> 
<p>
    To work effectively with XP, you must be able to ask questions&nbsp;to your customer. If you are not able to ask
    questions and get timely answers, you are either bottlenecked on a task or tempted to guess and hope that you don't
    have to roll back your work later. When setting up your environment, establish a clear line of sight to the customer.
    The customer should be working in the same room as the team. If this is not possible, the customer should be no more
    than a phone call away.
</p><!-- END:sectionDescription,_oPNYYmE-EdqnIZeW8YpHcA -->
</body>
</html>
