Describe DesignCodeTest here.
The three things a SoftwareDeveloper must do in order to successfully write a ComputerProgram.
The three elements, DesignCodeTest, form (what I believe is) the absolute minimum steps in any SoftwareDevelopmentProcess. However, it is clear that DesignCodeTest is a necessary, but not sufficient process to complete an EngineeringTask. The binding element is (of course) analysis; the incredibly HardToDefine? step which (in some sense) glues together DesignCodeTest and permeates the entire SoftwareDevelopmentProcess, not simply the development of a UserStory which may form the basis for EngineeringTasks?.
In fact, DesignCodeTest may need to be applied during the entire PlanningGame. For instance, consider the interface between WriteStories? (a BusinessProcess) and EstimateStories? (a SoftwareDevelopmentProcess), which could be an extremely expensive bridge to cross (see ExtremeDeployment) One way to connect this interface is through SoftwarePrototyping?, which is most certainly a SoftwareDevelopmentProcess DesignCodeTest activity that is strangely absent from the PlanningGame; it is certainly "too late in the game" (pun intended :-) to do SoftwarePrototyping? right before the SteeringPhase? IterationPlanningGame? (or whatever was meant by that PlanningGame FlowChart ;-).
In other words, lots of Analysis+DesignCodeTest steps are needed in every phase in order to DoTheSimplestThingThatCouldPossiblyWork -- SteveBravo
This page needs *a lot* of work - and I've seen plenty of programs that obviously skipped the design and test phases.
Did they work? I believe the key word is "successfully".
The program ran. "successfully" should be defined to avoid a LaynesLaw debate on this. perhaps you mean "in order to write a successful program"
Debate avoided.
See HowCanYouCodeWithoutTesting
Debate not intended.