A friend of mine sent the link to this useful and informative study. It is a must read to anybody who is planning to launch a new software project (not necessary online).
This article explores the reasons for these failures and reviews the questions to consider in improving your organization’s performance with large-scale software projects. Not surprisingly, considering these same questions will help you improve almost any large or small project with substantial software content. The principal questions concern why large software projects are hard to manage, the kinds of management systems needed, and the actions required to implement such systems.
The conclusion is… well, the best if you read the full article. It will make more sense.
Great tool for website testing, unit tests or debugging: Fake
There are almost a dozen different development methodologies. Some are closely related to the other. I only want to highlight two, which I believe sets the main path for others:
… and actually there is a third, which I will not write about but one needs to be mentioned as it is often confused with the Agile method: Cowboy coding.
Cowboy coding is a software development without a defined or structured method: team members do whatever they feel is right.
My theory about software development and developers: All developers started of with the waterfall model as it is taught in schools and follows rigid rules. It all starts with the Functional Specification and doesn’t start the next step (Design) before the first step is fully completed. This is where it starts and goes all wrong.
There are different Agile methods (ie: scrum, XP, kanban, etc) and they are often mashed up. Agile development is more liberal hence harder to master. One should always be careful not to end up with Cowboy coding when trying the Agile software development.
For more information I recommend reading Wikipedia and watching videos on YouTube.