The Correct Process Guides Us (Tracer Architecture Cont.)Filed Under Architecture, Software Process, Thought Stuff
Here is my big thought for the day:
The correct process implicitly guides people into correct behavior. The correct architecture forces code into the correct patterns.
A few weeks ago I wrote about how Tracer Bullet Architects show true leadership by creating clear and direct paths prior to the entire team coming aboard is probably the most important activity of a successful project.
However, I would like to take this one step further and suggest that if [as a team leader] you install the most correct process people will want to participate in correct and efficient behavior.
For example, when Napster was first introduced millions of people illegally downloaded music. Why? Not because they were bad people, but because they had no other mechanism for which to purchase (and own) digital copies of their favorite songs. Apple came along with iTunes giving people the first reasonably priced and easy to purchase model which included digital ownership – and the rest is history. People want to do the right thing and will given the correct means.
Building on this concept, it is possible to create project infrastructures that force developers to adhere to good practices such as SOLID. Seriously…I have done it. Some of these architectures would range from MVC/DI/IoC/Mock goodness to Tiered/Stubs/Statics/MockingIsEvil grossness, and each was a good fit given current company. It was the architectures that enforced clean lines of responsibility, increased testability, and [as a result] increased stability.
Of course people can break processes, of course they can break code, but if the correct solution is in place – they have to try really hard to do the wrong thing. If people continually are breaking process or code, then the answer is easy – you currently have the wrong solution in place.
Creating a zero friction environment is rarely rewarded by your peers; however, it is the most rewarding personal achievement one can accomplish.
If you do something correct, it is as if you did nothing at all. -God (as seen on Futurama)