Why Project have to start from scratch? Companies which are small/big/Corporate does not have Common services group. Even if they do, they are part of Architectural group which has the documentation and suggests the best practices but not follow with rigor.
Below are the some of the pain areas in the development cycle :
1. In Analysis/Design phase too much time spent on the Research for Basic services by development team
2. Team trying to gather reusable components from other teams
3. Lack of Code sharing within the organization,which most of the companies faces issues with. :)
This team I am proposing is the extension the Architectural services group.
Project Jump start Team
This could be the part Architectural team.
Responsibility of the team is to jump start the project by ready made components
Below are the some of the common components across the projects
1. Exception Handling
2. Logging
3. E-mail
4. DB Access(JDBC,AKD(EMatrix,Oracle OIM etc...)
5. Struts (Configure the struts framework)
6. Caching etc
Below are the features/services provided by this team :
1. One of the Representative from Common Services engages in the early phase of Development by providing above components ready
2. Train the team with the reusable components
3. Suggest the Design Changes to some extent not overlapping with Architectural services.
4. Best Practices are shared in the team in regards to Performance,Code Reusability and Documentation of code.
Below are the benefits :
1. Projects can benefit by reducing 20% of their development time
2. Since the code is tested and used in different projects , this components are bug free.
3. Since the Development is Equipped with right tools and Training, project is better Managed and Ontime delivery.
4. Project Development team can concentrate on Business logic and not worrying about Basic services.
Pitfalls
1. Process made but not followed constrained only for documenting but not let the team knowing
2. Too much time sent on Training and research
Early engagement of right resources and reusable components can significantly reduces the Development time and Companies prosper in all round.
Post your comments and feedback.