Chances are your biggest problem isn't technical at all
Right now someone's running a failing project to build a payroll system. Probably more than one someone.
Why? Was it because they chose Ruby over Java, or Python over Smalltalk? Or because they decided to use Postgres rather than Oracle? Or did they choose windows when they should have chosen Linux? We've all seen the technology take the fall for failed projects. But what are the chances that the problem was really so difficult to solve that Java wasn't up the the task?
Most projects are built by people, and those people are the foundation for success and failure. So, it pays to think about building systems that help make those people successful.
Equally, there's a good chance that there's someone who's "just not doing it right" and is undermining the project. In these cases, the solution is technology you need to solve your problem is very old and well established indeed. What you need is a conversation.
By Mark Ramm
This work is licensed under a Creative Commons Attribution 3
Back to 97 Things Every Software Architect Should Know home page