Chapter 2: Project Management Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 1.

Slides:



Advertisements
Similar presentations
Making the System Operational
Advertisements

Configuration Management
Prescriptive Process models
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 12, Software Life Cycle.
Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Process Models
Information Resources Management January 23, 2001.
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Chapter 4 Quality Assurance in Context
Unit 1, Lesson 4 Software Development Cycle AOIT Introduction to Programming Copyright © 2009–2012 National Academy Foundation. All rights reserved.
Chapter 14 Network Design and Implementation. 2 Network Analysis and Design Aspects of network analysis and design Understanding the requirements for.
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Software Engineering. How many lines of code? Average CS1004 assignment: 200 lines Average CS4115 project: 5000 lines Corporate e-commerce project: 80,000.
Software Engineering.
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design Third Edition.
COMP8130 and 4130Adrian Marshall 8130 and 4130 Test Management Adrian Marshall.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Software Development Life Cycle (SDLC)
CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide.
Test Organization and Management
Chapter 2 The process Process, Methods, and Tools
Computers Are Your Future Eleventh Edition Chapter 13: Systems Analysis & Design Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall1.
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
Lecture 31 Introduction to System Development Life Cycle - Part 2.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
Copyright 2002 Prentice-Hall, Inc. 1.1 Modern Systems Analysis and Design Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 1 The Systems Development.
Computers Are Your Future Tenth Edition Chapter 13: Systems Analysis & Design Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall1.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
ANKITHA CHOWDARY GARAPATI
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
 Many models have been proposed to deal with the problems of defining activities and associating them with each other  The first model proposed was the.
Chapter 7: Delivery, Installation, and Documentation Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,
Systems Development Life Cycle
Chapter 8: Maintenance and Software Evolution Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 6-1 Chapter 6 Decision Support System Development.
Configuration & Build Management. Why Software Configuration Management ? The problem: Multiple people have to work on software that is changing More.
Case Study of Agile Development Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,
SOFTWARE DEVELOPMENT Presented By : Emporiumtech This presentation is brought you by
Process 4 Hours.
Introduction to Systems Analysis and Design
Chapter 1 The Systems Development Environment
Pragmatics 4 Hours.
Configuration Management
Software Project Configuration Management
Chapter 1 The Systems Development Environment
Lecture 3 Prescriptive Process Models
Fundamentals of Information Systems, Sixth Edition
Chapter 18 Maintaining Information Systems
Chapter 1 The Systems Development Environment
The Systems Engineering Context
Introduction to Software Engineering: Second Edition
Chapter 2 SW Process Models
Chapter 1 The Systems Development Environment
Chapter 2: Software Process Models
Chapter 1 The Systems Development Environment
Incremental Waterfall
Software Processes Process should be
Chapter 2: Software Process Models
Rapid software development
Chapter 1 The Systems Development Environment
Software Reviews.
System Development Methods
Presentation transcript:

Chapter 2: Project Management Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,

Project Management Soft skills – motivating people Hard skills – making plans – obtaining and managing resources – setting deadlines – quality control Copyright Ronald J. Leach, 1997, 2009, 2014,

Every Project Has Copyright Ronald J. Leach, 1997, 2009, 2014, StakeholdersResources SchedulesOrganization CoordinationCommunication DeliverablesDocumentation RiskLife cycle Each of these must be managed

Sub-teams Systems Analysis TeamPlanning Team Requirements TeamSystem Design Team Implementation TeamTesting and Integration Team Training TeamDelivery & Installation Team Maintenance TeamQuality Assurance Team Metrics TeamDocumentation Team System Administration Team Reuse & Reengineering Team Copyright Ronald J. Leach, 1997, 2009, 2014,

Some Specific Activities Managing people Allocating resources Defining roles Motivating project personnel Dealing with inevitable slippage in the schedule Copyright Ronald J. Leach, 1997, 2009, 2014,

Some Specific Activities, cont. Handling changes in requirements Handling changes in designs Handling changes in code Handling changes in anything, while maintaining consistency – Operating systems, databases, APIs, IDEs, COTS products, components, … Copyright Ronald J. Leach, 1997, 2009, 2014,

Some Specific Activities, cont. Measuring system progress and quality Reacting to unexpected events Informing upper level management Ensuring proper reviews of major milestones Interacting with prospective customer or customer representatives Copyright Ronald J. Leach, 1997, 2009, 2014,

Project Cost Estimation Copyright Ronald J. Leach, 1997, 2009, 2014,

Estimating Project Costs Bigger projects are more expensive Complex projects are more expensive “Experience databases” can be helpful in estimating costs Copyright Ronald J. Leach, 1997, 2009, 2014,

Work Breakdown Structure Examine the list of detailed requirements. For each requirement, estimate the effort needed to implement the requirement. Ignore any requirements for which an existing component can be reused as is. Compute the total of all new lines of code. Copyright Ronald J. Leach, 1997, 2009, 2014,

COCOMO Model (Boehm) Effort E = a b * K * exp(b b ) Development Time D = c b * E * exp(d b ) Constants depend on software project type Copyright Ronald J. Leach, 1997, 2009, 2014,

COCOMO Model (Boehm), cont. Project typeababb cbcb dbdb “Small” “Embedded” “Intermediate” Copyright Ronald J. Leach, 1997, 2009, 2014, COCOMO has been extended to COCOMO 2 (Constants are determined empirically)

Project Scheduling Copyright Ronald J. Leach, 1997, 2009, 2014,

Project Scheduling Copyright Ronald J. Leach, 1997, 2009, 2014, Team sizes vary over time

Typical milestone chart for waterfall development Copyright Ronald J. Leach, 1997, 2009, 2014,

Ideas and Tools Copyright Ronald J. Leach, 1997, 2009, 2014,

Ideas and Tools Coordination Groupware Copyright Ronald J. Leach, 1997, 2009, 2014,

Some useful ideas Standard format for graphical files. Make sure that the format is compatible with the browser to be used. Mechanism for feedback about deficiencies in on-line documents. Make on-line documents subject to configuration management and revision control. Copyright Ronald J. Leach, 1997, 2009, 2014,

Some useful ideas, cont. Use reviews and inspections. Use to coordinate meetings and to notify members of the project team that documents have been changed. Use “chat rooms” for project management. Use wikis for concurrent access to documents by multiple users if appropriate. Copyright Ronald J. Leach, 1997, 2009, 2014,

Groupware Use this if it is available to all and has been installed and tested. Either free or commercial groupware can be used. Google Docs? Copyright Ronald J. Leach, 1997, 2009, 2014,

Project Life Cycles Copyright Ronald J. Leach, 1997, 2009, 2014,

Project Life Cycles Classical Waterfall Model Rapid Prototyping Model Spiral Model Market-Driven Model Open Source Model Agile Development Model Copyright Ronald J. Leach, 1997, 2009, 2014,

The classical waterfall model Copyright Ronald J. Leach, 1997, 2009, 2014,

Copyright Ronald J. Leach, 1997, 2009, 2014,

The rapid prototyping model Assumes that, unlike the waterfall model, requirements are not completely known in advance. Requirements are developed in an iterative manner, along with prototypes that are created iteratively. An initial set of requirements is created in order to create the first prototype. Copyright Ronald J. Leach, 1997, 2009, 2014,

The rapid prototyping model, cont. Initial specific ations Develop prototype Test and integrate prototype Evaluate prototype Create new specifications System Copyright Ronald J. Leach, 1997, 2009, 2014,

The spiral model Copyright Ronald J. Leach, 1997, 2009, 2014,

The spiral model, one quadrant Copyright Ronald J. Leach, 1997, 2009, 2014,

The spiral model, one quadrant Copyright Ronald J. Leach, 1997, 2009, 2014,

The spiral model, one quadrant Copyright Ronald J. Leach, 1997, 2009, 2014,

The spiral model, one quadrant Copyright Ronald J. Leach, 1997, 2009, 2014,

Open-Source Projects All source code is freely available Repositories must be managed A select group of experts often is used to determine quality Copyright Ronald J. Leach, 1997, 2009, 2014,

Case Study: Project Management for Agile Processes Copyright Ronald J. Leach, 1997, 2009, 2014,

Agile Processes – the Team It all starts with the team – Small – seven members – Highly experienced in the application domain (spacecraft and satellite control systems) – Worked well together – Charismatic leader – Excellent relationship with upper-level management Copyright Ronald J. Leach, 1997, 2009, 2014,

Agile Processes – the Management Highly supportive Trusted the team Had the same goals – More – Better – Cheaper – Faster Copyright Ronald J. Leach, 1997, 2009, 2014,

Agile Processes – the Customers Really wanted – More – Better – Cheaper – Faster Copyright Ronald J. Leach, 1997, 2009, 2014,

Agile Processes - The context The seven-member team was part of a larger effort in which multiple teams and internal organizations competed to get their ideas implemented. Multi-year effort Copyright Ronald J. Leach, 1997, 2009, 2014,

Goal: Improve the Team’s Self- Organizing Factor SOF = (management + external test) / ( management + systems engineering + requirements gathering + implementation + internal test + external test + maintenance + system administration + documentation) Copyright Ronald J. Leach, 1997, 2009, 2014,

Why improve the SOF? Copyright Ronald J. Leach, 1997, 2009, 2014,

Why improve the SOF? Because projects with a low SOF made greater improvements in costs and greater reduction of testing costs Copyright Ronald J. Leach, 1997, 2009, 2014,

Configuration Management Copyright Ronald J. Leach, 1997, 2009, 2014,

Configuration Management Necessary to coordinate team activities Copyright Ronald J. Leach, 1997, 2009, 2014,

Configuration Management Every non-trivial software system or component is developed under software configuration management (SCM). Most software development environments, especially CASE tools, provide support for SCM. SCM can provide insight into component or system quality. Copyright Ronald J. Leach, 1997, 2009, 2014,

The SCM Process Includes identification of the elements of every software configuration, both before and after release? Helps manage all versions of a system (both active and pre-release) How does an organization control changes before and after software is released to a customer? How are changes approved? Copyright Ronald J. Leach, 1997, 2009, 2014,

The SCM Process, cont. How can we ensure that changes have been made properly? How are users and developers notified of changes? Copyright Ronald J. Leach, 1997, 2009, 2014,

SCM, cont. The first widely accepted SCM system was developed by Marc Rochkind. It was called SCCS, for Source Code Control System, and worked on UNIX environments. Source code components to be developed were placed in a special directory named SCCS. Copyright Ronald J. Leach, 1997, 2009, 2014,

SCM, cont. Developers could work on components separately. – Developers had to check components out, blocking others from working on it. – Files were stored as an original file, with a set of incremental changes. – The SCCS software showed the developers the latest version by default. – Developers could work on any earlier version, if they found errors later. Copyright Ronald J. Leach, 1997, 2009, 2014,

SCM, cont. The number of changes provided insight into the volatility of the software. Too many changes often meant overly complex software. The UNIX prs utility allowed the changes made to a system developed under SCCS to be analyzed for certain patterns that indicated potential testing problems. Copyright Ronald J. Leach, 1997, 2009, 2014,

SCM, cont. The system worked well for projects of moderate size that were to be hosted on a single computer. – SCCS directories usually were hosted on a single computer! The process became unwieldy in larger, more distributed development environments. Marc Rochkind himself moved to RCS (Revision Control System) Copyright Ronald J. Leach, 1997, 2009, 2014,

SCM, cont. SCCS and several of the early SCM systems were fine stand-alone systems, but did not integrate well with modern development practices. Data was hard to link directly to databases. Hard to link to the cause of software problems that cut across several products, as is common in software product-line architectures. Copyright Ronald J. Leach, 1997, 2009, 2014,

SCM, cont. One of the newer SCM systems is Razor, produced by Visible Systems. This tool can be used either stand-alone, or as an integrated part of a larger system. For example, Razor can be integrated with any set of files that are under a source code control system that is Microsoft-compliant. Copyright Ronald J. Leach, 1997, 2009, 2014,

The Razor SCM Tool Copyright Ronald J. Leach, 1997, 2009, 2014,

The Razor SCM Tool, cont. Copyright Ronald J. Leach, 1997, 2009, 2014,