This week I’m documenting architecture for a system where my company has been involved in the design and development of the core framework. I was not originally involved in this project, but have later contributed to the framework.
It always amazes me to see the pockets of cleverness found at small companies and government organizations. I do expect to see clever solutions when working with the well established software organizations. After all, they hire from top shelf and are behind most of the groundbreaking research in the software field. However, in recalling the last 20 years of consulting, the most memorable architectural solutions all come from small companies or from pockets within the government.
The solution I’m documenting now is a deployed application at the State of Montana. It is using software techniques that many software organizations are still experimenting with. The system has code generators based on state-of-the-art domain specific languages, they are using a sophisticated set of data cashing using a variation of SDO (Service Data Objects), the build process is automated with Maven and Hudson, and so on…. Many solutions that would make for a nice study and learning experience for most software organizations.
So what is it that makes some organizations excel in software? Thinking back, I can find only one common factor! At the top there is a visionary architect or manager. Usually, it requires only one that has the power and is willing to push the boundaries.
The project I’m working on now is not an exception. When I was first brought in to look at their architecture, I noticed that much of the manual work could be automated with a code generator. A lot of the code was already written, so I was hesitating a bit to suggest building a DSL and a tool. However, it seemed the best option, so I felt I had to propose it (If it is one thing I’ve learned for through nearly 20 years of consulting it is “there is NEVER a good reason not to suggest what you think is the best solution, NEVER!”).
I was expecting to have to spend hours/days to explain and also considered my chances of success miniscule. However, never underestimates the visionaries…. Without much discussions at all the advantages were seen immediately and the decision to move forward taken within minutes.
To all the visionaries out there, I applaud you!
Add a comment