1 Preparing DOSE Projects Bertrand Meyer ETH Zurich / Eiffel Software Peter Kolb red-expel GmbH Chair of Software Engineering
Setting up an Distributed Project 2 • From task/vision to agreed requirements • Planning and Lifecycle Model • Team and Roles • Collaboration • Communication • Change Management • Reviews • Result Integration 2 Chair of Software Engineering
Unified Process Roles, Disciplines vs. Phases and Iterations Roles Requirements Engineer Software Architect Software Engineer Test Manager, Test Designer Config. Manager Project Manager Tool Smith 3 Chair of Software Engineering
Distributed Development Adds Complexity Offshore Center Travel and Communicate Acquirer Bridge Head Roles: Acquirer Project Roles: PM counterpart Project Manager PM RE counterpart Requirements Eng. RE optional: SW architect optional: SW architect optional: Test Manager optional: Test Manager Business Units Pool of software formulate engineers, testers, requirements etc. who execute projects Role as Experts, plus … Experienced in Outsourcing Offshore Center Strengths: Project Management Fluent in English Technical Writers CMMI, Processes of the Acquirer Multi Cultural Experienced Tools and Communication with Acquirer Partly: Willing to travel Software Engineering / Maintenance Chair of Software Engineering 4
Put Organization and Processes in Place Set up and perform • Sub Contract Management = Supplier Agreement Management. • Project Management, Project Monitoring and Control • Change Management • Result transfer and result integration To Remember: Organization: Grow organization with your actual need. Contracts: Build strategic partnerships (MBA), handle major risks by contracts Processes: Outsourcing is like delegation: needs disciplined processes and at least 30 % effort for supervision. 5 Chair of Software Engineering
Plan and Manage Project Tasks: • Requirements need to be elicited and understood from both parties • Project Planning to be done on estimations for realization of requirements • Planning for QA (reviews of intermediate results, test plans, …) • Agree upon joint processes (project reporting, configuration management, …) • Set up measurements. • Conduct Systematic project monitoring. Plan for result transfer procedure (acceptance criteria, error correction, warranty) To Remember: It gets only done what is planned and communicated. Be aware of hidden goals of outsourcing partner: All what is not part of the project is potential follow up business. Identify problems and deviations from plan early enough to be able to take corrective actions. Train people to get aware of the different cultures. Plan for knowledge transfer during transition. 6 Chair of Software Engineering
Collaboration 7 • Communication • Reviews • Change Management 7 Chair of Software Engineering
Communication • Communication Rules • Planned • Frequent • On all levels, whole project duration • Escalation Procedure Offshore Center Acquirer 3. Business Mgr Business Unit Business Unit Bridge Head Roles: Acquirer Project Roles: 2. Project Mngr PM counterpart Project Manager PM 1. Technical Level RE counterpart Requirements Eng. RE SW architect SW architect Test Manager Test Manager Pool of software engineers, testers 8 Chair of Software Engineering
Reviews and Changes 9 • Reviews • Change Management • Where to post changes • Change review / decision board • Task tracking 9 Chair of Software Engineering
Transfer and Integrate Results Tasks: Plan for result transfer procedure (acceptance criteria, error correction, warranty) Plan for quality checks of acquired product at your organization Plan for immediate integration test after product transfer. Goal: Identify major faults and have them corrected during warranty phase. Plan for transfer to your organization for use and maintenance of the product (training, installation, user and developer documentation) To Remember: Confirm quality of acquired component before integration into your product (difficulty of error tracking in multi-vendor component products) Use warranty phase to have most of the errors corrected. 10 Chair of Software Engineering
Software Engineering and Distribution 11 Geographical distribution acts as a revelator and magnifier of software engineering issues Amateurism no longer possible 11 Chair of Software Engineering
12 Preparing DOSE Projects The End Chair of Software Engineering
Recommend
More recommend