From: paron Date: 2008-08-19T20:01:38+09:00 Subject: Re: BDD and TDD - What are they for? On Aug 18, 10:23 am, Avdi Grimm wrote: > On Mon, Aug 18, 2008 at 10:01 AM, Eleanor McHugh > > wrote: > > From what I've seen of BDD and TDD in practice, they focus a lot of effort > > into making the teams of horses as close a match to those the man wants as > > possible so as to achieve incredibly high satisfaction ratings: they're thus > > an excellent marketing technique. However what the man fundamentally needs > > is a more effective ploughing solution that costs him less money, and > > figuring that out requires a broader perspective than that provided by > > just-in-time requirements analysis. > > I think you may be conflating two different scenarios.  There's the > scenario where a customer knows approximately what they want, and an > agile team can help them triangulate in on exactly what they need with > a minimum of wasted effort.  Then there's the scenario where someone > who has worked in a particular domain for awhile realizes that things > could be done in a much better way, and starts a project to implement > it.  Often, this is someone who has worked on several teams such as > previously described.  In this case, the visionary, not the projected > end-user, is the "customer", at least in initial development.  If all > goes well, and they hire a good marketing team, the visionary and her > team then convince their end-users that what they REALLY want is this > revolutionary product.  This goes a lot easier if the team in question > is already well known and respected for their *evolutionary* work in > the same field. > > I would submit that when a customer hires you to build them a better > plow, you should build them a better plow.  However, once you have > done that a few times you are in an excellent position to go off for > six months and innovate a new hydroponic gardening system and sell it > to your existing customers. > > -- > Avdi > > Home:http://avdi.org > Developer Blog:http://avdi.org/devblog/ > Twitter:http://twitter.com/avdi > Journal:http://avdi.livejournal.com Yes, there's a fundamental difference between making incremental changes and reimagining the problem domain. My background, like Ellie's, is in greenfield situations, which colors my thinking. As she and Avdi point out, BDD is fine for evolutionary changes, but not for revolutions in thinking. BDD is a caterpillar tractor -- controlled and unstoppable. Real innovation is more like dynamite. Even a non-working prototype will help your customer make the leap to see his problem in a different light. It also helps if they are desperate. If they aren't desperate, they will stick with various combinations of horse until they can no longer do so. Then they might be willing to make the leap -- but you still have to show them a prototype. Once you have buy-in to a fundamental change or a novel idea, THEN BDD comes into its own. ------- Ron