And Today s Lesson Is

“And Today’s Lesson Is

There are a couple of important lessons that you can learn from this early release of the mapplet:

  • Write your use cases carefully (include alternative courses, so it isn’t DTSTTCPW[7.]), and make the code match the use cases. This gets you a “good job” (passing grade) and means you’re ahead of a lot of projects because your code meets the requirements.

  • Drive the design from the use cases, and make the code match the design. This is the right way to do it, and it gets you a “great job” (A+ grade).

If you’re under severe time constraints, you can still make sure the code meets the requirements by skipping certain stages of the design and then patching up the code through refactoring. Ironically, though, a team that skips design because of time constraints is also unlikely to write unit tests while coding, so patching up the code later is more likely to consist of debugging (hacking the design to get it to work) than refactoring (improving the design to enable the next effort).

So there’s a judgment call about how much design can safely be skipped before the team’s corner-cutting capers come back to bite it. In our mapplet example, the team probably did a bit too much design-skipping during the first release, meaning that some of the code needed to be refactored before release 2 development could really kick off. But then, that’s also what the first release is all about: finding your feet and adjusting the parameters to tailor the process for this new project. Every project is different, after all, so we expect the first release to be slightly wide of the mark. Considering that the mapplet team members actually did meet the requirements for release 1, we think they did pretty well.

[7.]As mentioned earlier, DTSTTCPW stands for Do The Simplest Thing That Could Possibly Work. See http://xp.c2.com/DoTheSimplestThingThatCouldPossiblyWork.html.



Agile Development with ICONIX Process. People, Process, and Pragmatism
Agile Development with ICONIX Process: People, Process, and Pragmatism
ISBN: 1590594649
EAN: 2147483647
Year: 2005
Pages: 97

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net