Exploring alternatives is part of the design process.
TDD is a way to do incremental design, or design while you write code.
So can we use TDD to explore design alternatives?
Turns out, I've seen a lot of design exploration during the 30+ code retreats I facilitated and attended. While I don't have a definite proof, it seems that TDD could be used for this purpose.
3. Waystodesignsoftware
● Sketch a diagram (hopefully not UML)
● Think about the problem
● Write code (prototype)
● Review with other people, or work together
8. Designis...
Conceiving and giving form to artifacts that
solve problems
within constraints.
The primary constraint for software is need for
quick change.
18. Design is creation of artifacts that solve problems
Software design is the creation of classes,
methods etc. that solve a problem
Exploring design alternatives is part of the design
process
One way to explore an alternative is to build it
TDD is a method to design software while writing
code
30. Thankyou!
Alexandru Bolboaca
Coach and Trainer at MozaicWorks
Contact me:
@alexboly
alex.bolboaca@mozaicworks.com
Remote pair with me
Come at code and beer!