Those were my thoughts when I took up the challenge of building Maven (then known as Project Andromeda).
There were so many reasons not to do it, unfinished and continuously evolving specs, unknown complexity, several dependencies, no development team in place, no clear target user, unproven market, extremely aggressive deadlines, fear of running out of money etc. But there was one important reason to do it: it hasn’t been done before.
Having decided that I want to do it, how do I go about it?
Well there is only one way to build software, to start building it. It cannot be done by sitting on the side-lines and waiting for things to fall into place before you begin. It needs a team to be built, need analysis, write specs, design, architect, code, test… and building Maven meant that we were doing all of these at once.
And then we celebrate…
The thrill of seeing the thoughts of several people in bytes and pixels is difficult to articulate. We know that we have just scratched the surface, and there is a ton of work to be done, but we also know that the journey ahead is much more manageable than what we have went through.
Why copy-cats don’t keep me up at night.
It takes a special type of environment to achieve something like this. You need people who are willing to suspend disbelief, embrace chaos, put their careers on the line and work with single minded focus to make it happen. Maven could not be built in an enterprise environment. It would take over 10 person-years to complete, and will be way behind what Maven would be by then. But to ensure that Maven is years ahead of competition, we cannot rest on what has been achieved and continue to innovate and create new benchmarks.