Many organizations are trying to leverage the high quality and low cost of a global,diffused software talent.As they try to enable these global distributed development teams and achieve true 24*7 development cycles they face tremendous “knowledge centric” challenges.The central question is how effectively can project transitions be done across time and distance? Most of the inefficiencies that creep in are as a result of dilution of context as one team starts from where the other one stopped. What forms “context” in the software development?
- Comments that get added to source code creates some context at a low level
- Emails that were exchanged in relation to this artifact
- Threaded discussions that refer to this artifact
- Documents relating to this artifact
- Other artifacts in the lifecycle that are related to the artifact under question(Traceability)
- Bugs,Patches relating to this artifact
- History of changes to the artifact itself
- Recorded web conferences discussing this artifact
- Instant messages,phone calls and face-to-face meetings relating to this artifact
All of these form an intricate web, a rich context around source code. Simply swapping source code in software configuration management systems back and forth between distributed developers is not enough.Companies like CollabNet brings in best practices in collaborative software development from the open source world and shows a lot of promise.This product goes a long way in “preserving context” around source code.
“Preservation of context” is the key prerequisite for successful collaboration to happen.
This will enable:
- Global distributed teams to transition knowledge(and hence projects) across time and distance
- Organizations have clear visibility into the entire application life cycle
- Organizations retain the flexibility to mix and match multiple service providers/partners to co-develop,outsource applications.( Successful knowledge transition remains one of the biggest challenges in application outsourcing)