Development Style

I have worked under many different development processes over the years, from very structured and bureacratic to research and development type efforts with no clear goals beyond testing a technology to see what is useful.

I have come to the conclusion that Einstein’s observation applies very well to development methodologies:

“Make everything as simple as possible, but not simpler.”

There are times where detailed system requirements are necessary, as well as times where “good enough for now” is the best path–it takes experience to understand the difference, and I can help my clients make those decisions. I help them select the appropriate amount of documentation, structure, and process for their projects–choices that fit their organizational requirements, culture, and stakeholder needs. Each project has it’s own needs, and at times those needs change as external and internal forces that drive the project shift. I know when to adapt the process in response to those changing forces, and when it is best not to change them.

I am becoming more “test-infected” as times go by. What once was a nice addition has become central to my own development efforts. I encourage my clients to spend more effort implementing tests up front since I am convinced it pays off with increased system stability, reliability, and developer confidence in moving on to the next development task.