R&D System Development Management 1 Theo Schouten 2010 GiPHouse Radboud University Nijmegen Lectures • 9 lectures of 2 hour – some by guest speakers • 2 hour written examination – no books or documentation • based on: – Software Engineering – A practitioner’s Approach: European Adaptation, sixth edition , Roger S. Pressman, changing to seventh – sheets of the presentations – extra treated concepts and theories GiPHouse Radboud University Nijmegen 2 GiPHouse • practical work of R&D SDM1 (4 ec) – management of the software house and its projects • serious participation needed – individual grade – 50% of final grade GiPHouse Radboud University Nijmegen 3 Aim • SDM1 has the aim that the student obtains all the professional skills of an IT project leader. • SDM1 resembles the phase in an IT career in which the project leader takes responsibility for the management of a software development project. • and/or responsibility for the management of the company • Within GiPHouse students aim at two goals: – realizing their own personal development goals, and – delivering a high quality system. – focus on teamwork GiPHouse Radboud University Nijmegen 4 Role • Role differentiation, typical for knowledge workers • control by reviewing against quality criteria – judged by other students and customers • teachers are more at a “distance” – CEO, following all email – design of SDM1, GiPHouse GiPHouse Radboud University Nijmegen 5 Scope • Within SDM1 we address the project management aspects of the whole life cycle of a system development project: • from definition study through system design, system development and system implementation all the way to the maintenance of a system in an operational environment. GiPHouse Radboud University Nijmegen 6 other managers • Improving the company – handbooks, activity templates, intra-net, etc – PR, customer contact – different team members (IK, IC, KI, HBO-students) – collaboration software facilities – differentiated grading • Preparing the future – projects for the next semester – GiP International GiPHouse Radboud University Nijmegen 7 Course Subjects • Project management • Project planning – Business Planning, Technical Planning • Rolls of – Project manager, Quality manager, Contract Owner, Public Relations Manager, Director • Planning methods – PERT, CPM, Work Breakdown structure, Gantt-charts • • • • Quality Management Risk Management Metrics Component Based Development GiPHouse Radboud University Nijmegen 8 Project management • What is project management? • What makes management of software development so special? • Which roles are there? • Which steps do you have to take? • What is a project? Chapter 1 and 21 of book, (24 in 7th) GiPHouse Radboud University Nijmegen 9 What is project management • ‘ ..it involves the planning, monitoring and control of the people, process and events that occur as software evolves from a preliminary concept to an operational implementation. ’ (Dilbert) • ‘ .. The role of the ‘manager’ is to plan, organize, staff, direct and control. He or she deals with ideas, things and people.’ (Tomayko and Hallman, 1989) • Care that every stakeholder stays happy GiPHouse Radboud University Nijmegen 10 North Sea Project Cost History • Brent C 10,0 Final or forecast cost/estimate 8,0 4,0 2,0 • Dunlin • Brent B • Brent C • Frigg I&II • Statfjord A • Brent D • Frigg • Ekofisk IV IV • Ekofisk II • Valhall • Murchison • Ekofisk III • Statfjord B• Leman • Fulmar Gas • Odin • Fulmar • Inde M&N • Eider • N. Cormorant • Clyde • Tern 1,0 0,8 0,6 0,5 ‘71 ‘72 ‘73 ‘74 ‘75 ‘76 ‘77 ‘78 ‘79 ‘80 ‘81 ‘82 ‘83 ‘84 ‘85 ‘86 ‘87 ‘89 ‘90 GiPHouse Radboud University Nijmegen Year of appropriation estimate 11 Challenges Late Delivery Cost Overruns Rarely Never12% 4% Always 4% Sometimes 43% Sometimes Usually Always Never Rarely Usually 37% Reasons? GiPHouse Radboud University Nijmegen Rarely 15% Never 2% Always 1% Sometimes 51% Usually 31% Sometimes Usually Always Never Rarely (Van Genuchten 1991) 12 Reasons for cost/delay overrun • Human capacity: – Not available due to: overruns in previous or other projects, needed for unplanned activities • Human related: – too little experience with e.g. development environment – more inexperienced then experienced people, wrong mix • Input-requirements related: – requirements too late, too little quality – specifications for COTS or other hardware too late, too little quality – changing requirements during the project GiPHouse Radboud University Nijmegen 13 further • Product (technology) related – – – – – changing interfaces with environment software complexity underestimated more problems with performance of memory limitations more software failures (bugs) than planned product wrongly designed, redesign is needed • Organization related – – – – less continuity in project team members more interruptions than planned more influence/interruption of quality assurance activities bureaucracy • Tools related – Development or test tools too late or not adequate – Needed releases too late or with too many errors GiPHouse Radboud University Nijmegen 14 Implementation benchmarks Obstacles until “go-live” Obstacles after “go-live” Change Management Change Management Internal Staff Adequacy Training Project Team Internal Staff Adequacy Training Prioritization/Resource Allocation Prioritization/Resource Allocation Top Management Support Project Team Consultants Discipline Ownership (of Benefits and Other) People 51% Ownership (of Benefits and Other) People 62% Discipline Ongoing Support Program Management Process Reenigineering Stage/Transition Stage/Transition Business Performance Process 16% Benefit Realization Process 19% Process Reengineering Software Functionality Software Functionality Application Portfolio Management Enhancements/Upgrades Enhancements/Upgrades Data Application Portfolio Management Technology 12% Reporting 0 2 % of Mentions GiPHouse Radboud University Nijmegen Technology 19% Reporting 4 6 8 10 12 14 16 0 2 4 6 8 10 12 14 16 % of Mentions 15 People, Process & Technology Technology requires skills and new roles in organisations Processes based on the skills of people People The ideal process requires a skilled organisation People need to know how to manage the system Technology Process Processes require a well fitting and performing system Systems limit but also challenge processes GiPHouse Radboud University Nijmegen 16 specific to software management? • Software is a creative product based on human ideas, concepts and models; it has no natural limits • Software develops during the process • Software engineering is relative young; measuring is difficult • Developed software needs acceptance by users in their environments • User requirements change during the development • Fixing the design is a balancing act between user acceptance and project control possibilities • Design is based on concepts and ideas, not on fixed or well known building blocks • It is difficult to detect bugs during the development process • Communication and interaction with legacy systems and COTS increases GiPHouse Radboud University Nijmegen 17 The Four P’s • People — the most important element of a successful project • Product — the software to be built • Process — the set of framework activities and software engineering tasks to get the job done • Project — all work required to make the product a reality GiPHouse Radboud University Nijmegen 18 MOI model of leadership • Motivation. The ability to encourage (by “push or pull”) technical people to produce to their best ability. • Organization. The ability to mold existing processes (or invent new ones) that will enable the initial concept to be translated into a final product. • Ideas or innovation. The ability to encourage people to create and feel creative even when they must work within bounds established for a particular software product or application GiPHouse Radboud University Nijmegen 19 Team Coordination & Communication • Formal, impersonal approaches include software engineering documents and work products (including source code), technical memos, project milestones, schedules, and project control tools, change requests and related documentation, error tracking reports, and repository data. • Formal, interpersonal procedures focus on quality assurance activities applied to software engineering work products. These include status review meetings and design and code inspections. • Informal, interpersonal procedures include group meetings for information dissemination and problem solving and “collocation of requirements and development staff.” • Interpersonal networking includes informal discussions with team members and those outside the project who may have experience or insight that can assist team members. GiPHouse Radboud University Nijmegen 20 Projects get into trouble when … • • • • • • • • • • Software people don’t understand their customer’s needs. The product scope is poorly defined. Changes are managed poorly. The chosen technology changes. Business needs change [or are ill-defined]. Deadlines are unrealistic. Users are resistant. Sponsorship is lost [or was never properly obtained]. The project team lacks people with appropriate skills. Managers [and practitioners] avoid best practices and lessons learned. GiPHouse Radboud University Nijmegen 21 Project organization and roles Project Sponsor Steering Committee Project Steering Committee Project Manager(s) Functional/Process Groups (User Focal Points) User Group 1 GiPHouse Radboud University Nijmegen User Group 2 ….. Technical Project Leader Analysts Designers Programmers User Group n 22 inzet in %: fase 1b Fase 1b: ontwerp Fase 1b: realisatie Fase 1b: invoering inzet in %: fase 2 Fase 2: ontwerp Fase 2: realisatie Fase 2: invoering 35 1 10 60% 1 1% 30 2 45 1 12 2 10 10 40 30 30 20 20 0 5 14 14 56 42 42 28 28 0 7 4 4 16 12 12 8 8 0 2 0 10 15 20 20 30 30 0 5 0 15 23 30 30 45 45 0 8 0 5 7 10 10 14 14 0 2 10 50 14 70 4 20 10 50 15 75 12 60 Management Projectmanager Steering committee 6 40% 1 1% 16 1 26 1 Consultants Consultant Financieel sr GL / AP / AR / FA Consultant Financieel jr AP / AR / FA Consultant Logistiek sr PO / INV / config Consultant Logistiek jr BOM / WIP Consultant sr OM / advanced pricing / WMS Consultant sr CRM Consultant jr Sales / Contracts Database specialist testmachine Coördinatie bouw 0 0 0 0 0 0 0 0 0 16 24 0 0 0 0 0 16 4 26 39 0 0 0 0 0 26 7 8 12 0 0 0 0 0 0 2 8 40 13 65 4 20 Fase 0 Fase 1a: realisatie 25 1 Fase 1a: ontwerp 8 50% 1 1% inzet in %: fase 1a Fase 1a: invoering people, phases, time Fase / Stap 40% 60% 0% 0% 0% 0% 0% 40% 10% 20% 20% 80% 60% 60% 40% 40% 0% 10% 0% 20% 30% 40% 40% 60% 60% 0% 10% T otaal Management / Consultants doorlooptijd in weken (per fase / stap) doorlooptijd in dagen (per fase / stap) Definition GiPHouse Radboud University Nijmegen 6 30 Design Construction Implementation 23 Which plans ? •Business planning –Goals and vision –Requirements Analysis –Project plan •Technical Planning –Program Master plan –Management plan –Development plan –Configuration Management plan –Quality Assurance plan –Maintenance plan GiPHouse Radboud University Nijmegen –Test plan –Integration plan –Documentation plan –Transition plan –Firmware development plan 24 Common-Sense Approach to Projects • Start on the right foot. This is accomplished by working hard (very hard) to understand the problem that is to be solved and then setting realistic objectives and expectations. • Maintain momentum. The project manager must provide incentives to keep turnover of personnel to an absolute minimum, the team should emphasize quality in every task it performs, and senior management should do everything possible to stay out of the team’s way. • Track progress. For a software project, progress is tracked as work products (e.g., models, source code, sets of test cases) are produced and approved (using formal technical reviews) as part of a quality assurance activity. • Make smart decisions. In essence, the decisions of the project manager and the software team should be to “keep it simple.” • Conduct a postmortem analysis. Establish a consistent mechanism for extracting lessons learned for each project. GiPHouse Radboud University Nijmegen 25 End remarks • • • • Project management has to do with human factors People, process en technology influence the success Project tracking & tracing is important Project management is not a science, it is based on experience • There are different – methods to plan and manage – ways to organize projects – ways to guard the quality of projects GiPHouse Radboud University Nijmegen 26