crank is bad, mmm-kay. Don't do crank, even if it does increase your productivity.
See also FearDrivenDevelopment
In CDD, the willingness to "keep on crankin'" (putting in long hours a la HeroCulture
)--thereby demonstrating commitment to a software development effort--is viewed as more important than actually producing a system the team can be proud of.
When I saw this page title; I thought that it referred to projects wherein the project lead is a certified crank; and drives the team to some far-off goal widely dismissed by the experts as unreachable, unrealistic, or useless.
The vast majority of the time, such projects fail, and fail spectacularly. Occasionally, though, such a project will succeed and revolutionize computing.
(In many cases, both can be said to occur--technology which is indeed revolutionary is produced; but said technology fails to gain acceptance. Unfortunately, the visionaries who drive such projects are often poorly-suited to marketing; instead they naively expect the world to beat a path to their door and buy their better mousetrap by the truckload upon hearing of its mere existence.)
- I wasn't going to say that, but that was one of several examples that came to mind...
I have found that the CDD practitioner can sometimes be very successful based on their work ethic. Unfortunately, they are focused on quantity not quality and rarely held accountable since the really good CDD practitioners are seen as too valuable for maintenance ( productivity & self-starting ). On one hand you have software qualities like maintainability, extensibility, and scalability vs. “Time-to-market”. I think Management in general favors “Time-to-market” since it is so much more tangible to them.
Another observation I have noticed is that true “Craftsmen” can barely tolerate this kind of working style. Perfectionism vs. the rough draft is the only draft.
Why equate craftsmanship with perfectionism? The pursuit of "perfection", whatever that is, is a waste of money. But the production of good quality is not a waste, and is something you would expect of a good craftsman. However, I agree: CrankDrivenDevelopment cultures prefer RPM to quality, which is frustrating to craftsmen.
I thought the page referred to developers who insist that vi + the Unix shell is better than any modern, graphical IDE. As in, as old-fashioned as hand-cranked equipment. Although the developer might be a crank too...
Emacs, OTOH... :)
Emacs, OTOH, truly is
better than any modern, graphical IDE. -- hand-cranked Emacs weenie
I thought the page referred to a lead developer who found fault with everything. I am sure no one has really seen this in the real world, a Cranky Lead Driving the Development.
Reminds me of a manager I had one time that we referred to as "the spoon". She couldn't stand things flowing smoothly on the project. She was an expert at CreatingEmergencies
, and in those cases she'd manufacture some emergency and come in and stir us up.
My CDD experience meets a number of the above proposed definitions: commitment/long hours over quality; cranky technical lead; technical lead driving toward "innovative" solutions for a relatively mundane problem space...