SOFTWARE ENGINEERING Staffing Level Estimation and Scheduling

Similar documents
LOCATION, COMMUNICATION, AND CONTROL WITHIN A VERTICALLY INTEGRATED FIRM Carlos Eduardo Lobo e Silva and Geoffrey J.D. Hewings

Zero Inventory/Production Control Policy for Manufacturing Systems Subject to Quality Deterioration

TOPIC 2: MANAGEMENT PROCESS

A Strategic Level Model for Supply Chain of an Automotive Industry: Formulation and Solution Approach

Position Description

Texturing, Spackling, and Jointing: Strategies for Helping Coordinate Product, Process, and Supply Chain Design

Modeling Nanoindentation using the Material Point Method

EMSS International Mediterranean Modeling Multiconference. European Modeling Simulation Symposium. October 20-22,2005 Marseille, France

Research Article BIM Application to Select Appropriate Design Alternative with Consideration of LCA and LCCA

Sustainability Criteria for Awarding Construction Contracts in Greece

Darshan Institute of Engineering & Technology for Diploma Studies

EVALUATION METHOD OF DULABILITY IN CONCRETE STRUCTURES

Modeling the Effects of Probabilistic Participation of Domestic and Industrial Customers in the Time-of-Use Pricing and Interruptible Load Programs

TIE-40 Optical glass for precision molding

Forest Ecosystem Health Assessment on the Basis of Fuzzy Comprehensive Evaluation Model

Scheduling. Adapted from John Musser

A Principled Study of the Design Tradeoffs for Autonomous Trading Agents

Scheduling Resources and Costs

Scrum from the Trenches (at Nearsoft)

Solving Employee Timetabling Problems Using Boolean Satisfiability

ThroughputScheduler: Learning to Schedule on Heterogeneous Hadoop Clusters

PMP Exam Preparation Course Project Time Management

/IJARBSS/v6-i5/2125 URL:

A Principled Study of the Design Tradeoffs for Autonomous Trading Agents

Chemistry 130 Pre-lab Titrations: Part II

Chemistry 130 Pre-lab Titrations: Part II

Chemistry 130 Pre-lab Titrations: Part II

Yoji Kunimitsu. National Institute for Rural Engineering , Kannondai, Tsukuba City, Ibaragi Pref., , Japan

Modeling business processes using BPMN

Modeling business processes using BPMN

The Students Information Integrated Management System Based. On.NET. Hualiang Wu

DESIGN AIDS FOR FLEXURAL MEMBER USING IS:

Selecting boilers in an energy flexible heating systeme based on lowest running cost

Market Transition and Regional Adjustments in the Polish Coal Industry. Wojciech Suwala and Walter C. Labys RESEARCH PAPER 2001

DEVELOPMENT, SPLICES, AND SIMPLE SPAN BAR CUTOFFS

The KloudReadiness Playbook. Step 5: Continuous Success Measurement. Turn Sales and Marketing from an Art into a Science

Improve Differentiation and Gross Margin

ISIJ International, Vol. 58 (2018), ISIJ International, No. 5 Vol. 58 (2018), No. 5, pp

CIPRIANI COLLEGE OF LABOUR & CO-OPERATIVE STUDIES BSC IN PROJECT MANAGEMENT PRM 135: PROPOSAL DEVELOPMENT & COSTING WEEK 8

Crisis and transition: the economics of scholarly communication 167

Power-Bolt+ (PB+) Heavy Duty Sleeve Anchor

Coordination of a Supply Chain with Advertising Investment and Allowing the Second Ordering

THE USE OF CLUSTER ANALYSIS AND THE THEORY OF MATHEMATICAL RECORDS IN THE PROCESS OF PLANNING THE PRODUCTION-WAREHOUSE FLOW


Risk in Water Resources Management (Proceedings of Symposium H03 held during IUGG2011 in Melbourne, Australia, July 2011) (IAHS Publ. 347, 2011).

Lecture- 11. Project Scheduling. Dronacharya College of Engineering

mywbut.com Software Project Planning

OPTIMAL PACKAGING OF HIGH VALUE, TEMPERTURE SENSITIVE, PERISHABLE PRODUCTS DRAFT FINAL REPORT

Luis R. Garcilaso March 13, Lecture #22. Service Processes & Systems Dept. of Mechanical Engineering - Engineering Mechanics

NET Institute*

Compressive Bracing Model for Panel Wall Used to Infill Traditional Wooden Frames

Productivity Enhancement by Reducing Setup TimeSMEDCase study in the Automobile factory

The shear design expressions provided in the ACI

Analysis of the concept of sustainability: definition of conditions for using exergy as a uniform environmental metric

Iranian Journal of Economic Studies. A Comparative Analysis of Sectoral Multipliers of Input-Output Model and Social Accounting Matrix

A NEW METHODOLOGY BASED ON BSC/ABC AND GOAL PROGRAMMING TO MANAGING COST IN IRAN'S AUTO SUPPLY CHAIN

Forecasting Passenger Congestion in Rail Networks

INOMETA ROLLER TUBES, PROFILE TUBES, CYLINDER TUBES SUPERIOR QUALITY FOR INDIVIDUAL REQUIREMENTS

International Journal of Mathematical Archive-6(11), 2015, Available online through ISSN

PUBNET 2000 Version 3060 * 810 IMPLEMENTATION GUIDELINE FOR EDI 810

Joint processing of Landsat and ALOS-PALSAR data for forest mapping and monitoring

Dynamic Demand for New and Used Durable Goods without Physical Depreciation: The Case of Japanese Video Games

Assessment of environmental flow using morphological characteristics of river (case study: Karoon River, Iran)

INVESTIGATION OF ELEVATION BIAS OF THE SRTM C- AND X-BAND DIGITAL ELEVATION MODELS

Job Satisfaction of SBI Employees - A Case Study of Gorakhpur Districts S.B.I.

Crack Detection Of Simply Supported Beam Using Dynamic Analysis

Rocal. Fire places. The height of fireplace design

Global Project Management, LLC

Annual Groundwater Monitoring Report

Numerical Simulations to Assess the Monitoring Zone Achieved during Low-Flow Purging and Sampling

Design of Simply Supported Deep Beams Using Strut-and-Tie Models

Fundamentals of Rockwell Hardness Testing

Modern Systems Analysis and Design Seventh Edition

Essais du b6ton Partie 204. Recommandations relatives g I usage des detecteurs 6lectromagn6tiques d enrobage d armature

Crash stable adhesives in application and simulation

Climate Forecasts for Corn Producer Decision Making

Conceptual/experience-based design of suspended solids removal systems

Game Theory in Cooperative Communications

ONLY AVAILABLE IN ELECTRONIC FORM

Revisiting the Porter Hypothesis: an emperical analysis of green innovation for the Netherlands

Abstract Number : Optimal Blending Model for Paper Manufacturing With Competing Input Materials. Rupesh Kumar Pati,

SEISMIC DESIGN GUIDE FOR MASONRY BUILDINGS

Project Management. Learning Objectives. What are Projects? Dr. Richard Jerz. Describe or Explain:

Project Management. Dr. Richard Jerz rjerz.com

Project Time Management

Economic drivers of greenhouse gas-emissions in small open economies: A hierarchical structural decomposition analysis

MEASURING EMISSION REDUCTION IMPACTS OF MASS RAPID TRANSIT IN BANGKOK: THE EFFECT OF A FULL NETWORK

MEASURING SHRINKAGE OF HARDENING PASTE WITH A MINI- TSTM

Pure50+ TM PRODUCT INFORMATION. Epoxy Injection Adhesive Anchoring System PRODUCT DESCRIPTION GENERAL APPLICATIONS AND USES FEATURES AND BENEFITS

Software Project Management

KENTUCKY TRANSPORTATION CENTER

STRUCTURAL CHARACTERISTICS OF LATERIZED CONCRETE AT OPTIMUM MIX PROPORTION

Planning & Scheduling

Wind Energy Development in Montana

Sustainability Information Services for Agri-Food Supply Networks

For the PMP Exam using PMBOK Guide 5 th Edition. PMI, PMP, PMBOK Guide are registered trade marks of Project Management Institute, Inc.

6 PROJECT TIME MANAGEMENT

Florent Pratlong ERASME, Ecole Centrale Paris. EUREQua and PRISM LASI, Université Paris 1. Abstract

Instrumented Prodder: Preliminary Results of the Technology Demonstrator Evaluation A.J. Schoolderman 1, S.G.M. van Dijk 1, D. Deurloo 1, K.

A model for efficiency analysis of the customer satisfaction process

Transcription:

SOFTWARE ENGINEERING Staffing Level Estimation an Scheuling Staffing level estimation Once the effort require to evelop a software has been etermine, it is necessary to etermine the staffing requirement for the project. Putnam first stuie the problem of what shoul be a proper staffing pattern for software projects. He extene the wor of Noren who ha earlier investigate the staffing pattern of research an evelopment (R&D) type of projects. In orer to appreciate the staffing pattern of software projects, Noren s an Putnam s results must be unerstoo. Noren s Wor Noren stuie the staffing patterns of several R & D projects. He foun that the staffing pattern can be approximate by the Rayleigh istribution curve as shown in the figure. Noren represente the Rayleigh curve by the following equation: -t² / 2 t² E = K/t² * t * e Where E is the effort require at time t. E is an inication of the number of engineers (or the staffing level) at any particular time uring the uration of the project, K is the area uner the curve, an t is the time at which the curve attains its maximum value. It must be remembere that the results of Noren are applicable to general R & D projects an were not meant to moel the staffing pattern of software evelopment projects. Putnam s Wor Rayleigh curve Putnam stuie the problem of staffing of software projects an foun that the software evelopment has characteristics very similar to other R & D projects stuie by Noren an that the Rayleigh-Noren curve can be use to relate the number of elivere lines of coe to the effort an the time require to evelop the project. By analyzing a large number of army projects, Putnam erive the following expression: L = C K 1/3 t 4/3 1

The various terms of this expression are as follows: K is the total effort expene (in PM) in the prouct evelopment an L is the prouct size in KLOC. t correspons to the time of system an integration testing. Therefore, t can be approximately consiere as the time require to evelop the software. C is the state of technology constant an reflects constraints that impee the progress of the programmer. Typical values of C = 2 for poor evelopment environment (no methoology, poor ocumentation, an review, etc.), C = 8 for goo software evelopment environment (software engineering principles are ahere to), C = 11 for an excellent environment (in aition to following software engineering principles, automate tools an techniques are use). The exact value of C for a specific project can be compute from the historical ata of the organization eveloping it. Putnam suggeste that optimal staff buil-up on a project shoul follow the Rayleigh curve. Only a small number of engineers are neee at the beginning of a project to carry out planning an specification tass. As the project progresses an more etaile wor is require, the number of engineers reaches a pea. After implementation an unit testing, the number of project staff falls. However, the staff buil-up shoul not be carrie out in large installments. The team size shoul either be increase or ecrease slowly whenever require to match the Rayleigh-Noren curve. Experience shows that a very rapi buil up of project staff any time uring the project evelopment correlates with scheule slippage. It shoul be clear that a constant level of manpower through out the project uration woul lea to wastage of effort an increase the time an effort require to evelop the prouct. If a constant number of engineers are use over all the phases of a project, some phases woul be overstaffe an the other phases woul be unerstaffe causing inefficient use of manpower, leaing to scheule slippage an increase in cost. Effect of scheule change on cost By analyzing a large number of army projects, Putnam erive the following expression: L = C K 1/3 t 4/3 Where, K is the total effort expene (in PM) in the prouct evelopment an L is the prouct size in KLOC, t correspons to the time of system an integration testing an C is the state of technology constant an reflects constraints that impee the progress of the programmer Now by using the above expression it is obtaine that, (as project evelopment effort is equally proportional to project evelopment cost) From the above expression, it can be easily observe that when the scheule of a project is compresse, the require evelopment effort as well as project evelopment cost increases in proportion to the fourth power of the egree of compression. It means that a relatively small compression in elivery scheule can result in substantial penalty of human effort as well as evelopment cost. For example, if the estimate evelopment time is 1 year, then in orer to evelop the prouct in 6 months, the total effort require to evelop the prouct (an hence the project cost) increases 16 times. 2

Project scheuling Project-tas scheuling is an important project planning activity. It involves eciing which tass woul be taen up when. In orer to scheule the project activities, a software project manager nees to o the following: 1. Ientify all the tass neee to complete the project. 2. Brea own large tass into small activities. 3. Determine the epenency among ifferent activities. 4. Establish the most liely estimates for the time urations necessary to complete the activities. 5. Allocate resources to activities. 6. Plan the starting an ening ates for various activities. 7. Determine the critical path. A critical path is the chain of activities that etermines the uration of the project. The first step in scheuling a software project involves ientifying all the tass necessary to complete the project. A goo nowlege of the intricacies of the project an the evelopment process helps the managers to effectively ientify the important tass of the project. Next, the large tass are broen own into a logical set of small activities which woul be assigne to ifferent engineers. The wor breaown structure formalism helps the manager to breaown the tass systematically. After the project manager has broen own the tass an create the wor breaown structure, he has to fin the epenency among the activities. Depenency among the ifferent activities etermines the orer in which the ifferent activities woul be carrie out. If an activity A requires the results of another activity B, then activity A must be scheule after activity B. In general, the tas epenencies efine a partial orering among tass, i.e. each tass may precee a subset of other tass, but some tass might not have any preceence orering efine between them (calle concurrent tas). The epenency among the activities are represente in the form of an activity networ. Once the activity networ representation has been wore out, resources are allocate to each activity. Resource allocation is typically one using a Gantt chart. After resource allocation is one, a PERT chart representation is evelope. The PERT chart representation is suitable for program monitoring an control. For tas scheuling, the project manager nees to ecompose the project tass into a set of activities. The time frame when each activity is to be performe is to be etermine. The en of each activity is calle milestone. The project manager tracs the progress of a project by monitoring the timely completion of the milestones. If he observes that the milestones start getting elaye, then he has to carefully control the activities, so that the overall ealine can still be met. 3

Wor breaown structure Wor Breaown Structure (WBS) is use to ecompose a given tas set recursively into small activities. WBS provies a notation for representing the major tass nee to be carrie out in orer to solve a problem. The root of the tree is labele by the problem name. Each noe of the tree is broen own into smaller activities that are mae the chilren of the noe. Each activity is recursively ecompose into smaller subactivities until at the leaf level, the activities requires approximately two wees to evelop. The figure below represents the WBS of an MIS (Management Information System) software. While breaing own a tas into smaller tass, the manager has to mae some har ecisions. If a tas is broen own into large number of very small activities, these can be carrie out inepenently. Thus, it becomes possible to evelop the prouct faster (with the help of aitional manpower). Therefore, to be able to complete a project in the least amount of time, the manager nees to brea large tass into smaller ones, expecting to fin more parallelism. However, it is not useful to subivie tass into units which tae less than a wee or two to execute. Very fine subivision means that a isproportionate amount of time must be spent on preparing an revising various charts. Wor breaown structure of an MIS problem 4

Activity networs an critical path metho WBS representation of a project is transforme into an activity networ by representing activities ientifie in WBS along with their interepenencies. An activity networ shows the ifferent activities maing up a project, their estimate urations, an interepenencies as shown in the figure. Each activity is represente by a rectangular noe an the uration of the activity is shown alongsie each tas. Managers can estimate the time urations for the ifferent tass in several ways. One possibility is that they can empirically assign urations to ifferent tass. This however is not a goo iea, because software engineers often resent such unilateral ecisions. A possible alternative is to let engineer himself estimate the time for an activity he can assigne to. However, some managers prefer to estimate the time for various activities themselves. Many managers believe that an aggressive scheule motivates the engineers to o a better an faster job. However, careful experiments have shown that unrealistically aggressive scheules not only cause engineers to compromise on intangible quality aspects, but also are a cause for scheule elays. A goo way to achieve accurately in estimation of the tas urations without creating unue scheule pressures is to have people set their own scheules. Activity networ representation of the MIS problem 5

Critical Path Metho (CPM) From the activity networ representation following analysis can be mae. The minimum time (MT) to complete the project is the maximum of all paths from start to finish. The earliest start (ES) time of a tas is the maximum of all paths from the start to the tas. The latest start time is the ifference between MT an the maximum of all paths from this tas to the finish. The earliest finish time (EF) of a tas is the sum of the earliest start time of the tas an the uration of the tas. The latest finish (LF) time of a tas can be obtaine by subtracting maximum of all paths from this tas to finish from MT. The slac time (ST) is LS EF an equivalently can be written as LF EF. The slac time (or float time) is the total time that a tas may be elaye before it will affect the en time of the project. The slac time inicates the flexibility in starting an completion of tass. A critical tas is one with a zero slac time. A path from the start noe to the finish noe containing only critical tass is calle a critical path. These parameters for ifferent tass for the MIS problem are shown in the following table. The critical paths are all the paths whose uration equals MT. The critical path in figure is shown with a blue arrow. 6

Gantt chart Gantt charts are mainly use to allocate resources to activities. The resources allocate to activities inclue staff, harware, an software. Gantt charts (name after its eveloper Henry Gantt) are useful for resource planning. A Gantt chart is a special type of bar chart where each bar represents an activity. The bars are rawn along a time line. The length of each bar is proportional to the uration of time planne for the corresponing activity. Gantt charts are use in software project management are actually an enhance version of the stanar Gantt charts. In the Gantt charts use for software project management, each bar consists of a white part an a shae part. The shae part of the bar shows the length of time each tas is estimate to tae. The white part shows the slac time, that is, the latest time by which a tas must be finishe. A Gantt chart representation for the MIS problem of previous figure is shown in the figure below. Gantt chart representation of the MIS problem 7

PERT chart PERT (Project Evaluation an Review Technique) charts consist of a networ of boxes an arrows. The boxes represent activities an the arrows represent tas epenencies. PERT chart represents the statistical variations in the project estimates assuming a normal istribution. Thus, in a PERT chart instea of maing a single estimate for each tas, pessimistic, liely, an optimistic estimates are mae. The boxes of PERT charts are usually annotate with the pessimistic, liely, an optimistic estimates for every tas. Since all possible completion times between the minimum an maximum uration for every tas has to be consiere, there are not one but many critical paths, epening on the permutations of the estimates for each tas. This maes critical path analysis in PERT charts very complex. A critical path in a PERT chart is shown by using thicer arrows. The PERT chart representation of the MIS problem of previous figure is shown in figure below. PERT charts are a more sophisticate form of activity chart. In activity iagrams only the estimate tas urations are represente. Since, the actual urations might vary from the estimate urations, the utility of the activity iagrams are limite. Gantt chart representation of a project scheule is helpful in planning the utilization of resources, while PERT chart is useful for monitoring the timely progress of activities. Also, it is easier to ientify parallel activities in a project using a PERT chart. Project managers nee to ientify the parallel activities in a project for assignment to ifferent engineers. PERT chart representation of the MIS problem 8