Degree of Freedom ― Experience of Applying Software Framework
Wang-chan Wong, Mohammad S. Eyadat, Shane Ng · 2006
Programming in the Large (PITL) is a major challenge for global virtual system development team. One of the issues is the control and management between the design and implementation teams. Ideally, a design team will do a system design based on user requirements and an implementation team will, supposedly, implement the design. It is hard to enforce the implementation team to follow the design closely especially when the teams are in different geographical locations and in different time zones. We observe that one major cause of this design-implementation gap lies in the degree of freedom given to the implementation developers. Given a design, the implementation staff has too many ways to implement it. We adopted software framework in our practice to standardize developments, to reuse major components and eventually to improve the productivity and maintainability of code. However, the side effect of adopting framework comes out as a surprise. It actually enables us to manage and control the design-implementation gap more effectively and efficiently.