Today we rolled out an application to production. While not entirely remarkable in itself, it was quite an achievement. What should have been a trivial rollout (it only has one page) turned out to be a day long debugging session.
This application was written primarily by our most senior developer (in terms of length of time programming and pay grade) using Microsoft ASP.NET. While the application seems to perform the business functionality required, it does not do it in a robust way. What I mean is that there was not way for us to diagnose any issues once the application was deployed to production. While this may seem obvious to many; it is simply not something most developers I work with even consider. Even someone with as much experience as the individual I am referring to.
The solution to this problem is to first educate and/or mentor the programmers to understand that business features are not the only features which need to be built into an application. Then we need to give them the tools (e.g. components, infrastructure) to actually build a better mouse trap.
My current plan is to try the following:
- Have weekly reviews of a chapter from Code Complete (by Steve McConnell). This book establishes a good foundation for writing code.
- Introduce a reference architecture which people can use to startup a new project. This architecture will contain all the parts needed to begin development. We will use the Microsoft templates to accomplish this.
- An example application which is based upon the reference architecture which fills in some of the blanks.
- Make sure that every application is tested in an environment which at least resembles production. Taking something from a test server directly to production is just plain risky (if not foolish).
9:52:03 PM
|