What is "Common Bus" project?"Common Bus" project is such project which does not implement business requirements directly, but helps other projects to implement business requirements.
Examples of "Common Bus" projects:
1) Programming language.
2) Development environment.
3) Database management system (like Oracle or SQL Server).
4) COM (Component Object Model).
Reasons why Common Bus projects usually fail1) Common Bus project is more abstract than regular projects.
More abstract means more complex.
2) When you design Common Bus project, you must not just understand Common Bus project itself, but also design or all business projects consuming Common Bus project.
3) It's harder to test abstract projects, because such projects don't have clear goals.
What are the goals of Development Environment project?
How would you test it?
It's hard to come up with test cases for "Common Bus" projects.
4) Because Common Bus project is hard to understand, development can easily go into wrong direction for months or even years unnoticed. That drains money from the budget and eats time.
Can Common Bus project be successful?Implementing "Common bus" projects is possible, but it requires the following:
1) Very bright business analysts.
2) Very strong developers and architects.
3) Very strong testers.
4) Experience with developing similar "Common Bus" projects.
Note, that custom software development is considerably different from "Common Bus" software development.
I got Common Bus project. What do I do?What to do if you are not good enough for "Common Bus" project, but
you have to do it anyway:
1) Simplify business requirements as much as possible.
2) Drop all "Common Bus" / "Abstract" requirements unless they are absolutely vital for your customer.
3) Build clear plan of how you are going to test your project.
Every test case must be easy to understand and test.
If you cannot come up with the set of clear test cases for your project -- that's quite reliable sign that your project is doomed. Find another project and cancel your Common Bus project ASAP.