RESOURCE MEASUREMENT: PRODUCTIVITY, TEAMS AND TOOLS.

Slides:



Advertisements
Similar presentations
Configuration Management
Advertisements

T. E. Potok - University of Tennessee CS 594 Software Engineering Lecture 2 Dr. Thomas E. Potok
So far.. We have covered a) Requirements gathering: observation & interview. b) Requirements specification. c) Requirements validation. d) Design/paper.
Centrality and Prestige HCC Spring 2005 Wednesday, April 13, 2005 Aliseya Wright.
Software Quality Metrics
Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 6 Title : The Software Quality Reading: I. Sommerville, Chap: 24.
A GOAL-BASED FRAMEWORK FOR SOFTWARE MEASUREMENT
Lecture 7 Model Development and Model Verification.
Lead Black Slide. © 2001 Business & Information Systems 2/e2 Chapter 11 Management Decision Making.
MEDICAL RECORDS MANAGEMENT IN EYE CARE SERVICES
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
HIT241 - COST MANAGEMENT Introduction
1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
CS 4310: Software Engineering
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec22 1 Lecture 22: Software Measurement Basics of software measurement.
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 10: Testing and Inspecting to Ensure High Quality Part 4:
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
Chapter 6 : Software Metrics
2-Oct-15 Bojan Orlic, TU/e Informatica, System Architecture and Networking 12-Oct-151 Homework assignment 1 feedback Bojan Orlic Architecture.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 1.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
Function Point Analysis What is Function Point Analysis (FPA)? It is designed to estimate and measure the time, and thereby the cost, of developing new.
Software cost estimation Predicting the resources required for a software development process 1.
This chapter is extracted from Sommerville’s slides. Text book chapter
1Software Measurement Advanced Software Engineering COM360 University of Sunderland © 2001.
Software Project Management By Deepika Chaudhary.
Introduction to Software Engineering ECSE-321 Unit 4 – Project Management 10/19/2015Introduction to Software Engineering – ECSE321Unit 4 – Project Management/1.
Software Quality Metrics
Lecture 4 Software Metrics
Cost Estimation. Problem Our ability to realistically plan and schedule projects depends on our ability to estimate project costs and development efforts.
Cost Estimation What is estimated? –resources (humans, components, tools) –cost (person-months) –schedule (months) Why? –Personnel allocation –Contract.
Quality Software Project Management Software Size and Reuse Estimating.
Design Concepts By Deepika Chaudhary.
Requirements Engineering Methods for Requirements Engineering Lecture-30.
Formulating a Simulation Project Proposal Chapter3.
SOFTWARE METRICS. Software Process Revisited The Software Process has a common process framework containing: u framework activities - for all software.
Chapter 3: Software Project Management Metrics
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Software Project Estimation IMRAN ASHRAF
CSc 461/561 Information Systems Engineering Lecture 5 – Software Metrics.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Project Management Cross lifecycle Activity
A Metrics Program. Advantages of Collecting Software Quality Metrics Objective assessments as to whether quality requirements are being met can be made.
Software cost estimation. Fundamental estimation questions How much effort is required to complete an activity? How much calendar time is needed to complete.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Software Engineering and Object-Oriented Design Topics: Solutions Modules Key Programming Issues Development Methods Object-Oriented Principles.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Project, People, Processes and Products Project management skills – schedule, monitoring, risk management, … People management skills – delegation, mentoring,
Chapter 7 Measuring of data Reliability of measuring instruments The reliability* of instrument is the consistency with which it measures the target attribute.
SWE 4743 Abstraction Richard Gesick. CSE Abstraction the mechanism and practice of abstraction reduces and factors out details so that one can.
Petter Nielsen Information Systems/IFI/UiO 1 Systems development Methodologies IN364.
Stoimen Stoimenov QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
Project management. Software project management ■It is the discipline of planning, organizing and managing resources to bring about the successful completion.
Software Engineering, COMP201 Slide 1 Software Engineering CSE470.
Software Engineering, COMP201 Slide 1 Software Engineering CSE470.
Configuration Management
Configuration Management
Function Point Analysis
Constructive Cost Model
Software Metrics “How do we measure the software?”
Chapter 13 Quality Management
COCOMO Models.
Based on Chapter 5 of the book [McConnell 2006]
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Chapter 10: Software Engineering
Presentation transcript:

RESOURCE MEASUREMENT: PRODUCTIVITY, TEAMS AND TOOLS

The meaning of productivity In Economics, productivity is defined in straightforward way: “The rate of output per unit of input used especially in measuring capital growth, and in assessing the effective use of labour, materials and equipment” Often in software engineering productivity is defined as size per effort (the productivity equation). Size usually measured as lines of code (can be any size measure) and effort is measured in person days or person months

Problems arise from the productivity equation How to measure effort? Days can be of different lengths and all efforts may not be included. Only views output in terms of size – the value of output is ignored Other concerns – by considering output solely in terms of the number of components produced – this view treats software development to be much like any traditional manufacturing process Example automobile manufacture - the primary focus of the implementation process is replication: building many copies of the same item. But, there is usually little or no replication in software development

Productivity of what? We should therefore distinguish the productivity of the process from the productivity of the resources (people). In order not to get the negative effects to be expected when measuring people, we should rely on a goal-driven approach to measurement, and make clear the likely benefits to all concerned. Measurement will refer to personal productivity during a given process while working on a particular product. Table 11.2 shows some examples of typical processes and products we should consider when measuring the productivity of certain typical resources Table 11.2 also highlights several possible limitations of the productivity equation (only the four first examples apply). Reuse poses problems when calculating productivity (see Example 11.1)

Measuring productivity Problem with LOC as a size measure –variations in the definition of size. –variation in expressiveness of different languages –variation in programmers’ programming styles –must count comments and reused code separately

Measuring productivity As a result some researchers have proposed that we measure programmer productivity as

Measuring productivity If function points really do capture functionality, then this measure is attractive for several reasons –The FP-based measure more accurately reflects the value of output –Can be used to assess the productivity of software- development staff at any stage in the life cycle –Can measure progress – by comparing completed function points with incomplete ones Many managers refuse to use FP because they find lines of code to be more tangible and function points are difficult to calculate –“Translate” FP counts to LOC counts –Refer Table 11.4

Measuring productivity The notion of productivity incorporates the concept of output of some kind. –Example for specifiers, designers, and programmers, the nature of output is quite clear –We can measure reviewer productivity in terms of number ## of reviewed per person month –We can measure inspector by calculating the number of modules inspected per person mo

Measuring productivity BUT for other personnel, like project managers, test teams etc. it is not clear what the output is and then measuring productivity may not possible.

Teams, tools, and methods Several types of resources have been touted as productivity enhancers: team structure, tools and methods.

Team structure Team structure has been regarded as a key factor in determining team productivity “Complexity” of team structure leads to low staff “productivity” and poor output quality Complexity communication among team members – complexity caused by the number of individuals involved or the method of communications required among members of a project. Rook draws an analogy between the benefits of certain structural attributes of software products and that of development and management teams, see Table 11.6.

Team structure Model of team structure communication can be represented as a graph –Node correspond to individual in the team –Arcs corresponds to a possible direct (work-related) communications path between two individuals –Refer to figure Several relevant measure –Size – number of node –Communication density – arc-to-node ratio –Communication level – tree impurity measure –Individual communication level – degree of the corresponding node –Average individual communication level – average node degree

Personal Experience Experience is a key contributor to productivity Difficult to measure and record experience in a meaningful way Distinguish experience of individuals from experience of the team Consider experience with the project, the environment, the tools, the methods and the languages Use a simple ordinal measure

Personal Experience An ordinal measure of personnel experience could be: 1.No previous experience 2.Familiarity but no working experience 3.Working experience on a single project (< 21 h) 4.Working experience on several projects ( h) 5.Thoroughly experienced For team experience - taking the median of the experience measure of the individuals on the team Measure may be misleading if the experience is out of date – define a companion measure to capture information about up-to-date training

Personal Experience Experience of a team working together on a project can enhance or deflate productivity dramatically –Some teams stay together from project to project – building up a team spirit –Other teams – do not function well – productivity lags – lack of enthusiasm and communication Personnel attribute also affect productivity and product –Age, level and type of education, intelligence, gender, marital status and more

Method and tools Can increase productivity dramatically Rated method and tools use as binary nominal scale: used or not used Since effort is a key component of productivity, effort-estimation models need to measure tool and method use in more sophisticated way.