The most difficult aspect of building sophisticated websites is managing all the aspects of the project and communicating consistently and effectively with both the customer and the technical staff. All the tools available today are designed to be effective with just one or two aspects of a projects lifecycle, and they don’t work together very well. You may ask what are those aspects of the project lifecycle that I refer to? They are:
- Requirements Analysis & Tracking
- Systems & DB Analysis
- Project/Feature Tracking
- Project Planning
- Iterative Development
- Bug Tracking
Has anyone ever built a system for a customer that didn’t include all aspects mentioned above. I haven’t. What confuses me about the tools available today to help manage software development projects is that they include very little beyond project task related planning and tracking. And, the majority of them are better suited for building bridges than software. Why has no one ever taken a wholelistic approach to building software and created the tool(s) needed to facilitate the entire lifecycle. The answer in my opinion is that everyone is focused on the details and has lost sight of the bigger picture. Let’s look at this problem from two distincts perspectives.
The first is to look at tools that facilitate the technical aspects of building software. Those tools include IDEs, database modeling and design, code generators, methodology related analysis and design tools such as UML, prototyping, etc. With the exception of prototyping, there are more than enough of these types of tools on the market, and some quite good. However, none of these address the planning and tracking mechanics of a software projects except from a technical perspective. Nor do they help to communicate and coordinate the efforts with the customer, management team and technical staff.