4. Software Project Management



Similar documents
Project management. Organizing, planning and scheduling software projects

Project management. Organizing, planning and scheduling software projects. Objectives. Chapter 3. Chapter 3 Project Management. Learning Objective

Organising, planning and scheduling software projects. Software management distinctions

Project management. Objectives. Topics covered. Organizing, planning and scheduling software projects DISCUSSION

Project management. Organising, planning and scheduling software projects. Ian Sommerville 2000 Software Engineering, 6th edition.

2. Analysis, Design and Implementation

Organizing, planning and scheduling software projects

2. Analysis, Design and Implementation

Project management: an SE Perspective

Project management. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 5 Slide 1

Project Planning. COSC345 Lecture 3 Slides: Andrew Trotman Dramatic presentation: Richard O Keefe. Software Engineering 2013

3F6 - Software Engineering and Design. Handout 15 Software Management I With Markup. Steve Young

Project Management. Software Projects vs. Engineering Projects

Systems Analysis and Design

Project planning and scheduling

(Refer Slide Time: 01:52)

Chapter 3 Managing the Information Systems (IS) Project

Software Project Management. Software Engineering SW Project Management Slide 1

Project Management. Massimo Felici Room 1402, JCMB, KB

Software Project Management

Business Idea Development Product production Services. Development Project. Software project management

Phases, Activities, and Work Products. Object-Oriented Software Development. Project Management. Requirements Gathering

Software Engineering. Project Management. Based on Software Engineering, 7 th Edition by Ian Sommerville

Introduction to Software Engineering. 9. Project Management

CHAPTER 24 SOFTWARE PROJECT SCHEDULING. Overview

LECTURE 5: SOFTWARE PROJECT MANAGEMENT. Software Engineering Mike Wooldridge

The Plan s Journey From Scope to WBS to Schedule

Project Audit & Review Checklist. The following provides a detailed checklist to assist the PPO with reviewing the health of a project:

Mastering Microsoft Project 2010

The management of the projects with MS Project

Introduction to the ITS Project Management Methodology

Pearson Education Limited 2003

Basic Concepts. Project Scheduling and Tracking. Why are Projects Late? Relationship between People and Effort

ICS 121 Lecture Notes Spring Quarter 96

NE-50413B Mastering Microsoft Project 2010

Mastering Microsoft Project 2013

How To Manage Project Management

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

Mastering Microsoft Project 2013 Course: 55054A Course Length: 3 Days

11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java. What is Project Management?

SWEBOK Certification Program. Software Engineering Management

Software Development & Education Center. Microsoft Office (Microsoft Project 2010)

Fundamentals of Measurements

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

pm4dev, 2015 management for development series Project Schedule Management PROJECT MANAGEMENT FOR DEVELOPMENT ORGANIZATIONS

Classical Software Life Cycle Models

Project Planning and Scheduling

System development lifecycle waterfall model

Learning Objectives. Learning Objectives (continued) Importance of Project Schedules

Scheduling Glossary Activity. A component of work performed during the course of a project.

Network Calculations

Project Time Management

Information Technology Project Management, Sixth Edition. Note: See the text itself for full citations. More courses at cie-wc.edu

Lecture 6: Project Time Management By: Prof. Lili Saghafi. Information Technology Project Management, Fifth Edition

Software Engineering. What is a system?

Mastering Microsoft Project B; 3 days, Instructor-led

Software Project Scheduling. - Introduction - Project scheduling - Task network - Timeline chart - Earned value analysis

Project Management Planning

Project Management for Scientists

PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME >

3C05: Unified Software Development Process

JOURNAL OF OBJECT TECHNOLOGY

CSC 443: IT Project Management Midterm 1 exam - Spring semester March 21 st, 2012

ICT Project Management. Software Project Planning By J. Ogutu

Mastering Microsoft Project 2013

Software Development Processes. Software Life-Cycle Models

Redesigned Framework and Approach for IT Project Management

6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project.

Project Scheduling & Tracking

Basic Project Management & Planning

What is PROJECT SCHEDULING?

IV. Software Lifecycles

Introduction and Overview

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

Efficiency Criteria in Software Project Management

Continuous Risk Management Guidebook

Software Engineering Compiled By: Roshani Ghimire Page 1

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring

Work Breakdown Structure (WBS)

Software Process for QA

How To Understand Software Engineering

CS4507 Advanced Software Engineering

Standards Initiatives for Software Product Line Engineering and Management within the International Organization for Standardization

Chapter 6: Project Time Management. King Fahd University of Petroleum & Minerals SWE 417: Software Project Management Semester: 072

How To Develop Software

System/Data Requirements Definition Analysis and Design

ESKIPM2(SQA Unit Code- F9CX 04) Project management software

Enterprise Content Management (ECM)

Open Workbench Warrior. Beginner's Guide to Open Workbench

Project Management Topics

PROJECT MANAGEMENT IN PRIMAVERA P6 WEB ACCESS REL 7

Best Practices Statement Project Management. Best Practices for Managing State Information Technology Projects

Software Engineering Reference Framework

Project Management. Systems Analysis and Design, 8e Kendall & Kendall

Business Continuity Position Description

ESKIPM3 Project management software

To introduce software process models To describe three generic process models and when they may be used

PROJECT PLAN TEMPLATE

Transcription:

4. Software Subject/Topic/Focus: Management of Systems Engineering Projects Summary: Influences on projects and potential risks Software systems engineering and project management Activity network and activity bar chart; PERT chart and Gantt chart Staff allocation and man-month Process improvements Literature: [Sommerville 1996] [Brooks 1972] [Fowler 1997] Grady Booch: Best of Booch. SIGS 1996. Last change: Januar 31, 2000 4.1 Systems Engineering... is the selective application of scientific and engineering efforts to transform an operational need into a description of the system configuration which best satisfies the operational need according to the measures of effectiveness; integrate related technical parameters and ensure compatibility of all physical, functional, and technical program interfaces in a manner which optimizes the total system definition and design; integrate the efforts of all engineering disciplines and specialties into the total engineering effort. [USALMC Army Field Manual: Systems Engineering. Training Support Center, Ft. Eustis, 1978] : Balances cost, schedule, quality, and functionality objectives. Systems engineering provides engineering viewpoint in business decisions. 4.2 4.1

Systems Engineering: Example Denver International Airport, built in the early 1990s Opening delayed for 25 months $375,000,000 loss Costs per day of delay: $500,000 Main reason for delay: faulty system s software and hardware of baggage system using telecars Errors occurred although the prime-contractor was well experienced, redundancies were built into the system and the components were tested. But: The size and complexity of the system requirements were unique. [Linda Geppert: Faults and Failures. IEEE Spectrum, August 1994] 4.3 Influences on Projects Maturity of technology: opportunities... risks Business influence: prototypical... mission-critical Implementation culture: Cobol... LISP... Java Domain: Nuclear plant control... management information system... video game Experience of team members: rookie... freak... expert Scope: isolated application... enterprise-wide information system 4.4 4.2

OO Project Maturity Distinguish isolated application development of independent applications from enterprise-wide development of application families. Project maturity of object-orientation shows in terms of architecture consolidate repeating (consistent) patterns institutionalize a chief architect process formalize, validate, re-evaluate and re-design the process continuously refine the architecture (patterns) regularly estimating costs & gains documentation systems have to endure the lifetimes of their creators standardize, deliver and review (architecture) documentation [Booch] 4.5 OOAD Project Experience Do not underestimate the importance of failure in object-oriented development. [Booch] The first projects using a new technology, method, language,... will fail - so their goal is to gain experience. Keep them small - a company that depends on the production results of these projects is doomed. A customer who depends on his business processes, who cannot afford even minutes of down-time (consider bank or stock market transactions), does not approve the elegance, modernity, reusability, extensibility,... of your solution, but its reliability. The technology (method, language,...) used in a project does not determine the result. It is determined by the team who drives the project, the experience of the team members and their cooperative work. To remain nimble in the marketplace, you have to know when to establish corporate guidelines and when to break them. [Booch] 4.6 4.3

Risks Categories Requirements risks Build the right system. What are the requirements of the system? Avoid misunderstanding the priorities and building the wrong system, one that does not do what the customer wants it to do. Technological risks Build the system right. Can you handle OO-design technology? How well does this technology work? You have been told to use Java and the Web. Can you actually deliver the functions that users need through a Web browser connected to a database? Skill risks Choose the right system builders. Can you get the staff and expertise you need? Political risks Consider who wants the system (not) to be built. Are there political forces that can get in the way and seriously affect the project? Risks are identified during elaboration! [Fowler] 4.7 Technological Risks The most important thing to do in addressing technological risks is to build prototypes that try out the pieces of technology you are thinking of using. Build a simple part of an early version of the domain model. Try several tools. See which one is the best suited for the job and which ones are the easiest to use. You want to use C++ and a relational database: Get the C++ compiler and other tools. Build the database and connect it to the C++ code using the different tools. The biggest technological risks are inherent in how the components of a design fit together, rather then present in the components themselves. 4.8 4.4

Technological Risks: Hints Focus on elements which appear difficult to change later. Try to do your design in a modular way to allow to exchange single parts. Ask yourself these questions: What will happen if a piece of technology does not work? What if we cannot connect two pieces of the puzzle? What is the likelihood of something going wrong? How would we cope if that happens? Use UML tools to investigate for purple worms in your design. Class diagrams show the overall structure of your system. Interaction diagrams exemplify how components communicate. Package diagrams deliver a high-level picture of the components. 4.9 Skills Risks Main problem of OO-projects is the lack of training. If you worry about the costs of training you will pay every penny, as the project takes longer! A good way to improve your OO-skills is through mentoring. Work together with an experienced developer. Obtain tips and hints from a mentor. Use the expertise and the skills of a mentor or an experienced developer in the early phases of your project. As time goes on you become more capable and the mentor does more reviewing than developing. 4.10 4.5

Management techniques derived from small-scale projects do not scale up to large systems development. Projects deficiences: Software [Sommerville] is delivered late, is unreliable, costs several times the original estimates, exhibits poor performance, does not meet its requirements. Note: These are technology issues, but caused by management! Challenges for software managers in contrast to other engineering disciplines: The product is intangible. Progress cannot be reviewed directly. There is no standard process for software development. Large software projects are often one-of projects. Experience may not be transferred easily. 4.11 Software Manager Responsibilities Proposal writing objectives justification rough working plan cost and schedule estimates Project costing estimate book-keeping & re-estimation Project planning and scheduling identify activities, milestones, deliverables plan development guide estimate resources required Project monitoring and reviews keep track of progress compare actual to planned progress informal on daily basis formal at scheduled reviews adapt to objective changes Personnel selection and evaluation weigh experience vs. cost vs. availability consider skill development (learning process) Report writing and presentation concise, coherent, abstract for clients & contractors 4.12 4.6

Introduction Software Development Plan supplemented by further plans, see next slide objectives & constraints (budget, time, staff,...) Project organization team organization & people involved & roles assigned Risk Analysis identification and likelihood of risks & risk reduction strategies Hardware and software resource requirements including prices and delivery schedule Work breakdown activities & milestones & deliverables of activities Project schedule dependencies between activities & estimated milestone dates & allocation of people to activities Monitoring and reporting mechanisms including management report structure & delivery dates 4.13 Auxiliary Plan Types Quality plan describes project quality procedures & standards Validation plan describes system validation approach, resources & schedule Configuration management plan describes configuration management procedures and structures Maintenance plan predicts system maintenance requirements, costs and effort Staff development plan describes how skills and experience of project team members will be developed Planning takes most management time! 4.14 4.7

Project Planning Procedure Establish the project constraints Make initial assessments of the project parameters Define project milestones and deliverables while project has not been completed or cancelled loop Draw up project schedule Initiate activities according to schedule Wait (for a while, usually 2-3 weeks) Review project progress Revise estimates of project parameters Update the project schedule Re-negotiate project constraints and deliverables if (problems arise) then Initiate technical review and possible revision end if end loop + exceptions! 4.15 Activity Organization Managers need information, provided by documents, to control the process. Milestone: End-point of activity. Coding 80 % complete. short formal progress report Deliverable: milestone delivered to customer. This is not a milestone because it cannot be decided whether it is reached. Activities Feasibility study followed by Requirements analysis followed by Prototype development Feasibility report Requirements definition Evaluation report Milestones Deliverable 4.16 4.8

Task Duration and Dependencies Task/Activity Duration (days) depends on T1 15 T2 8 T3 15 T1, T2 T4 5 T2 T5 15 T3, T4 T6 20 T1, T2 Typical duration of tasks/activities: 1-10 weeks finer grained (days): increases time needed for reviewing and re-scheduling coarser grained (months): decreases control and delay detection 4.17 Activity Network / PERT Chart activity contributes to milestone task/activity with duration 4/7/98 Start 15 T1 8 T2 activity contributes to several milestones milestone with delivery date 15 25/7/98 T3 M1 14/7/98 5 M2 T4 15/8/98 M3 milestone results are used in activity 20 T6 milestone is built from several activities 15 T5 6/9/98 Finish critical path: any delay here causes delay of the project (no time buffer) Start T1 M1 T3 M3 T5 Finish 4.18 4.9

PERT Chart sophisticated variant of activity networks distinguishes pessimistic/likely/optimistic duration/dates leading to many potential critical paths critical path analysis only with tool-support (optimistic, likely, pessimistic) 4/7/98 (12, 15, 20) (22/7/98, 25/7/98, 30/7/98) Start T1 M1 4.19 Activity Bar Chart / Gantt chart 4/7 11/7 18/7 25/7 1/8 8/8 15/8 22/8 29/8 5/9 Start planned task duration T1 T2 M2 T4 M1 T3 T6 possible delays without affecting the project schedule M3 T5 Finish 4.20 4.10

Staff Allocation 4/7 11/7 18/7 25/7 1/8 8/8 15/8 22/8 29/8 5/9 Peter T1 T5 Paul T2 T3 Mary T4 T6 Include time for holidays, training courses, other projects. Be prepared to handle delays. People may not be available. Specialists cannot be replaced. 4.21 The Mythical Man-Month Cost Progress Number of persons involved in the project. Amount of time spent on the project. Output of persons involved in the project. Decreased by communication among them. Man-Month Man-month expresses costs. Man-month does not express progress. [Brooks] 4.22 4.11

Man-Month and Tasks Types Project duration Unpartitionable tasks Month Partitionable tasks Men Project team members [Brooks] 4.23 Value-Adding Processes in Enterprises Product/Service Quality Enterprise Capability People Capability Process Capability Technology Capability 4.24 4.12

Principles: Process Improvement You have to do it before you can manage it. Understand what s happening on the project (where the products are!) before defining organization-wide processes. Use the best of what you ve learned from your projects to create organization-wide processes. You can t measure it until you know what it is. Managing with measurement is only meaningful when you re measuring the right things. A culture of continuous improvement requires a foundation of sound management practice, defined processes, and measurable goals. Goals: Predictability of project cost and schedule. Control of performance and application of corrective actions. Effectiveness, i.e., decreasing cost, shorter development time, increasing quality and productivity. 4.25 Process Design: Organizational Context Analyze & improve processes Baseline: describe current processes. Starting point: What are systems engineers responsible for? Which changes are improvements? Understand business, product, and organizational context of process What life-cycle will be used as a framework for this process? How is the organization structured to support projects? How are support functions handled (e.g., by the project or the organization)? What are management and practitioner roles used in the organization? How critical are these processes to organizational success? 4.26 4.13

Process Design: Roles and Structure Organizational Context Guidance Role Assignment Organization Structure Specific Work Products Base Practice Generic Practice Sound systems engineering processes with a potential for deliberate improvement Selected Life Cycle 4.27 Summary: Activity: Software Systems Engineering and Goal: Sound Systems Engineering Processes with a potential for deliberate improvements Means: Process Orientation in Engineering and Management 4.28 4.14

Summary Software Systems Engineering Activity: Application Analysis and Software Systems Design Software Systems Engineering and Goal: Sound Software Systems... Sound Systems Engineering Processes...... with a potential for deliberate improvements Means: Object Orientation in Analysis and Design Process Orientation in Engineering and Management 4.29 4.15