Producing Production Quality Software. Lecture 14: Group Programming Practices Prof. Arthur P. Goldberg Fall, 2005

Similar documents
Manual Techniques, Rules of Thumb

Producing Production Quality Software Lecture 14: Group Programming Practices Data Prof. Arthur P. Goldberg Fall, 2005

Software Cost estimation

MTAT Software Economics. Session 6: Software Cost Estimation

INDEX. As-is analysis, tool supporting, 302 Attributes, FPA, Availability, software contract requirement, 258

Personal Software Process SM for Engineers: Part I

the state of the practice Variations in Software Development Practices

Team Software Process (TSP) In Context

Goals of course. Themes: What can you do to evaluate a new technique? How do you measure what you are doing?

SOFTWARE QUALITY IN 2002: A SURVEY OF THE STATE OF THE ART

Estimating SW Size and Effort Estimating Size and Effort

Chapter 3 DECISION SUPPORT SYSTEMS CONCEPTS, METHODOLOGIES, AND TECHNOLOGIES: AN OVERVIEW

Estimating Size and Effort

Estimating Size and Effort

SOFTWARE QUALITY IN 2002: A SURVEY OF THE STATE OF THE ART

SOFTWARE QUALITY IN 2002: A SURVEY OF THE STATE OF THE ART

Achieving Excellence In Software Engineering

Information Technology Estimation & Measurement

Comter Systems, Inc. GSA Schedule 70: 35F-0323L

Evaluating Ten Software Development Methodologies

Content. Computer System. Unit 1

GUILFORD COUNTY SCHOOLS JOB DESCRIPTION JOB TITLE: PROGRAM SPECIALIST III TESTING DEPARTMENT OF ASSESSMENT COORDINATION GENERAL STATEMENT OF JOB

Getting more Bang for your Buck from Function Point Counters

Introduction to Function Points

Engineering 2503 Winter 2007

Project Management Methodology. Construct & Unit Test SubPhase

32 nd International Forum on COCOMO

Contents. Today Project Management. What is Project Management? Project Management Activities. Project Resources

SOFTWARE QUALITY IN 2005 A SURVEY OF THE STATE OF THE ART SOURCES OF SPR S QUALITY DATA. SPR clients from 1984 through 2005 BASIC DEFINITIONS

III BSc (CS) [ ] SEMESTER - VI ELECTIVE:ENTERPRISE RESOURCE PLANNING - 607U5 Multiple Choice Questions.

Headquarters U.S. Air Force

Effective Use of Function Points for Analogous Software Estimation

Cloud Computing Lectures SOA

Effective Software Sizing A Galorath Web Seminar 01 September 2004

Mod-TWO. Transaction Processing System (TPS) Office Automation System (OAS)

Saved by Facts! What Gets Measured, Gets Done. Pierre Almén, ImproveIT Fact-Based IT Improvements

Methodology for the Cost Benefit Analysis of a Large Scale Multi-phasic Software Enterprise Migration

BAE Systems Insyte Software Estimation

Why SNAP? What is SNAP (in a nutshell)? Does SNAP work? How to use SNAP when we already use Function Points? How can I learn more? What s next?

22 ways to get the most out of OEE and lean manufacturing disciplines

Lectures 2 & 3. Software Processes. Software Engineering, COMP201 Slide 1

Software Estimation 25 Years and Still Guessing

SOFTWARE ENGINEERING

MANAGEMENT INFORMATION SYSTEMS COURSES Student Learning Outcomes 1

Metrics and Estimation. Metrics. Lord Kelvin

Managing Risk in Agile Development: It Isn t Magic

Lecture 2: Project Management, Part 1: Requirements, WBS, Scheduling, and Risk Management. Prof. Shervin Shirmohammadi SITE, University of Ottawa

Estimating Duration and Cost. CS 390 Lecture 26 Chapter 9: Planning and Estimating. Planning and the Software Process

ANALYSIS OF FACTORS CONTRIBUTING TO EFFICIENCY OF SOFTWARE DEVELOPMENT

Q/P Management Group, Inc.

Estimating Software Requirements

A Comparative Study on Software Development Life Cycle Models

8/25/2008. Chapter Objectives PART 2. Concepts in Enterprise Resource Planning 2 nd Edition

The Zero Function Point Problem

Functional requirements and acceptance testing

Software Economics Homework I

Software metrics. Jaak Tepandi

Figure 1 Function Point items and project category weightings

POSITION DESCRIPTION

Tech Mahindra Q2 PAT up 27% YoY

Safety Perception / Cultural Surveys

Three Recurring Themes. In Business, Information. 1: Origins of System Analysis. Great dreams Management Generalist.

JOB FAMILY DESCRIPTIONS

Design of Information Systems 1st Lecture

Acquiring IT Applications and Infrastructure

PMP Exam Preparation Workshop Project Communications Management

2011 SCEA Conference Presentation Function Point Analysis: One Size Fits All

Testing. And Software Product Management. Autumn 2017 CSM14104 Software Product Management 1

Information Technology Project Management. Copyright 2012 John Wiley & Sons, Inc.

How to improve the quality of your processes

Wave of the Future: Function Point Sizing & COTS Support

Software Project Management

Software Estimation. Estimating Software Size

for Oracle Cloud ERP

THE AGRIBUSINESS LEADERSHIP PROGRAM: A New Approach to Smallholder Agriculture

A Data Item Description for System Feasibility Evidence

Fundamentals of Information Systems, Seventh Edition

Requirements Engineering

AGILE DEVELOPMENT AND ITS IMPACT ON PRODUCTIVITY

3. December seminar cost estimation W 2002/2003. Constructive cost model Department of Information Technology University of Zurich

Communication Model for Cooperative Robotics Simulator. Project Plan. Version 1.0

BSc Business Administration BBA0110 Management Information Systems Examiner s Report Examination Date: October 2011

Systems Analysis for Business Analysts (3 Day)

Management Information Systems. B14. Acquiring IT Applications and Infrastructure

Katherine Marshak. Professional Summary. Technical Skills

Function Points in Brazil

Redesigning the Organization with Information Systems

Darshan Institute of Engineering & Technology for Diploma Studies

NATIONAL CERTIFICATE: Business Administration Services : Level 3 (SAQA Qualification 67465)

Quality Assurance for Systems Engineering (INSE 6280/2-WW)

Cost Identification. Slide 1 Cost Identification Welcome to this module on cost identification.

Risk Management. Andrea Polini. Software Project Management MSc in Computer Science University of Camerino A.Y. 2016/2017

MANAGEMENT INFORMATION SYSTEMS COURSES Student Learning Outcomes 1

What we are expecting from this presentation:

Data Warehousing. and Data Mining. Gauravkumarsingh Gaharwar

BNA FIXED ASSETS. Expert software for managing fixed assets and depreciation. >>>>

CMMI and FPA. the link and benefit of using FPA when rolling out CMMI. Christine Green IFPUG - Certified Function Point Specialist EDS

Overview of Software Architecture and Software Estimation

Transcription:

Producing Production Quality Software Lecture 14: Group Programming Practices Prof. Arthur P. Goldberg Fall, 2005

Topics Logistics MIS Best Practices : Capers Jones s view No Final Assignment Improving Software Management Effort Estimation Literature Productivity 2

Oral Exam Logistics Out noon on Thursday Dec. 15, with 2 example answers Last time I answer questions about the final is midnight Dec. 15 Exam session 20 minutes, my office Be on time, or be rescheduled 5 questions, 4 minutes each 2 you pick 1 chosen at random 2 I pick for you Closed book While answering, you may talk or write on paper or a white board Results will be released on about 12/21, after everyone has taken the exam 3

Best Practices As influences Quality Productivity 4

Software Development Quality Capers Jones and Software Productivity Research s quantitative approach Material from Capers Jones, Software Assessments, Benchmarks, and Best Practices, Addison-Wesley Pub Co; 1st edition (April 28, 2000) Measure 9000 development projects from 600 organizations In 150 of the Fortune 500 In 100 small companies In many government and military organizations 5

Classification Classify organizations and projects by Client country Industry Project nature Project scope By software type Project class 37,400 permutations Calibrate and benchmark measures of productivity and defect rate 6

Project Nature 1. New Development 2. Enhancement (new functions added to existing software) 3. Mandatory change (updates for new statutes or regulations) 4. Maintenance (defect repairs to existing software) 5. Performance updates (revisions needed to improve throughput) 6. Conversion or adaptation (migration to a new platform) 7. Nationalization (migration to a new national language) 8. Reengineering (re-implementing a legacy application) 9. Mass update (modification for the Euro or Y2K) 10. Hybrid (concurrent repairs and functional additions) 7

Project Scope 1. Subroutine or sub-element of a program 2. Module of a program 3. Reusable module or object 4. Disposable prototype 5. Evolutionary prototype 6. Stand-alone program 7. Component of a system 8. Release of a system 9. New system or application 10. Compound system (multiple linked systems) 8

Software types Non procedural (spreadsheet, query, generators, and so forth) Web Applet Batch application Interactive application Batch database application Interactive database application Pen-based application Client/server application (two tier) Client/server application (three tier) Enterprise resource planning (ERP) application Scientific or mathematical application Systems or hardware control application Communications or telecommunications application Process control application Embedded or real-time application Trusted system with stringent security Graphics, animation, or imageprocessing application Robotic or manufacturing control application Expert system with substantial knowledge acquisition Artificial intelligence application Neural net application Hybrid project (multiple types) 9

Project class Personal Application for private use Personal application to be shared by others Academic program developed in an academic environment Internal application to be installed at one location Internal application to be accessed via an intranet or time-sharing Internal application to be installed at many location Internal application developed by contract personnel Internal application developed using military standards External application, to be freeware or shareware External application to be placed on the World Wide Web External application leased to users External application embedded in hardware External applications bundled with hardware External application marketed commercially External application developed under outsource contract External application developed under government contract External application developed under military contract 10

General project classes End-user applications - developed privately for personal use Information systems - developed in-house for corporate use (MIS) Outsource or contract projects - developed under legally binding contract Commercial software - developed to be marketed to external customers Systems software - developed to control physical devices Military software - developed using military standards 11

Review Group Programming Practices Handout Best Technical Practices for MIS Software Distribution of SPR Project Benchmarks circa 1999 12

Software Effort Estimation Issues When will the bleeping system be done? How much will it cost? If I give you Joe s team, when will it be ready? Approaches Little or no estimation: XP Function Point Analysis Lister s Estimating Quality Factor Wideband Delphi 13

Software Effort Estimation Function Point Analysis

Function points A conceptual measure of complexity A linear sum, approximately Simplistically, FPC = External_inputs * 4 + External_outputs * 7 + External_inquiries * 5 + Internal_logical_files * 4 + External_interface_files * 10 Accuracy To +/- 10% IFPUG study by Kemerer at MIT in 1993 Rarely used 15

Functional complexity modifier The multipliers vary with complexity Data element type (DET) count File type reference (FTR) count Review tables in Group Programming Practices Handout 16

FP Priesthood : International Function Point User s Group www.ifpug.org Rules Version 4.1 1999 Certified Function Point Specialist Examination http://www.spr.com/products/function.htm, http://www.spr.com/products/programming.htm 17

Backfiring Convert SLOC to FPs Driven by tables in Group Programming Practices Data About +/- 20% accurate 18

Software Effort Estimation: EQF Tim Lister s Estimating Quality Factor Lister The Atlantic Systems Guild, Inc. Books DeMarco and Lister, Waltzing With Bears: Managing Risk on Software Projects. Dorset House, 2003. DeMarco, Tom, and Timothy Lister: Peopleware: Productive Projects and Teams. Dorset House, New York, 1999. Seminars Risk Management for Software Leading Successful Projects 19

Software Effort Estimation Wideband Delphi

Delphi History Consensus without conflict Invented by RAND Santa Monica thinktank Used to estimate nuclear bombing damage Many other applications Wideband Delphi Developed by Barry Boehm in 70s; see his Software Engineering Economics 21

Wideband Delphi Overview Input Specification Outputs Detailed task list Estimation assumptions Effort estimates from each participant 22

Wideband Delphi Process Overview Form group of experts Estimate: Each group member provides an anonymous estimate Coordinator assesses the estimates Asks for reassessment of crazy estimates Combines estimates Presents combined results to experts If combined results do not converge then goto Estimate 23

Wideband Delphi Benefits Practical Employ multiple minds; promote reasoning Accurate estimate avoids the underestimate dilemma of skip & compromise quality vs. blow schedule Build comprehensive task list Psycho-social Reduce bias by influential people, or those with divergent agendas May resolve disagreement among hostile parties Buy-in of stakeholders Other Acknowledges uncertainty Drawbacks / costs Time Takes power away from manager or guru (their drawback) 24

Wideband Delphi - 1 Each individual develops an estimate which is list of Tasks Assumption(s) Effort Rules Assume you ll do all the work Assume uninterrupted effort 25

Wideband Delphi 2 Moderator presents Distribution of effort (anonymous) estimates All task lists (or merged task lists) All participants modify estimates concurrently and secretly 26

Wideband Delphi Termination at earliest of 4 rounds Acceptable convergence Meeting time over Nobody willing to change Completion Moderator assembles the tasks into single list Moderator merges assumptions Moderator combines estimates Possibilities Ave Min, ave, max Ave and std-dev 27

Wideband Delphi Practice Lets try it First on the teller systems with the whole class Then on the DBMS Use the forms in the handout Break into groups of 3 or 4 [Record your effort if you build it] Compare 28

Improving Software Management Improve an organization Involves Technology Management Psychology Approaches CMM SPR Weinberg 29

Software Process Assessment Approaches SEI CMM focus: mandated activities, and change processes Review Group Programming Practices Handout Five Levels of the SEI CMM Five Levels of the SPR Excellence Scale Approximate Conversion Between SPR and SEI Software Scores Trained assessors SPR focus: project 30

Literature

Au revoir et merci