15.04.2018 Views

programming-for-dummies

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

114<br />

Software Engineering Methods<br />

Extreme <strong>programming</strong> follows this general sequence:<br />

1. The customer defines the program requirements.<br />

The customer may need more features later, but initially, the customer<br />

knows the main features he needs in a program.<br />

2. A small team of programmers designs a simple program (a prototype)<br />

that acts like a model <strong>for</strong> the customer to study and approve.<br />

Because this prototype is a simple program, it’s easy to make and even<br />

easier to modify based on the customer’s feedback and desire.<br />

3. The programmers implement their idea as an actual program, with the<br />

customer giving them feedback along the way.<br />

By keeping the customer in close contact with the programmers,<br />

extreme <strong>programming</strong> makes sure the customer can make changes to<br />

the program while the changes are still easy to make, rather than when<br />

the program’s finally done.<br />

4. After the programmers create a simple program that the customer<br />

likes, the programmers can slowly start adding additional features<br />

that the customer may suddenly want.<br />

In this way, a program evolves slowly with the customer guiding its development<br />

at all times.<br />

Extreme <strong>programming</strong> isn’t without its critics, who argue the following points:<br />

✦ The chaotic nature of extreme <strong>programming</strong> means that it’s nearly<br />

impossible to determine when a project gets done.<br />

✦ The close relationship between the customer and the programmers can<br />

be crucial.<br />

✦ If a programmer suddenly leaves, the entire project can slow down<br />

while the customer gets used to working with a new programmer (and<br />

vice versa).<br />

✦ Close communication is essential between<br />

• The programmers and the customers<br />

• The programmers themselves<br />

Without constant communication, an extreme <strong>programming</strong> project can<br />

fall apart.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!