Travel Light

From ThoughtfulReactionsToXp

I'm aware of no XP project that is completely without documentation. The XP baseline, however, is that there are no standard XP documents. Well, wait, there are the story cards, with value and risk and estimate associated. Oh, and there are the unit and functional tests. Oh, and the associated graphs. Oh, and the standard status reports addressing the FourVariables. Oh, and the code. But basically, there are no standard documents. We require that every additional document be assumed guilty until proven innocent.

Design documents are one way to conceive and explain things. The number of phone calls and meetings used to "clarify" documents suggests that documents aren't exactly great. InTheRealWorld? people seem to use the documents as an occasion to talk and find out what is really going on.

In a room full of peers something faster and lighter is better. That's why rooms full of peers don't work in Rose or send memos to each other, they write on whiteboards, draw on bar napkins, move CRC cards around, talk.

If the conceiving and explaining have to take place over extended space (and perhaps over extended time, but that's another topic), documents may be necessary. When conceiving and explaining can take place quickly and in one room, documents are much less necessary.

Communication is the key, we agree. As a visual person, I personally like diagrams. (rj) However, I have learned that the motion and touching of the cards in CRC is even more highly communicative than a visual model.

I am also visual, I also like diagrams. One problem with visual model diagrams is that the system evolves past them as it develops and the model diagrams either become meaningless or the project must spend manpower to keep them updated. Since the diagrams are not going to contribute to the functionality of the system, XP, as a minimalist approach, would just leave them out altogether. -- DonaldMcLean

XP does not identify an analyst role separate from developers. Customers specify requirements in the UserStory, the primary XP document. Developers determine how to implement the story. I'm not sure what other functions of analysis might be missing. Please inquire further.

Testers are full-time members of the team. It could be argued that testers should not understand the system (i.e. Black Box Testing). They understand the requirements by reading the stories. They understand their test-making tools. If they write code to implement tests (C3's testers did this at the beginning), they will in fact know how to code.

Most of the role of tester is accepted by the programmers applying CodeUnitTestFirst. If you've never done this, it is likely to dramatically reduce the incidence of defects in code. If the code is solid enough, you don't need an additional layer to identify the little stuff.

There is little reason to imagine that managers are born understanding UML. We find that they readily understand a presentation of the design using CRC cards. If managers did need a paper form to help them understand the system, a few high-level diagrams would probably suffice.

Contributors: RonJeffries, DonaldMcLean


Unrelated to the above, but I can't think of an alternative term:

I've heard/used the term TravelLight as the opposite of CompulsiveCustomizer. The idea is that one should not be too dependent upon a particular set of tools, techniques, or configuration parameters to be able to get one's job done.

I've had jobs where I used several different development machines, using several different operating systems, in the course of each day. I've had jobs where I received a new development machine every week or two, requiring installation of everything I needed. I've been in a situation where the development environment stopped working every few days, requiring a full re-install every time. I've been working on multiple projects, each of which used a different methodology and different set of coding standards.

From these experiences, I've developed the habit of minimizing customization and dependencies upon installed software. Some of the things I do are:

--KrisJohnson

See also InfrastructureInXp


EditText of this page (last edited November 21, 2014) or FindPage with title or text search