1. Project Planning Software project management begins with a set of activities called project...
-
Upload
charles-hensley -
Category
Documents
-
view
220 -
download
0
Transcript of 1. Project Planning Software project management begins with a set of activities called project...
1
Project Planning Software project management begins with a
set of activities called project planning which involves proper estimation of time, schedule, work and resources.
Project PlanningWhen: need for software has already been
established; stakeholders are on-board; coding is ready to begin
What: project planning spans five major activities—estimation, scheduling, risk analysis, quality management planning, and change management planning
Who: software project managers, with information from stakeholders and engineers
3
Objectives of planningFramework that will help in the estimation
of cost , time and scheduleDefine the best case and worst case
scenarios so that project outcomes can be bounded.
4
Task set for project planning1. Establish project scope2.Determine feasibility3.Analyze risks4,Define required resources human resource needed , software
resources, environmental resources5. Estimate cost and effort decompose the problem, use estimation
techniques6.Develop project schedule
Software project scope and feasibilityThe first step in planning is establishing project
scopeSoftware scope describes the functions and
features that are to be delivered. It is a narrative description of scope is developed
after communicating with stakeholdersFunction ( cost,schedule) and
performance(response time,processing time) is to be measured
Once scope is defined we go to step 2
FeasibilityCan we build a software to meet this scopeIs project technically feasibleFinancial feasibilityTime Resources
RESOURCESThree categories of software engineering resources are 1.people (location , skills and number) 2. reusable software components(off shelf components,
full experience component ,partial experience component and new component)
c.Environmental resources ( hardware and software tools needed )
Offshelf: existing s/w that can be acquired from a 3rd party Full Experience : s/w that is already developed for past
projectsPartial experience: s/w that is already developed for past
projects but needs some modification to be used for the current project
New component: build from scratch
Estimation requires… experience access to good historical information
9
Reliability of estimates is affected by… Project complexity Project size Degree of structural uncertainty Availability of historical information
10
Options for estimationDelay estimation until late in the project (not
feasible)Base estimation based on previous similar
projectsUse simple decomposition techniques to
generate cost and effort estimation Decomposition technique adopt a divide and
conquer technique. For each decomposition the cost and effort estimation is done.
Use one or more empirical models for estimation
Estimation techniquesProblem-based EstimationLOCFunction – PointProcess-based EstimationCOCOMO
Loc based estimationCost per LOC = burdened rate /LOC produced per
PM
Project Cost = Cost per LOC * LOCE
Project Effort = Project Cost/ burdened labor rate
13
Assuming that your organization produces 620 LOC/PM with a burdened labor rate of 8000BD/PM, estimate the cost and the effort required to build the software using LOC-based estimation technique. LOC(e)=30000
14
Function Point Use measure of functionalityDerived directly from 5 information domain
characteristics- User Input = distinct data input by user- User Output = reports, screens, error messages- User Inquiries = on-line input results in generation of immediate software response- Files = Logical grouping of data that may be one part of large database or separate file- External interfaces = all machine readable interfaces used to transmit information to another system
15
Information Domain Value
Count Simple Average Complex FP Count
External Inputs 12 3 4 6 36
External Outputs 8 4 5 7 32
External Inquiries 10 3 4 6 30
Internal Logical Files 3 7 10 15 21
External Interface Files
8 5 7 10 40
TOTAL 15916
Factor
Backup and Recovery 5
Data communications 4
Distributed processing 4
Performance critical 4
Existing operating environment 4
Online data entry 4
Input transaction over multiple screens 3
ILFs updated online 3
Information Domain Values Complex 4
Internal Processing Complex 3
Code designed for Reuse 4
Conversion/installation in design 3
Multiple installations 3
Application designed for change 3
17
FPE = count total*[0.65 + 0.01 * ∑Fi)
Project Effort = FPE / average productivity on FP
Project Cost = Project Effort * burdened rate
18
19
Sensor Status
Activate/Deactivate
Alarm alert
SafeHome User Interaction Function
User
Password
Zone Inquiry
Sensor Inquiry
Panic Button
Activate/Deactivate
Sensors
Zone Setting
Test Sensor
User
Messages
Monitoring & Response Subsystem
System Configuration Data
Password, Sensors…
20
Sensor Status
Activate/Deactivate
Alarm alert
Security Monitoring
System
User
Password
Zone Inquiry
Sensor Inquiry
Panic Button
Activate/Deactivate
Sensors
Zone Setting
Test Sensor
User
Messages
Monitoring & Response Subsystem
System Configuration
Data
Password, Sensors…
User Data
Password,
Sensors…
External Input : orginates from user and represents control
information
External Output : its derived from application and provides
information to user.it can be reports, screens,error
messages
External Inquiries:Its is a online input that result in the
generation of some software response.
Internal logical file : File that resides within system
boundary
External interface file : it resides external to application
3 External inputs1. Password2. panic button and 3. activate/deactivate
2 external inquiries1. zone inquiry and 2. sensor inquiry
One ILF (system configuration file)
2 external outputs1. messages and 2. sensor status
Four EIF’s1. test sensor2. zone setting3. activate/deactivate4. alarm alert
22
Information Domain Value
Count Simple Average Complex FP Count
External Inputs 3 3 4 6 9
External Outputs 2 4 5 7 8
External Inquiries 2 3 4 6 6
Internal Logical Files 1 7 10 15 7
External Interface Files
4 5 7 10 20
TOTAL 50
23
Past Projects show a burdened labor rate of P8000/PMAverage productivity is 9FP/pmAssume average complexity valueTotal adjustment value is estimated to be 49
FPE = count total*[0.65 + 0.01 * ∑Fi)Project Effort = FPE / average productivity on FPProject Cost = Project Effort * burdened rate
COCOMO II (Constructive cost model)uses object points, using counts of the number
of- screens- reports- components that is needed to build the application
Each object instance is classified into one of the three complexity levels (simple, medium or difficult)
25
Object Type Complexity Weight
Simple Medium Difficult
Screen 1 2 3
Report 2 5 8
3GL Component 10 10 10
Developer’s Experience
Very low
Low Nominal High Very High
Development Environment maturity/ capability
Very low
Low Nominal High Very High
PROD 4 7 13 25 5026
NOP = (object points) * ((100 - %reuse)/100)PROD =NOP / person-monthEstimated Effort = NOP/PRODEstimated Cost = Estimated Effort * Burdened rate
27
Developer’s Experience
Very low
Low Nominal High Very High
Development Environment maturity/ capability
Very low
Low Nominal High Very High
PROD 4 7 13 25 50
28
Use the COCOMO II model to estimate the effort required to build software for a simple ATM that produces 12 screens, 10 reports, and will require approximately 80 software components
Past projects show a burdened rate of 9000BD/pm
Assume nominal complexity and nominal developer/environment maturity
29
Tasks You are working for a software company ABC
software and SBI Bank has granted a project to computerise its operations. The Manager for SBI Mr Ahmed has been involved in deciding the various aspects of the project. You are appointed by ABC software to manage the project and there are a team of 20 people working with you.The bank employs 20 people and has 100 account holders
Who are the stake holders for the project.Which are the different team organisations?
Which one would you choose and why?
You are the project manager for a company that buids software for house hold robots.You are contacted to build a software for a robot that mows the lawn for a homeowner.Write a statement of scope that describes the software.If you are unfamiliar about robots do a little research on robots before starting.State your assumptions about what hardware is needed.
UseCOCOMO model to estimate the effort needed to build a software for a simple ATM machine that produce 12 screens , 10 reports and 80 software components.Assume average complexity and average developer /envt maturity.
Developer’s Experience
Very low
Low Nominal High Very High
Development Environment maturity/ capability
Very low
Low Nominal High Very High
PROD 4 7 13 25 50
33
Comment on the statement “It seems odd the cost and schedule estimates to be developed during software project planning-before detailed analysis and design is conducted?why