Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Process Patterns For Distributed Development Vladimir Pavlov Andrey A. Terekhov

Similar presentations


Presentation on theme: "1 Process Patterns For Distributed Development Vladimir Pavlov Andrey A. Terekhov"— Presentation transcript:

1 1 Process Patterns For Distributed Development Vladimir Pavlov Vladimir.L.Pavlov@Intel.com Vladimir.L.Pavlov@Intel.com Andrey A. Terekhov AndreyTe@Microsoft.com AndreyTe@Microsoft.com

2 2 Process Patterns For Distributed Development Introduction Organizational Patterns Process Patterns Transitional Patterns

3 3 About The Authors Vladimir Pavlov (Intel, Russia) Outsourcing and Development Processes Manager Outsourcing and Development Processes Manager Microsoft Endorsed MSF Practitioner, MCSD for.NET, MCSD, MCDBA, MCT, CompTIA Certified IT Project+ Microsoft Endorsed MSF Practitioner, MCSD for.NET, MCSD, MCDBA, MCT, CompTIA Certified IT Project+ Member of PMI, ACM, IEEE and IEEE Computer Society Member of PMI, ACM, IEEE and IEEE Computer Society Andrey A. Terekhov (Microsoft, Russia) Academic Programs Manager Academic Programs Manager PhD in Computer Science PhD in Computer Science Microsoft Endorsed MSF Practitioner, MCSD, (ex-)MCT, IEEE Certified Software Development Professional Microsoft Endorsed MSF Practitioner, MCSD, (ex-)MCT, IEEE Certified Software Development Professional Member of ACM, IEEE and IEEE Computer Society Member of ACM, IEEE and IEEE Computer Society This presentation is mostly based on experience gained by authors prior to joining Intel/Microsoft, when authors worked as chief executives of several large Russian/Ukrainian software outsourcing companies We had a chance to look at outsourcing projects from both sides of the ocean We had a chance to look at outsourcing projects from both sides of the ocean

4 4 Intel in 2003 35 years old (founded in 1968) 78,000 people, 294 offices and facilities in 48 countries Over 450 products and services Revenue of $30.1 billion Net income of $5.6 billion R&D Investment of $4.4 billion R&D is distributed all over the world

5 5 Microsoft in 2003 29 years old (founded in 1975) 55,000 people, 89 subsidiaries Revenue of $32.2 billions Net income of $10 billions R&D investment: $5.2 billions As a general rule, all development is carried out at main campus in Redmond, WA

6 6 What Is a “Process Pattern”? A Pattern is a description of a general solution to a common problem or issue from which a detailed solution to a specific problem can be determined A Process Pattern is a specific Pattern created for, employed within or defined in terms of Software Process Engineering domain Software Process Engineering is a knowledge area concerned with the definition, implementation, assessment, measurement, management, change, and improvement of the software engineering process itself

7 7 In This Presentation We will use MSF in our examples. To understand these examples one does not need to know MSF. However some experience in one of the modern IT management methodologies/frameworks (RUP, MSF, CDM etc.) is required The Microsoft Solutions Framework (MSF) is a collection of Microsoft's proven practices on managing successful IT projects Microsoft almost does not market MSF and they are not selling it. Instead, Microsoft is focused on making money using MSF Similar to Windows or any other product, MSF evolves and matures as new versions are released. Initially Microsoft made MSF available in 1994. The latest version of MSF is 3.0 and it was published last year You cannot buy this product from Microsoft, but you still can get it – it’s free. Both whitepapers describing MSF and sample templates for MSF lifecycle deliverables are available on the Microsoft web-site

8 8 Software Outsourcing: Typical Models CIS US / Europe Development company Development office Mediator company Main office Client CIS - Commonwealth of Independent States (Russia, Ukraine and other former Soviet countries) Different approaches to adapting modern software development management methodologies and frameworks to offshore outsourcing projects are possible development office provides SERVICE client gets PRODUCT or service

9 9 How Many Borders Do We Have? CIS Europe / US CIS office US/Europe office Client language barrier time shift cultural difference s

10 10 Single-Site Development a strategy an organizational structure business processes

11 11 Distributed Development CIS US / Europe How to distribute/customize a strategy, an organizational structure and business processes?

12 12 Process Patterns For Distributed Development Introduction Organizational Patterns Process Patterns Transitional Patterns

13 13 Software Outsourcing: Typical Models CIS Europe / US Development company Development office Mediator company Main office Client CIS - Newly Independent States (Russia, Ukraine and other former Soviet countries) Different approaches to adapting modern software development management methodologies and frameworks to offshore outsourcing projects are possible development office provides SERVICE client gets PRODUCT or service

14 14 Software Outsourcing: the “Broken Phone” Game CIS US / Europe “Technical” people “Business” people Client When a technical person speaks to a business person, some information is often lost or misinterpreted When two specialists from different countries speak over the ocean, some information is often lost or misinterpreted So, imagine what happens when a technical person speaks to a business person over the ocean…

15 15 MSF Team Model Communication Delivering the solution within project constraints Satisfied customers Enhanced user effectiveness Smooth deployment and ongoing operations Approval for release only after all quality issues are identified and addressed Building to specification Program Management Development Test Release Management User Experience Product Management

16 16 MSF Team Model for Software Outsourcing Projects Europe / US Development Test Program Management Release Management User Experience Product Management CIS

17 17 Our Solution: In Software Outsourcing Projects All Functional Areas Should be Covered on Both Sides CIS US / Europe Program management Development Test User Experience Product Management Program management Development Test Release Management User Experience Product Management Release Mngmnt

18 18 MSF Team as a Matrix Organization An MSF team is structured as a team of peers. In this model, the Program Management role takes a highly facilitative approach to managing the functions within its responsibilities. As such, the MSF team would organizationally be structured similarly to what is referred to in the PMBOK as a Matrix Organization. These are cross-functional teams that combine the skills and foci from difference areas of the organization into a single team assembled for the project Additionally, the MSF team, as a team of peers, would most closely resemble a Weak Matrix Organization, in its purest form, as described in the PMBOK. Here, “weak” refers to the level of decision-making clout of the project manager and not the quality or capabilities of the team from MS whitepaper “MSF and the Project Management Body of Knowledge”

19 19 Organizational Type Project Characteristics Project Manager’s Authority % of Organization's Personnel Assigned Full-time Project Manager’s Role Common Titles for Authority PM’s Role Functional Matrix Strong Matrix Projectized Project Manager’s Administrative Staff Little or None Virtually None Part-time Project Coordinator/ Project Leader Part-time Limited 0-25% Part-time Project Coordinator/ Project Leader Project Manager/ Project Officer Weak MatrixBalanced Matrix Low to Moderate Moderate to High High to Almost Total 15-60%50-95%85-100% Full-time Project Manager/ Program Manager Project Manager/ Program Manager Part-timeFull-time PMI PMBOK Matrix Organizations

20 20 Functional Organization Chief Executive Functional Manager Functional Manager Functional Manager Staff Project Coordination

21 21 Project Organization Chief Executive Project Manager Project Manager Project Manager Staff Project Coordination

22 22 Weak Matrix Organization Chief Executive Functional Manager Functional Manager Functional Manager Staff Project Coordination

23 23 Balanced Matrix Organization Chief Executive Functional Manager Functional Manager Functional Manager Staff Project Manager Project Coordination

24 24 Strong Matrix Organization Chief Executive Manager of Project Managers Functional Manager Functional Manager Project Manager Staff Project Manager Staff Project Manager Staff Project Coordination

25 25 Our Solution: MiniMax Pattern for Geographically Distributed Matrix Organizations If a matrix organization is geographically distributed over number of offices/countries/time zones So it becomes 3D matrix So it becomes 3D matrix Each function should be present on as many sites as possible However, for offshore development some functions (i.e. sales) may not make sense on some sites However, for offshore development some functions (i.e. sales) may not make sense on some sites Each project should be allocated to as few sites as possible This is an extension to the known approach called “collocation” This is an extension to the known approach called “collocation” However, for offshore development each project will be allocated to at least two sites However, for offshore development each project will be allocated to at least two sites

26 26 Process Patterns For Distributed Development Introduction Organizational patterns Process patterns Transitional patterns

27 27 MSF Risk Management Discipline Risk Statement Risk Database, Risk Concepts and Processes Identify Learn Control Track and Report Plan and Schedule Analyze and Prioritize Risk Assessment Document Top n Risks

28 28 Risk Management for Software Outsourcing Projects CIS Europe / US Risk Statement Risk Database, Risk Concepts and Processes Identify Learn Control Track and Report Plan and Schedul e Analyze and Prioritiz e Risk Assessment Document Top n Risks Risk Statement Risk Database, Risk Concepts and Processes Identify Learn Control Track and Report Plan and Schedul e Analyze and Prioritiz e Risk Assessment Document Top n Risks

29 29 Our Solution: One Transparent Risk Management Process for All Sub-Teams CIS US / Europe Risk Statement Risk Database, Risk Concepts and Processes Identify Learn Control Track and Report Plan and Schedule Analyze and Prioritize Risk Assessment Document Top n Risks

30 30 IBM Rational Unified Process Management Environment Business Modeling Implementation Test Analysis & Design Preliminary Iteration(s) Iter. #1 Phases Disciplines Iterations Iter. #2 Iter. #n Iter. #n+1 Iter. #n+2 Iter. #m Iter. #m+1 Deployment Configuration Mgmt Requirements ElaborationTransitionInceptionConstruction

31 31 RUP Disciplines For Software Outsourcing Projects RUP Disciplines For Software Outsourcing Projects CIS Europe / US

32 32 Our Solution: All Disciplines Are Important For Every Sub-Team CIS US / Europe ElaborationTransitionInceptionConstruction

33 33 Project Postmortem CIS Europe / US POSTMORTEM A postmortem is a procedure whereby project team summarizes a project's history and analyzes its positive and negative aspects. The goal of a postmortem is to draw meaningful conclusions to help project team learn from past successes and failures POSTMORTEM

34 34 Our Solution: “Big Postmortem” For All Project Stakeholders CIS Europe / US P O S T M O R T E M Unfortunately, it is not a common practice for offshore outsourcing projects today POSTMORTEM

35 35 One Of The GRASP Design Patterns: Polymorphism Problem: How to handle alternatives based on type? How to create pluggable components? How to handle alternatives based on type? How to create pluggable components?Solution: When related behaviors vary by type, assign responsibility for the behavior to types using polymorphism When related behaviors vary by type, assign responsibility for the behavior to types using polymorphismPRO: Extensions (new variations) easy to add Extensions (new variations) easy to add New implementations can be introduced without affecting clients New implementations can be introduced without affecting clientsCON: Avoid “future-proofing” if variation is unlikely to occur Avoid “future-proofing” if variation is unlikely to occur Adds additional effort to design Adds additional effort to design

36 36 Our Solution: Inheritance Helps Minimize Bureaucracy Traditional approach Our approach Total 64 pages Total 34 pages Java coding standard C++ coding standard C coding standard Java coding standard C++ coding standard C coding standard General style and coding standard

37 37 US/Europe Office Public Domain CIS Office Our Solution: Define Your Process Architecture Using Inheritance CISUS / Europe Policy

38 38 Process Patterns For Distributed Development Introduction Organizational Patterns Process Patterns Transitional Patterns

39 39 More Workload, More Resources… Company workload Company size / resources Most companies are in this area

40 40 A Few Words About Productivity… Productivity of employees Number of employees Most companies are in this area

41 41 Transitional Patterns Transitional patterns deal with process transformations during the period of rapid growth/change of the company When the company grows to more than 3-5 persons, a formal hierarchy of command should appear When the company grows to more than 40-50 persons, delegation of authority from the chief executive to the middle managers is needed When the company grows beyond 90-110 persons, formal policies and quality programs become necessary for keeping the company on track

42 42 MSF Readiness Management Discipline Define Knowledge, Skills, Abilities Change Assess Evaluate

43 43 Our Solution: Integrated Readiness/Effectiveness/Transition Management Discipline Define Corporate Knowledge Base Change Assess Evaluat e Plan

44 44 Summary MiniMax pattern helps organize work within geographically distributed matrix organizations All functional areas should be covered in all sites All functional areas should be covered in all sites Every discipline should cover all sub-teams One transparent risk management process for all sub- teams One transparent risk management process for all sub- teams “Big postmortem” for all project stakeholders Define your process architecture Inheritance helps minimize bureaucracy Inheritance helps minimize bureaucracy Integrated readiness/effectiveness/transition management

45 45 See Also Process Patterns http://hillside.net/ (English) http://hillside.net/ (English) http://hillside.net/ http://www.ambysoft.com/processPatternsPage.html (English) http://www.ambysoft.com/processPatternsPage.html (English) http://www.ambysoft.com/processPatternsPage.html Microsoft Solutions Framework http://www.microsoft.com/msf (English) http://www.microsoft.com/msf (English) http://www.microsoft.com/msf http://www.microsoft.com/rus/msf (Russian) http://www.microsoft.com/rus/msf (Russian) http://www.microsoft.com/rus/msf IBM Rational Unified Process http://www.rational.com/rup (English) http://www.rational.com/rup (English) http://www.rational.com/rup PMI Project Management Body Of Knowledge http://www.pmibookstore.org/PMIBookStore/productDetail s.aspx?itemID=110&varID=1 (English) http://www.pmibookstore.org/PMIBookStore/productDetail s.aspx?itemID=110&varID=1 (English) http://www.pmibookstore.org/PMIBookStore/productDetail s.aspx?itemID=110&varID=1 http://www.pmibookstore.org/PMIBookStore/productDetail s.aspx?itemID=110&varID=1 http://www.pmi.org/info/PP_PMBOK2000Excerpts.asp (English) http://www.pmi.org/info/PP_PMBOK2000Excerpts.asp (English) http://www.pmi.org/info/PP_PMBOK2000Excerpts.asp

46 46 See Also “Using MSF for Software Outsourcing” by V.Pavlov and A.A.Terekhov http://nl.itsmportal.net/binaries/MSF_for_software_outsourcing.ppt (English) http://nl.itsmportal.net/binaries/MSF_for_software_outsourcing.ppt (English) http://nl.itsmportal.net/binaries/MSF_for_software_outsourcing.ppt http://www.ukrsoftpro.com.ua/Pavlov_Terekhov_Kiev2003.zip (Russian) http://www.ukrsoftpro.com.ua/Pavlov_Terekhov_Kiev2003.zip (Russian) http://www.ukrsoftpro.com.ua/Pavlov_Terekhov_Kiev2003.zip “MSF-based Process Patterns” by D.Malenko and V.Pavlov www.itlab.unn.ru/archive/seminar/SE/1502_2.ppt (English) www.itlab.unn.ru/archive/seminar/SE/1502_2.ppt (English) www.itlab.unn.ru/archive/seminar/SE/1502_2.ppt “How to Train Managers for IT Industry?” by V.Pavlov and A.A.Terekhov (Russian) http://www.it-education.ru/archive/2003/reports/pavlov_terekhov.htm http://www.it-education.ru/archive/2003/reports/pavlov_terekhov.htm http://www.it-education.ru/archive/2003/reports/pavlov_terekhov.htm http://www.it-education.ru/archive/2003/reports/presentation/pavlov_terekhov.ppt http://www.it-education.ru/archive/2003/reports/presentation/pavlov_terekhov.ppt http://www.it-education.ru/archive/2003/reports/presentation/pavlov_terekhov.ppt "Software Process Improvement in Russian Company: a Case Study” by V.Kiyaev, A.A.Terekhov http://users.tepkom.ru/ddt/articles/SPI_in_Russia.html (English) http://users.tepkom.ru/ddt/articles/SPI_in_Russia.html (English) http://users.tepkom.ru/ddt/articles/SPI_in_Russia.html http://www.nsda.ru/home.asp?artId=129 (Russian) http://www.nsda.ru/home.asp?artId=129 (Russian) http://www.nsda.ru/home.asp?artId=129 “Formalization and Automation of Global Software Development Processes” by V.Kiyaev, I.Sobolev, A.A.Terekhov, B.Fedotov http://users.tepkom.ru/ddt/Articles/DistributedDevelopment.html (English) http://users.tepkom.ru/ddt/Articles/DistributedDevelopment.html (English) http://users.tepkom.ru/ddt/Articles/DistributedDevelopment.html http://users.tepkom.ru/ddt/Articles/DistributedDevelopment_rus.html (Russian) http://users.tepkom.ru/ddt/Articles/DistributedDevelopment_rus.html (Russian) http://users.tepkom.ru/ddt/Articles/DistributedDevelopment_rus.html

47 47 Our thanks to: Alexandr Zverintsev (NOKIA, Poland) Alexandr Zhuykov (ISD, Ukraine) Andrey Filev (Murano Software, USA/Russia) Andrey Nizovsky (Waveaccess, Russia) Anna Tiunova (Lanit-Tercom, Russia) Irina Mozgovaya (DNU, Ukraine) Nikita Boyko (ISD, Ukraine) Sergey Alpaev (ISD, Ukraine) Sergey Goryainov (Berest, Ukraine) Sergey Troshin (Lanit-Tercom, Russia) Symon Moldavsky (UkrSoftPro, Ukraine) Victor Churilov (ISD, Ukraine) Vladimir Ufnarovsky (Lanit-Tercom, Russia) Yuri Gubanov (Lanit-Tercom, Russia) Yury Us (SCC, USA)

48 48 You can download this presentation from http://www.vlpavlov.com http://www.soft-outsourcing.com Questions?

49 49 This presentation was delivered at the Fourth “Russian Outsourcing & Software Summit” (ROSS) St. Petersburg June 10, 2004


Download ppt "1 Process Patterns For Distributed Development Vladimir Pavlov Andrey A. Terekhov"

Similar presentations


Ads by Google