I got into a bit of a disagreement this morning with another developer about XP and the minimal requirements documents it advocates, and I don't think I really convinced him. If anyone could provide some more background on why ClientPresence? is superior to a BloatedRequirementsProcess?? I, and probably others, would find that very helpful. -- DavidRosenstrauch
You have a large system to do. You're working on some part of it. You want to know what some requirement really means. Which would you rather do, ask someone who knows, or read a document that drones on and on about everything in the entire project?
Does email presence count? What about Wiki or a derivative? Can better technology help us segue from verbal conversations to written conversations to communual documents? -- DaveHarris
I honestly wish those things could substitute, Dave, because I really don't like having (at least certain) customers around all the time. I like the remoteness and pace of email and writing. Too many years of doing it that way, I guess. But experience on C3 has taught me that as much as I hate asking, and hate being answered, it beats the h*ll out of anything electronic. We have a question, we ask, we're unstuck in minutes. It can't be beat. --RonJeffries
Immediacy of ClientPresence does count. An analogy may help here. When learning a new idea, what is more useful,
For a real life example of this, think of how we are all learning about XP. We have managed to generate enough misunderstandings to all realize that the WikiWay, while fantastic, has limitations. The talks that Kent and Ron give on XP give a much better sense of XP, and the books are eagerly awaited (hint hint), but right now, the best way to get a real understanding of XP is to talk to Kent, Ron, Ward or the C3 team.
So back to the question about ClientPresence. You requirement is to implement a system that conforms to the SmalltalkBestPracticePatterns, so you can either read the requirements spec (the book) or you can have an ExtremeProgrammingMaster coach you (interpret the requirements). ClientPresence wins hands down. --PeteMcBreen
I'm not surprised, but I thought the question worth asking anyway.
Typing is much slower than speaking or listening. I'm not sure how it compares to reading: I suspect I get more out of reading a book than hearing a lecture, but I know that people differ in how they best soak up info.
A face to face meeting is (or rather, should be) tuned, on the fly, to the requirements of its participents. This maximises its value. On the other hand, that value turns immediately into unrecorded ProjectLore that exists only in people's heads. Wiki gives you the interactivity of a conversation but in a recorded medium. Although typing is laborious, the value created is longer lasting and can be absorbed by more people.
(Now I'm just musing on the general subject of capturing ProjectLore and mining conversations for documents.) -- DaveHarris
I avoid the EmphermeralProjectLoreProblem? by turning the decisions from a ClientQuickie? into TestCase's. "What if both numbers are negative? The spec doesn't say." "Well, then, the answer should be 6." --KentBeck
A document is a dumb immutable data object. A client has state, rich behavior, collaborators and responsibility. -- MichaelFeathers
Of course, you need to speak with client who has authority in that area. Otherwise is just another case of implemented because of janitor Tom said so and wouldn't get acceptance even if it is correct - just because you didn't ask the person that is in charge.