Coding as design
"The fallacy in traditional “waterfall” development has been to view software coding as production, and to apply manufacturing principles to it. Coding is more of a fine-grained design activity than a production activity – we are creating the first instance of a product." - Agile 101: Beginning the Agile Journey for Software Design in Healthcare - 2012
I started reading this paper and the quote above really struck me. Â There is an art to writing good code and many developers refer to what we do as a craft. Â Our product is not stamped out like a car door. Â It is sculpted like the clay models used to perfect the final design of the car.
Design by nature is iterative, fails quickly and requires conversations with the customer. Â Marketing and design firms don't go for months without talking to their customer. Â A design is sketched out and a conversation is had with the customer to refine and adjust it to meet their needs and timeframe. Â Software is no different. Â
A production line assumes the input is perfect and checks the output is identical to the input. Â Design takes an idea, describes it on paper, and creates something new from those ideas. Â Agile treats software as design, as it should be.
EDIT: When I find the place with the quote above I will post it. Â Another good quote:
"Customer Bill of Rights As the customer, you have the right to:
An overall plan, to know what can be accomplished, when, and at what cost; • Get the most possible value out of every programming week;
See progress in a running system, proven to work by passing repeatable tests that you specify;
Change your mind, to substitute functionality, and to change priorities without paying exorbitant costs;
Be informed of schedule changes, in time to choose how to reduce scope to restore the original date, even cancel at any time and be left with a useful working system reflecting investment to date.
Developer Bill of Rights As the Developer, you have the right to:
Know what is needed, with clear declarations of priority;
Produce quality work at all times;
Ask for and receive help from peers, superiors, and customers;
Make and update your own estimates;
Accept your responsibilities instead of having them assigned to you"Â
The bill of rights originally came from here:Â http://practicalagility.blogspot.com/2011/06/worth-repeating-xp-bills-of-rights.html








