Metric Based Software Project Management

Slides:



Advertisements
Similar presentations
Quality Planning Tools PMI Westchester Quality SIG Pawan Kumar, Quality SIG Member, PMP November 2007.
Advertisements

More CMM Part Two : Details.
©2006 OLC 1 Process Management: The Foundation for Achieving Organizational Excellence Process Management Implementation Worldwide.
Project Change Management
Stepan Potiyenko ISS Sr.SW Developer.
CMMI Overview Quality Frameworks.
SOFTWARE PROJECT MANAGEMENT Project Quality Management Dr. Ahmet TÜMAY, PMP.
8/7/20151 Metric Based Software Project Management Ashkan Sami, Ph. D. Department of CSE and IT Shiraz University
Capability Maturity Model
Managing Project Quality
What ISO 9000 Mandates The requirements for a quality system have been standardized - but many organizations like to think of themselves as unique. So.
Integrated Capability Maturity Model (CMMI)
UNIT-II Chapter : Software Quality Assurance(SQA)
Capability Maturity Model Part One - Overview. History Effort started by SEI and MITRE Corporation  assess capability of DoD contractors First.
N By: Md Rezaul Huda Reza n
Software Quality Assurance Activities
Lecture #9 Project Quality Management Quality Processes- Quality Assurance and Quality Control Ghazala Amin.
Software Engineering Lecture No:16. Lecture # 7 CMMI Fahim Khan Assistant Professor of Computer Science UOL, Sargodha
Software Engineering Lecture # 17
CSI - Introduction General Understanding. What is ITSM and what is its Value? ITSM is a set of specialized organizational capabilities for providing value.
NDIA Systems Engineering Supportability & Interoperability Conference October 2003 Using Six Sigma to Improve Systems Engineering Rick Hefner, Ph.D.
Capability Maturity Model. History Effort started by SEI and MITRE Corporation  assess capability of DoD contractors First version published in.
06/16/101 Software Project Management (SPM) Lecture 9 Software Quality Management Dr. Daniel Keret.
Week 8 - Quality Management Learning Objectives You should be able to: §List and explain common principles of quality management (QM) §List, distinguish.
This chapter is extracted from Sommerville’s slides. Text book chapter
10/16/2015Bahill1 Organizational Innovation and Deployment Causal Analysis and Resolution 5 Optimizing 4 Quantitatively Managed 3 Defined 2 Managed Continuous.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
Georgia Institute of Technology CS 4320 Fall 2003.
IS Methodologies. Systems Development Life Cycle - SDLC Planning Planning define the system to be developed define the system to be developed Set the.
Software Engineering - I
Process Improvement. It is not necessary to change. Survival is not mandatory. »W. Edwards Deming Both change and stability are fundamental to process.
1 TenStep Project Management Process ™ PM00.9 PM00.9 Project Management Preparation for Success * Manage Quality *
Project quality management. Introduction Project quality management includes the process required to ensure that the project satisfies the needs for which.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Purpose: The purpose of CMM Integration is to provide guidance for improving your organization’s processes and your ability to manage the development,
1 Project Management C53PM Session 3 Russell Taylor Staff Work-base – 1 st Floor
Software Engineering (CSI 321) Software Process: A Generic View 1.
Project Management Strategies Hidden in the CMMI Rick Hefner, Northrop Grumman CMMI Technology Conference & User Group November.
Project Management Quality Management. Introduction Project planning Gantt chart and WBS Project planning Network analysis I Project planning Network.
CMMI Overview Quality Frameworks. Slide 2 of 146 Outline Introduction High level overview of CMMI Questions and comments.
Capability Maturity Model. What is CMM? n CMM: Capability Maturity Model n Developed by the Software Engineering Institute of the Carnegie Mellon University.
Advanced Software Engineering Dr. Cheng
8.1 Plan Quality Management
ITIL: Service Transition
Project Quality Management
Software Quality Control and Quality Assurance: Introduction
Project Management PTM721S
Software Engineering (CSI 321)
Software Quality Engineering
Software Project Management
State of Michigan Achieving Software Process Improvement with
CS4311 Spring 2011 Process Improvement Dr
Chapter 10 Software Quality Assurance& Test Plan Software Testing
Software Quality Engineering
CMMI Overview Quality Frameworks.
CIF301 Project Quality Unit 6
TechStambha PMP Certification Training
Software Engineering (CSI 321)
Information Technology Project Management – Fifth Edition
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
CMMI Overview.
CMMI – Staged Representation
Project quality management (PMI body of knowledge)
CIS12-3 IT Project Management
Chapter 13 Quality Management
Software Engineering I
Capability Maturity Model
Capability Maturity Model
Requirements Development in CMMI
Presentation transcript:

Metric Based Software Project Management Ashkan Sami, Ph. D. Department of CSE and IT Shiraz University asami@ieee.org sami@shirazu.ac.ir 6/22/2019

Software project management Concerned with activities involved in ensuring that software is delivered on time and on schedule and in accordance with the requirements of the organisations developing and procuring the software. Project management is needed because software development is always subject to budget and schedule constraints that are set by the organisation developing the software.

Software management distinctions The product is intangible. The product is uniquely flexible. Software engineering is not recognized as an engineering discipline with the sane status as mechanical, electrical engineering, etc. The software development process is not standardised. Many software projects are 'one-off' projects.

Management activities Proposal writing. Project planning and scheduling. Project costing. Project monitoring and reviews. Personnel selection and evaluation. Report writing and presentations.

Software Project Management Start of the project Build the Macro Model Build the Detailed Project Plan Build the Project Team How to Run the Project on a Day-to-Day Basis Monitoring and Controlling the Project Management style Performance Management Performance Analysis Interfaces Systems Successfully Shutting Down the Project 6/22/2019

Monitoring and Controlling the Project To monitor and control effectively: your management style; management of project performance; analysis of project performance; how you will manage the project interfaces; what systems you are going to use. 6/22/2019

MANAGEMENT STYLE Three basic styles of management: the dictatorial style, the consensus style and the laissez-faire style. A good project manager should be able to recognize when a particular style is appropriate. You should be able to adopt that style when it is required. 6/22/2019

6/22/2019

6/22/2019

PERFORMANCE MANAGEMENT Performance and its control is one of the areas on which you should spend a significant amount of time. Sadly, measuring how successful a project is can be difficult, particularly the success of an advanced project. It is difficult to measure success because advanced projects tend to be unique projects. This means that little in the way of previous performance measures exists. 6/22/2019

Quality Management Software Quality Standards Quality Planning ISO CMM Quality Planning Cost Benefit Analysis Benchmarking Cost Of Quality Quality Management Plan Quality Assurance Metrics Measurements Corrective Actions Preventive Actions Quality Control Audits, Analysis Checklist 6/22/2019

Software Project Quality Management The Activities that Determine Quality POLICIES, OBJECTIVES, RESPONSIBILITIES. It includes the PLANNING, ASSURANCE and CONTROL of the POLICIES, PROCEDURES and PROCESSES Forecast the End Result Quality during the Development Stages Special Characteristic of Software: Increasing Criticality and Importance of Software Intangibility of software is a source for Unpredicted Errors Software Errors are accumulating through the project life cycle 6/22/2019

Software Product Quality Factors Product Operation: Correctness (follow specifications), Reliability (number of errors, fault tolerance, simplicity), Efficient (optimize resources usage: storage, memory, CPU) Integrity (access control & audit to processes and data) Usability (ease of use/training, operation) Product Revision (changes, enhancements) Testing (effort required, regression tests) Flexibility (effort required to modify the functionality) Maintenance (effort required to locate and fix a bug: modularity, no duplication of code, documentation) Product Flexibility (Transition) Portability (change h/w, operating system, compiler, etc) Interoperability (integrate with other systems, flexible data and interface structures) Reusability (can be used as part of another application as a whole or parts – platform free, modular design) 6/22/2019

Software Quality Standards ISO 9001 (International Organization for Standardization) Defines the needs from a monitor & control system to check quality Certification of the Design, Development, Production, Installation an Service Processes Describes the fundamental features of Quality Management System (QMS) Useful in selecting a sub-contractor with “best practices” quality processes. Deals with quality of the development process, not with the quality of the product 6/22/2019

ISO 9001 Principles Determine the NEEDS and Expectations of the customer Establish Quality Policy and imply the actual quality objectives Design the project activities to include the quality objectives Assign responsible parties to all the quality objectives Allocate enough and knowledgeable resources Implement methods to measure the quality objectives in each process Collect & Analyze the Measurements and Identify discrepancies Define action items to eliminate the cause of the discrepancies Documentation (follows quality manual) of the actual (updated) operation of an activity that includes objectives, plans, procedures and records The QMS is well managed and knowledgeable resources are assigned to the Quality Management Process. Demonstrate that the Production Process is well defined, designed, recorded, communicated and measured. Sub-Contractors and Purchasing are managed in the same manners. 6/22/2019

CMM – Capability Maturity Model Software Development Methods and Tools which are Likely to produce Quality Software Software Companies are assigned a level ( 1 to 5 ) of Process Maturity that indicates the quality of their software production practices Level 1: Initial Level Default level, no defined quality process throughout the organization. Some projects may adopt some measures. Level 2: Repeatable Level Basic Project Management in place, not in the activities level Level 3: Defined Level Project Management Plan is well defined at all levels Level 4: Managed Level Products & Processes are Measured and Controlled Level 5: Optimizing Level Process Improvement is introduced based on documented data gathered from previous projects, processes. 6/22/2019

CMMI Levels Improving, addressing common causes of variation Process Areas Improving, addressing common causes of variation Causal Analysis and Resolution Organizational Innovation and Deployment 5 Optimizing Quantitatively managed, eliminating special causes of variation 4 Quantitatively Managed Quantitative Project Management Organizational Process Performance Requirements Development Technical Solution Product Integration Verification Validation Organizational Process Focus Organizational Process Definition Organizational Training Risk Management Integrated Project Management (for IPPD*) Integrated Teaming* Integrated Supplier Management** Decision Analysis and Resolution Organizational Environment for Integration* Work proactively managed, organizational standard processes 3 Defined Work planned and tracked (reactively managed) 2 Managed Requirements Management Project Planning Project Monitoring and Control Supplier Agreement Management Measurement and Analysis Process and Product Quality Assurance Configuration Management Work performed, but in an ad hoc fashion 1 Performed

CMMI Staged Representation - 5 Maturity Levels Process performance continually improved through incremental and innovative technological improvements. Optimizing Level 4 Quantitatively Managed Processes are controlled using statistical and other quantitative techniques. Process Maturity Level 3 Processes are well characterized and understood. Processes, standards, procedures, tools, etc. are defined at the organizational (Organization X ) level. Proactive. Defined Level 2 Managed Processes are planned, documented, performed, monitored, and controlled at the project level. Often reactive. Level 1 Initial Processes are unpredictable, poorly controlled, reactive.

Maturity Level 1 Initial Maturity Level 1 deals with performed processes. Processes are unpredictable, poorly controlled, reactive. The process performance may not be stable and may not meet specific objectives such as quality, cost, and schedule, but useful work can be done.

Maturity Level 2 Managed at the Project Level Maturity Level 2 deals with managed processes. A managed process is a performed process that is also: Planned and executed in accordance with policy Employs skilled people Adequate resources are available Controlled outputs are produced Stakeholders are involved The process is reviewed and evaluated for adherence to requirements Processes are planned, documented, performed, monitored, and controlled at the project level. Often reactive. The managed process comes closer to achieving the specific objectives such as quality, cost, and schedule.

Maturity Level 3 Defined at the Organization Level Maturity Level 3 deals with defined processes. A defined process is a managed process that: Well defined, understood, deployed and executed across the entire organization. Proactive. Processes, standards, procedures, tools, etc. are defined at the organizational (Organization X ) level. Project or local tailoring is allowed, however it must be based on the organization’s set of standard processes and defined per the organization’s tailoring guidelines. Major portions of the organization cannot “opt out.”

Behaviors at the Five Levels Maturity Level Process Characteristics Behaviors Focus on "fire prevention"; Optimizing Focus is on continuous quantitative improvement improvement anticipated and desired, and impacts assessed. Quantitatively Managed Process is measured and controlled Greater sense of teamwork and inter- dependencies Reliance on defined process. People understand, support and follow the process. Defined Process is characterized for the organization and is proactive Managed Process is characterized for projects and is often reactive Over reliance on experience of good people – when they go, the process goes. “Heroics.” Process is unpredictable, poorly controlled, and reactive Focus on "fire fighting"; Initial effectiveness low – frustration high.

CMMI Components Within each of the 5 Maturity Levels, there are basic functions that need to be performed – these are called Process Areas (PAs). For Maturity Level 2 there are 7 Process Areas that must be completely satisfied. For Maturity Level 3 there are 11 Process Areas that must be completely satisfied. Given the interactions and overlap, it becomes more efficient to work the Maturity Level 2 and 3 issues concurrently. Within each PA there are Goals to be achieved and within each Goal there are Practices, work products, etc. to be followed that will support each of the Goals.

CMMI Process Areas

State of the Software Industry in 1995 Maturity Level Frequency 1. Initial 70% 2. Repeatable 15% 3. Defined < 10% 4. Managed < 5% 5. Optimizing < 1% Source: Royce, Project Management, P. 364

با تشکر از توجه شما تقدیم به روح پر فتوح یکی از اولین فارغ التحصیلان و اساتید دانشگاه علوم پزشکی دکتر منصور سامی 6/22/2019

Quality Planning Identify the Project Quality Standards Determine how to Satisfy the Standards Inputs: Enterprise Factors (law, regulations, standards) Organizational Factors ( QA policies) Scope Statement (objectives, thresholds, acceptance criteria, performance criteria, etc.) Project Management Plan Tools & Techniques Cost Benefit Analysis Cost Of Quality: Expenses associated with the Project Quality Management Benefit: Less Rework, higher productivity, lower cost, higher stakeholder satisfaction Benchmarking Compare the project process practices to other projects to get ideas for improvements Others: Brainstorming, Flowcharts 6/22/2019

Quality Planning Identify the Project Quality Standards Determine how to Satisfy the Standards Inputs: Enterprise Factors (law, regulations, standards) Organizational Factors ( QA policies) Scope Statement (objectives, thresholds, acceptance criteria, performance criteria, etc.) Project Management Plan Tools & Techniques Cost Benefit Analysis Cost Of Quality: Expenses associated with the Project Quality Management Benefit: Less Rework, higher productivity, lower cost, higher stakeholder satisfaction Benchmarking Compare the project process practices to other projects to get ideas for improvements Others: Brainstorming, Flowcharts 6/22/2019

Quality Planning - Output Quality Management Plan How the project management will implement the quality policy Quality Control Plan Quality Assurance Plan Continuous Improvement Plan Quality Metrics Detailed Plan of what will be measured, actual values Quality Checklist Structured tool. Process, Activity based. Templates can be available from prior projects or QA organizations. Quality Baseline The quality OBJECTIVES of the project The basis for measuring and reporting Process Improvement Plan Identification of WASTE and NON-VALUE ADDED activities Set TARGETS for Improved performance 6/22/2019

Quality Assurance - QA A QA Department in the Organization Observe that the project will employ all processes needed to meet Quality Targets QA support & Knowledge Base Provides Umbrella for Continuous Process Improvement Recommend Corrective Actions and Updates to the Project Plan Update Organizational Process Assets 6/22/2019

Software Metrics “You Can Not Control What You Can Not Measure” Retain Records (historical data) – Used to evaluate future projects (sizing,schedule, cost, effort) Problem Reporting – Supply Information about problem fixing (cycle, time, amount, frequency, etc.) Quality Assurance Plan – Define Quality Thresholds (What is the definition of “Low System Complexity”) Corporate Quality Goals – Measure progress toward the Goals Types of Software Metrics Directly Observed: Number of Test Cases, Project Cost Predicted: Project Baseline Cost, Estimate To Complete Calculated: Productivity=KLOC/Staff-Months 6/22/2019

Useful Metrics Easy to Access (online) Precise or Defined with Clear Tolerance, Well Defined Methods of Data Collection Helps to Measure the Organization/Project Quality Goals Simple & Easy to understand Inexpensive to Use Robust Consistent and Used Over Time Easy To Collect Easy to Access (online) 6/22/2019

Software Metrics – Examples of Direct Observations Control Chart - Upper/Lower Control Limit ( Usually the Corporate or Project Quality Targets) Actual Measures per Module/Activity VS Corporate Goals. The Average Project Measurement implies the overall project compliance. Deviation from the control limits indicate problem in a specific Module/Activity Typical Metric: Design Review Hours Invested per Module. Total Hours to investigate and resolve problem per predefined problem types (interface, documentation, input data, computational, etc.) Defects Discovered and Defect Fixed Over Time Mean Age of: Open Problems at the end of the Month Closed Problems at Month End 6/22/2019

Continuous Process Improvement Main Goals: Continuous Improvement in Resource Planning (increase the probability to deliver accurate estimates) Continuous Reduction in Waste/Non-Productive Project Activities. Continuous Improvement in Other Corporate Quality Goals Values in Software Activities Value Added: Design, Code, Test, Install, Etc. Non Value Added but Essential: Acceptance Testing, Setup, Training, Etc. Non Value Added and Nonessential: Retest, Rework, Management, Installing Software Tools, Delays, Etc. Value Metrics: Value/Total, Non-Value Essential/Non-essential, Value+Essential/Total 6/22/2019

Quality Control - QC Monitor SPECIFIC project results to determine its compliance with the Quality Standards Identify ways to eliminate CAUSES of unsatisfactory results Continuous Process Uses Sampling and Probability analysis Analysis Types Prevention & Inspection Sampling (check conformance (Yes/No) to standards, goals, Etc) Variables Sampling – Level Of Conformance with Standards/Goals Special Causes/Unusual Events Tolerance (results fall within/outside the control limits) 6/22/2019

QC – Tools & Techniques Cause & Effect Diagram Per Major Defect (E.G: Users Interface Issues) Cause: Guidelines not Followed Reasons: Did not read the guidelines(no time), Can not find the guidelines (No central Location) Cause: Lack of users feedback Reasons: Lack of users resources, Prototype not clear enough, No process to get early feedbacks Control Charts Flowcharting (activities, decision points, sequencing) – Can point potential quality issues Histogram – Number of Defects per Problem Type Pareto Chart – 80/20 rule. Order Defects by Number of Defect and focus on those that causes the majority 6/22/2019

QC – Tools & Techniques (Cont.) Run Charts/Scatter Diagram (indicate trends over time) Examples: Failure rate (defect found per test hour) over Cumulative test time New Defects/Resolved defect per week over weeks Statistical Sampling Inspection Defect Repair Reviews 6/22/2019