mca sem5 mc9252nol
TRANSCRIPT
-
7/28/2019 Mca Sem5 Mc9252nol
1/141
Software Project
ManagementIntro to Project Management
Presentation ByNISHA R.S.Lecturer,
Dept. of MCA
-
7/28/2019 Mca Sem5 Mc9252nol
2/141
Course Objectives
Understand the fundamental principles of SoftwareProject management & will also have a goodknowledge of responsibilities of project manager andhow to handle these.
Be familiar with the different methods and techniquesused for project management.
By the end of this course student will have goodknowledge of the issues and challenges faced whiledoing the Software project Management and will alsobe able to understand why majority of the softwareprojects fails and how that failure probability can bereduced effectively. Will be able to do the ProjectScheduling, tracking, Risk analysis, Quality
management and Project Cost estimation usingdifferent techniques
-
7/28/2019 Mca Sem5 Mc9252nol
3/141
Unit I
Introduction
-
7/28/2019 Mca Sem5 Mc9252nol
4/141
Project Definition
In the broadest sense, a project is aspecific, finite task to beaccomplished. Any activity that results
in a deliverable or a product.
Projects always begin with a problem.The project is to provide the solutionto this problem.
When the project is finished it must be
evaluated to determine whether itsatisfies the ob ectives and oals.
-
7/28/2019 Mca Sem5 Mc9252nol
5/141
What is Management?
Management can be defined as all activitiesand tasks undertaken by one or morepersons for the purpose ofplanning and
controlling the activities of others in order toachieve objectives or complete an activitythat could not be achieved by others actingindependently.
Management functions can be categorized as Planning
Organizing
Staffing
Directing Controllin
-
7/28/2019 Mca Sem5 Mc9252nol
6/141
Management Functions
PlanningPredetermining a course of action for accomplishingorganizational Objectives
Organizing
Arranging the relationships among work units foraccomplishment of objectives and the granting ofresponsibility and authority to obtain those objectives
StaffingSelecting and training people for positions in theorganization
DirectingCreating an atmosphere that will assist and motivatepeople to achieve desired end results
ControllingEstablishing, measuring, and evaluating performanceof activities toward planned objectives
-
7/28/2019 Mca Sem5 Mc9252nol
7/141
What is Project Management
The application of knowledge, skills,tools and techniques to projectactivities in order to meet projectrequirements
-
7/28/2019 Mca Sem5 Mc9252nol
8/141
What is Project Management
Project management is a system of
management procedures,
practices,
technologies,
skills, and
experience
that are necessary to successfullymanage a project.
-
7/28/2019 Mca Sem5 Mc9252nol
9/141
Software Project Management
Concerned with activities involved inensuringthat software is delivered:
on time
on schedule
in accordance with the requirementsof the organization developing andprocuring the software
-
7/28/2019 Mca Sem5 Mc9252nol
10/141
Project Stakeholders
Stakeholders are the people involvedin or affected by the project actives
Stakeholders include
The project sponsor and project team
Support staff
Customers
Users
Suppliers
Opponents to the project
-
7/28/2019 Mca Sem5 Mc9252nol
11/141
Project Characteristics
One clear objective A well defined set of end results Goal oriented End product or service must result
Finite Fixed timeline, start date, end date, milestone dates
Limited
Budget, Resources, Time
Life Cycle Recognizable sequence of phases
-
7/28/2019 Mca Sem5 Mc9252nol
12/141
ManagementProjectSoftware
23. Appraising Performance24. Handling Intellectual Property
25. Holding Effective Meetings
26. Interaction and Communication
27. Leadership
28. Managing Change
29. Negotiating Successfully
30. Planning Careers
31. Presenting Effectively
32. Recruiting33. Selecting a Team
34. Teambuilding
12. Building a WBS13. Documenting Plans
14. Estimating Costs
15. Estimating Effort
16. Managing Risks
17. Monitoring Development
18. Scheduling
19. Selecting Metrics
20. Selecting Project Mgmt Tools
21. Tracking Process22. Tracking Project Progress
1. Assessing Processes2. Awareness of Process Standards
3. Defining the Product
4. Evaluating Alternative Processes
5. Managing Requirements
6. Managing Subcontractors
7. Performing the Initial Assessment
8. Selecting Methods and Tools
9. Tailoring Processes
10. Tracking Product Quality11. Understanding Development Activities
34 Competencies Every Software Project Manager Needs to Know
PeopleProjectProduct
PeopleProject
Product
-
7/28/2019 Mca Sem5 Mc9252nol
13/141
Product Life Cycles
Products also have life cycles
The Systems Development Life Cycle
(SDLC) is a framework for describingthe phases involved in developing andmaintaining information systems
Typical SDLC phases include planning,
analysis, design, implementation, andsupport
-
7/28/2019 Mca Sem5 Mc9252nol
14/141
Steps in SDLC
Concept Exploration
System exploration
Requirements
Design Implementation
Installation
Operations and support
Maintenance
Retirement
-
7/28/2019 Mca Sem5 Mc9252nol
15/141
Process & Process Model
Software Process
the set of activities, methods, andpractices that are used in the production
and evolution of software
Software Process Model
one specific embodiment of a software
process architecture
-
7/28/2019 Mca Sem5 Mc9252nol
16/141
Why Modeling?
To provide a common understanding
To locate any inconsistencies,
redundancies and omissionsTo reflect the development goals and
provide early evaluation
To assist development team tounderstand any special situation
-
7/28/2019 Mca Sem5 Mc9252nol
17/141
Sample SDLC Models
Waterfall model: has well-defined, linearstages of systems development and support
Spiral model: shows that software is
developed using an iterative or spiralapproach rather than a linear approach
Incremental release model: provides forprogressive development of operationalsoftware
RAD model: used to produce systemsquickly without sacrificing quality
Prototyping model: used for developingprototypes to clarify user requirements
-
7/28/2019 Mca Sem5 Mc9252nol
18/141
Waterfall Model
RequirementAnalysis
SystemDesign
Coding
Testing
Maintenance
-
7/28/2019 Mca Sem5 Mc9252nol
19/141
Waterfall Model (contd)
classical
one-shot approach
effective controllimited scope of iteration
long cycle time
not suitable for system of highuncertainty
-
7/28/2019 Mca Sem5 Mc9252nol
20/141
V Model
RequirementsAnalysis
System Design
Program Design
Coding
Unit and
Integration Testing
System Testing
Maintenance
User AcceptanceTesting
-
7/28/2019 Mca Sem5 Mc9252nol
21/141
V Model (contd)
Additional validation processintroduced
Relate testing to analysis and designLoop back in case of discrepancy
-
7/28/2019 Mca Sem5 Mc9252nol
22/141
Spiral Model (adapted from Boehm 1987)
-
7/28/2019 Mca Sem5 Mc9252nol
23/141
Spiral Model (contd)
Evolutionary approach
Iterative development combined with
risk managementRisk analysis results in go, no-go
decision
-
7/28/2019 Mca Sem5 Mc9252nol
24/141
Spiral Model (contd)
Four major activities
Planning
Risk analysis
Engineering
Customer evaluation
-
7/28/2019 Mca Sem5 Mc9252nol
25/141
Prototyping Model
Goals
meet users requirements in early stage
reduce risk and uncertainty
-
7/28/2019 Mca Sem5 Mc9252nol
26/141
Classification of Prototype
Throw-awayAfter users agree the requirements of the
system, the prototype will be discarded.
EvolutionaryModifications are based on the existing
prototype.
IncrementalFunctions will be arranged and built
accordingly.
-
7/28/2019 Mca Sem5 Mc9252nol
27/141
Prototyping Model
Build prototype Usersatisfaction
YES
NO
User feedback
-
7/28/2019 Mca Sem5 Mc9252nol
28/141
Benefits of Prototyping
Learning by doing
Improved communication
Improved user involvementClarification of partially-known
requirements
-
7/28/2019 Mca Sem5 Mc9252nol
29/141
Prototyping Sequences
Requirements gathering
Quick design
Prototype construction
Customer evaluation
Refinement
Loop back to quick design for fine tuning
Product engineering
-
7/28/2019 Mca Sem5 Mc9252nol
30/141
Benefits of Prototyping
Demonstration of the consistency andcompleteness of a specification
Reduced need for documentation
Reduced maintenance costs
Feature constraint
Production of expected results
-
7/28/2019 Mca Sem5 Mc9252nol
31/141
Drawbacks of Prototyping
Users sometimes misunderstand therole of the prototype
Lack of project standards possible
Lack of control
Additional expense
Close proximity of developers
-
7/28/2019 Mca Sem5 Mc9252nol
32/141
Forms of Prototypes
Mock-ups
Simulated interaction
Partial working model
-
7/28/2019 Mca Sem5 Mc9252nol
33/141
Incremental Model
Break system into small components
Implement and deliver smallcomponents in sequence
Every delivered component providesextra functionality to user
-
7/28/2019 Mca Sem5 Mc9252nol
34/141
Incremental Model (contd)
RequirementsAnalysis
Arrangerequirements
in increments
Validate
increment
Design anddevelop
increment
Integrate
increment
YES
NO
System
OK?
-
7/28/2019 Mca Sem5 Mc9252nol
35/141
Iterative Model
Deliver full system in the beginning
Enhance functionality in new releases
-
7/28/2019 Mca Sem5 Mc9252nol
36/141
Iterative Model (contd)
Develop systemversion n
Validate systemversion n
YES
NO
Design system
version n
Systemcomplete
n = n+1
-
7/28/2019 Mca Sem5 Mc9252nol
37/141
Why Have Project Phases andManagement Reviews?
A project should successfully pass
through each of the project phases inorder to continue on to the next
Management reviews (also calledphase exits or kill points) should occur
after each phase to evaluate theprojects progress, likely success, andcontinued compatibility with
organizational goals
-
7/28/2019 Mca Sem5 Mc9252nol
38/141
Distinguishing Project Life Cycles andProduct Life Cycles
The project life cycle applies to allprojects, regardless of the productsbeing produced
Product life cycle models varyconsiderably based on the nature of theproduct
Most large IT products are developedas a series of projects
Project management is done in all ofthe product life cycle phases
-
7/28/2019 Mca Sem5 Mc9252nol
39/141
Capability Maturity Model
The CMM is a process model based on software best-practices effective in large-scale, multi-person projects.
The CMM has been used to assess the maturity levelsof organization areas as diverse as software
engineering, system engineering, project management,risk management, system acquisition, informationtechnology (IT) or personnel management, against ascale of five key processes, namely:Initial,
Repeatable,Defined,Managed andOptimized.
http://en.wikipedia.org/wiki/Software_engineeringhttp://en.wikipedia.org/wiki/Software_engineeringhttp://en.wikipedia.org/wiki/System_engineeringhttp://en.wikipedia.org/wiki/Project_managementhttp://en.wikipedia.org/wiki/Risk_managementhttp://en.wikipedia.org/wiki/Information_technologyhttp://en.wikipedia.org/wiki/Information_technologyhttp://en.wikipedia.org/wiki/Information_technologyhttp://en.wikipedia.org/wiki/Information_technologyhttp://en.wikipedia.org/wiki/Risk_managementhttp://en.wikipedia.org/wiki/Project_managementhttp://en.wikipedia.org/wiki/System_engineeringhttp://en.wikipedia.org/wiki/Software_engineeringhttp://en.wikipedia.org/wiki/Software_engineering -
7/28/2019 Mca Sem5 Mc9252nol
40/141
Level 1 - Initial
At maturity level 1, processes areusually ad hoc, and the organizationusually does not provide a stable
environment. Success in theseorganizations depends on thecompetence and heroics of the people
in the organization, and not on theuse of proven processes
http://en.wikipedia.org/wiki/Ad_hochttp://en.wikipedia.org/wiki/Ad_hoc -
7/28/2019 Mca Sem5 Mc9252nol
41/141
Level 2 - Repeatable
At maturity level 2, softwaredevelopment successes arerepeatable. The processes may not
repeat for all the projects in theorganization. The organization mayuse some basic project management
to track cost and schedule.
http://en.wikipedia.org/wiki/Project_managementhttp://en.wikipedia.org/wiki/Project_management -
7/28/2019 Mca Sem5 Mc9252nol
42/141
Level 3 - Defined
The organizations set of standardprocesses, which are the basis for level 3,are established and improved over time.
These standard processes are used toestablish consistency across theorganization. Projects establish theirdefined processes by applying the
organizations set of standard processes,tailored, if necessary, within similarlystandardized guidelines.
-
7/28/2019 Mca Sem5 Mc9252nol
43/141
Level 4 - Quantitatively Managed
Using precise measurements,management can effectively controlthe software development effort. In
particular, management can identifyways to adjust and adapt the processto particular projects without
measurable losses of quality ordeviations from specifications
-
7/28/2019 Mca Sem5 Mc9252nol
44/141
Level 5 - Optimizing
Maturity level 5 focuses on continuallyimproving process performance throughboth incremental and innovative
technological improvements. Quantitativeprocess-improvement objectives for theorganization are established, continuallyrevised to reflect changing business
objectives, and used as criteria inmanaging process improvement.
-
7/28/2019 Mca Sem5 Mc9252nol
45/141
International Organization forStandardization(ISO)
12 Engineering Activities Systems requirement analysis
System architectural design
Software requirement analysis
Software architectural design Software detailed design
Software coding and testing
Software Integration
Software qualification testing
System integration System qualification testing
Software installation
Software acceptance test
-
7/28/2019 Mca Sem5 Mc9252nol
46/141
Unit II
Domain Processes
Scope Planning and the Scope
-
7/28/2019 Mca Sem5 Mc9252nol
47/141
Scope Planning and the ScopeStatement
A scope statement is a document usedto develop and confirm a commonunderstanding of the project scope. It
should include a project justification
a brief description of the projects products
a summary of all project deliverables a statement of what determines project
success
Scope Planning and the Work
-
7/28/2019 Mca Sem5 Mc9252nol
48/141
Scope Planning and the WorkBreakdown Structure
After completing scope planning, thenext step is to further define the workby breaking it into manageable pieces
Good scope definition helps improve the accuracy of time, cost,
and resource estimates
defines a baseline for performancemeasurement and project control
aids in communicating clear workresponsibilities
The Work Breakdown
-
7/28/2019 Mca Sem5 Mc9252nol
49/141
The Work BreakdownStructure
A work breakdown structure (WBS) isan outcome-oriented analysis of thework involved in a project that defines
the total scope of the project
It is a foundation document in projectmanagement because it provides the
basis for planning and managingproject schedules, costs, and changes
-
7/28/2019 Mca Sem5 Mc9252nol
50/141
WBS
WBS was initially developed by the U.S.defense establishment, and it is described inMilitary Standard (MIL-STD) 881B (25 Mar
93) as follows:
"A work breakdown structure is a product-oriented family tree composed of hardware,
software, services, data and facilities .... [it]displays and defines the product(s) to bedeveloped and/or produced and relates theelements of work to be accomplished to
each other and to the end product(s)."
-
7/28/2019 Mca Sem5 Mc9252nol
51/141
Sample Intranet WBS Organized by
Product
-
7/28/2019 Mca Sem5 Mc9252nol
52/141
Sample Intranet WBS Organized byPhase
-
7/28/2019 Mca Sem5 Mc9252nol
53/141
Intranet WBS in Tabular Form1.0 Concept
1.1 Evaluate current systems
1.2 Define Requirements1.2.1 Define user requirements
1.2.2 Define content requirements
1.2.3 Define system requirements
1.2.4 Define server owner requirements
1.3 Define specific functionality1.4 Define risks and risk management approach
1.5 Develop project plan
1.6 Brief web development team
2.0 Web Site Design
3.0 Web Site Development
4.0 Roll Out
5.0 Support
Approaches to Developing
-
7/28/2019 Mca Sem5 Mc9252nol
54/141
Approaches to DevelopingWBSs
Using guidelines: Some organizations,like the DOD, provide guidelines forpreparing WBSs
The analogy approach: It often helps to
review WBSs of similar projectsThe top-down approach: Start with the
largest items of the project and keepbreaking them down
The bottoms-up approach: Start withthe detailed tasks and roll them up
-
7/28/2019 Mca Sem5 Mc9252nol
55/141
S V ifi ti d S
-
7/28/2019 Mca Sem5 Mc9252nol
56/141
Scope Verification and ScopeChange Control
It is very difficult to create a good scopestatement and WBS for a project
It is even more difficult to verify project
scope and minimize scope changesMany IT projects suffer from scope
creep and poor scope verification
Factors Causing IT Project
-
7/28/2019 Mca Sem5 Mc9252nol
57/141
Factors Causing IT ProjectProblems*
Factor Rank Lack of user input 1
Incomplete requirements and specifications 2
Changing requirements and specifications 3
Lack of executive support 4
Technology incompetence 5Lack of resources 6
Unrealistic expectations 7
Unclear objectives 8
Unrealistic time frames 9
New Technology 10
*Johnson, Jim, "CHAOS: The Dollar Drain of IT Project Failures," Application Development Trends,
January 1995, www.stadishgroup.com/chaos.html
-
7/28/2019 Mca Sem5 Mc9252nol
58/141
Suggestions for Improving UserInput
Insist that all projects have a sponsorfrom the user organization
Have users on the project team
Have regular meetings
Deliver something to project users andsponsor on a regular basis
Co-locate users with the developers
Incomplete and Changing
-
7/28/2019 Mca Sem5 Mc9252nol
59/141
Incomplete and ChangingRequirements
Develop and follow a requirements management process Employ techniques such as prototyping, use case
modeling, and Joint Application Design to thoroughlyunderstand user requirements
Put all requirements in writing and current
Create a requirements management database
Provide adequate testing
Use a process for reviewing requested changes from asystems perspective
Emphasize completion dates
-
7/28/2019 Mca Sem5 Mc9252nol
60/141
Unit III
Software Development
-
7/28/2019 Mca Sem5 Mc9252nol
61/141
Software Size and ReuseEstimating
-
7/28/2019 Mca Sem5 Mc9252nol
62/141
Software Size and Reuse Estimating
-
7/28/2019 Mca Sem5 Mc9252nol
63/141
Predicting the size of a softwaresystem becomes progressively easier
as the project advances
At no other time are the
estimates so important than at the
beginning of a project
-
7/28/2019 Mca Sem5 Mc9252nol
64/141
Product Development Life Cycle
Estimating size and effort will occurmany times during the life cycle
After requirements, after analysis,after design, and so on...
-
7/28/2019 Mca Sem5 Mc9252nol
65/141
Learning Objectives
Explain why the sizing of software is animportant estimating technique
Describe how Work Breakdown Structurecan be used to estimate software size
List, explain and describe several modelsused to estimate size
Summarize the advantages anddisadvantages of the models
Explain the impact of reused softwarecomponents upon the size estimate
-
7/28/2019 Mca Sem5 Mc9252nol
66/141
Problems with Estimating
Problem is not well understood
Little or no historical data
No standardsManagement uses estimates as
performance goals
Developers are optimistic
Customer demands quick estimates
etc...
-
7/28/2019 Mca Sem5 Mc9252nol
67/141
Risks of Estimating
If incomplete or incorrect estimate:
disappointing the customer
possibly losing future business
too optimistic fixed-price contract result inthe contractor losing money and losingface
-
7/28/2019 Mca Sem5 Mc9252nol
68/141
How to tackle size-related risks
Produce a WBS, decomposed to the lowestlevel possible smaller is easier toestimate
Review assumptions with all stakeholders
Research past organizational experiencesand historical data
Stay in close communication with otherdevelopers, common language
Update estimates
Use many size estimating methods
Educate staff in estimation methods
Getting St ted
-
7/28/2019 Mca Sem5 Mc9252nol
69/141
Getting StartedSizing is the prediction of product
deliverables needed to fulfill requirementsEstimation is the prediction of effort
needed to produce the deliverables
WBS is a description of the work to be
performed, broken down into key elementsWBS is our TOC, a hierarchical list of the
work activities required to complete aproject
Choose a method and stick with it
Compare actual data to planned estimates
Everything should be counted, anyobservable physical piece of software
-
7/28/2019 Mca Sem5 Mc9252nol
70/141
Size measures
Lines of Code (LOC)
Function Points
Feature PointsObject Points
Model Blitz
Wideband Delphi
-
7/28/2019 Mca Sem5 Mc9252nol
71/141
Lines of Code
Very difficult to know how many LOC will beproduced before they are written or evendesigned
LOC measure has become infamous
Still the most used metric
Average programmer productivity rateremains despite of new languages
Functionality and quality are the realconcerns, not the LOC
Lines of Code 2
-
7/28/2019 Mca Sem5 Mc9252nol
72/141
Lines of Code 2
WBS should be decomposed to the lowestlevel possible
Estimating using expert opinions, askingexperts who have developed similar
systemsEstimating using Bottom-Up summing,asking developers to estimate the size ofeach decomposed level
Ask for an optimistic (200), pessimistic(400) and realistic size (250) estimate(200+400+(4*250)) / 6 = 266 LOC
What exactly is a line of code? Standardsand rules needed
-
7/28/2019 Mca Sem5 Mc9252nol
73/141
Lines of Code 3
Translate the number of LOC to assemblylanguage line in order to make comparisonsbetween programming languages
e.g.convert 50,000 LOC system written in C toJavaAssembler level for C = 2.5, Java = 650,000 * 2.5 = 125,000 if written inassembler125,000 / 6 = 20,833 LOC if written in Java
Advantages of LOC
-
7/28/2019 Mca Sem5 Mc9252nol
74/141
Advantages of LOC
Widely used and acceptedAllows for comparison between diverse
development groups
Directly relates to the end product
Easily measured upon project completion
Measure from the developers point of view
Continuous improvement
Disadvantages of LOC
-
7/28/2019 Mca Sem5 Mc9252nol
75/141
Disadvantages of LOCDifficult to estimate early in the life cycle
Source instructions variate with language,design, programmer etc.
No industry standars for counting LOC
Fixed costs are not included with coding
Programmers may be rewarded for largeLOC counts
Distinguish between generated code andhand-crafted code
Can not be used for normalizing iflanguages are different
Only existing products and expert opinionscan be used to predict a LOC count
-
7/28/2019 Mca Sem5 Mc9252nol
76/141
Function Points
Idea:software is better measured in termsof the number and complexity of the
functions that it performsFunction points measure categories of
end-user business functions
-
7/28/2019 Mca Sem5 Mc9252nol
77/141
Function Point Process Steps1. Count number of functions in each
category (outputs, inputs, interfacesetc..)
2. Apply complexity weighting factors(simple, medium, complex)
3. Apply environmental factors
4. Calculate complexity adjustment factor
5. Compute adjusted function points6. Convert to Lines of Code (optional)
-
7/28/2019 Mca Sem5 Mc9252nol
78/141
Advantages of Function Point Analysis
Can be applied early in the life cycle
Independent of language and technology
Provide a reliable relationship to effort
Can be used as a productivity goalUsers understand better
Provide a mechanism to track and monitorscope
Environmental factors are considered
-
7/28/2019 Mca Sem5 Mc9252nol
79/141
Disadvantages of Function Point Analysis
Requires subjective evaluations
Results depend on technology usedto implement the analysis
Many effort and cost models dependon LOC, must be converted
Best after the creation of a designspecification
Not good to non-MIS applications
-
7/28/2019 Mca Sem5 Mc9252nol
80/141
Feature Points
Extension of the function pointmethod
Designed to deal with different kinds
of applications, like embedded or real-time systems
A feature point is a new category of
function point that represent complexalgorithms
Areas where Feature Points are
-
7/28/2019 Mca Sem5 Mc9252nol
81/141
Areas where Feature Points areused
RTS such as missile defense systems
System software
Embedded Systems like radarnavigation packages
CAD & CAM
-
7/28/2019 Mca Sem5 Mc9252nol
82/141
Feature Point Process Steps
1. Count number of feature points in eachcategory
2. Count feature points (algorithms)
3. Weigh Complexity (avg for featurepoints, simple/avg/complex foralgorithms)
4. Evaluate environmental factors
5. Calculate complexity adjustment factor
6. Adjust feature points
7. Convert to LOC (optional)
Advantages of Feature Point
-
7/28/2019 Mca Sem5 Mc9252nol
83/141
Advantages of Feature PointAnalysis
Same as in function point analysis
Additional advantage foralgorithmically intensive systems
Disadvantages of Feature Point
-
7/28/2019 Mca Sem5 Mc9252nol
84/141
Disadvantages of Feature PointAnalysis
Primary disadvantage:
subjective classification of algorithmic
complexity
Obj t P i t
-
7/28/2019 Mca Sem5 Mc9252nol
85/141
Object Points
Method developed for object-orientedtechnology
Counting object points to determinesoftware size
Conducted at a more macro level thanfunction points
Assigns one object point to each uniqueclass or object
Otherwise similar to function and featurepoints
M d l Blit
-
7/28/2019 Mca Sem5 Mc9252nol
86/141
Model Blitz
Estimating gets better with each passingphase
Concept of blitz modelling is counting
number of process (object classes) *number of programs per class * avgprogram size = Estimated size (LOC)
A historical database is essential
Function-strong systems and data-strongsystems are calculated separately
d
-
7/28/2019 Mca Sem5 Mc9252nol
87/141
Contd
20 object classes implemented to 5procedural programs & on an avg 75LOC per procedural prg
No. of Process X no. of programs perclass X Avg Prg Size = Estimated Size
20 X 5 X 75 = ?
7500 LOC
-
7/28/2019 Mca Sem5 Mc9252nol
88/141
Advantages of Model Blitz
Easy to use with structured methodsand with object-oriented classes
Accuracy increases with historical data
Continuous improvement activitiesused for estimation techniques
-
7/28/2019 Mca Sem5 Mc9252nol
89/141
Disadvantages of Model Blitz
Requires use of design methodology
Estimation can not begin until designis complete
Requires historical data
Does not evaluate environmentalfactors
Wid b d D l hi
-
7/28/2019 Mca Sem5 Mc9252nol
90/141
Wideband Delphi
Popular and simple technique toestimate size and effort
Group consensus approach
Uses experience of several people toreach an estimate
Wid b d D l hi t
-
7/28/2019 Mca Sem5 Mc9252nol
91/141
Wideband Delphi steps
1. Present experts with the problemand a response form
2. Group discussion
3. Collect opinions anonymously
4. Feed back a summary of results
5. Another group discussion
6. Iterate until consensus
-
7/28/2019 Mca Sem5 Mc9252nol
92/141
Advantages of Wideband Delphi
Easy and inexpensive
Expertise of several people
Participants become better educated
about the software and projectDoes not require historical data
Used for high-level and detailed
estimationResults more accurate than in LOC
Disadvantages of Wideband
-
7/28/2019 Mca Sem5 Mc9252nol
93/141
Disadvantages of WidebandDelphiDifficult to repeat with different group of
experts
Possible to reach consensus on anincorrect estimate, people may not beskeptical enough
Can develop a false sense of confidence
May fail to reach a consensus
Experts may be biased in the samesubjective direction
-
7/28/2019 Mca Sem5 Mc9252nol
94/141
Effects of Reuse on Software Size
Many softwares are derived from previousprograms
Result in savings of cost and time, increased
qualityCan also cost more, take longer time and
yield lower quality
First step in code reuse is to separate new
code from modified and reused code
-
7/28/2019 Mca Sem5 Mc9252nol
95/141
Effects of Reuse continues
If the unit has changed, it is modified If more than 50% of the unit is changed, it
is considered to be new
Reused code will be converted to
equivalent new codeConversion factor reflects the amount of
effort saved by reuse
Reuse factors come from experience (e.g.
30% for reused, 60% for modified)Can also be done on more accurate level
-
7/28/2019 Mca Sem5 Mc9252nol
96/141
Unit IV
Scheduling Activities
Project management resourceti iti
-
7/28/2019 Mca Sem5 Mc9252nol
97/141
activities.
Inference management is the process ofmanaging all the different interfaces withother people and groups related to theproduct and the project, it includesidentifying, documenting, scheduling,communicating, and monitoring theseinterfaces throughout the course of project.
Kinds of interfaces:
-
7/28/2019 Mca Sem5 Mc9252nol
98/141
Personal
Organizational
System
PERSONAL
It deals with all conflicts involving people in or
-
7/28/2019 Mca Sem5 Mc9252nol
99/141
It deals with all conflicts involving people in orrelated to the project.
ORGANIZATIONAL
It deals with conflicts due to varyingorganizational goals and the different managementstyles of the
project and resource supplying organizations.
SYSTEMIt deals with the product, facility, or othernon people interfaces developed by the project.
Organizational structure:
-
7/28/2019 Mca Sem5 Mc9252nol
100/141
"An organization is a system thatexchanges materials,personnel, manpower, and energy
with the environment
TYPES OF ORGANIZATIONS:
-
7/28/2019 Mca Sem5 Mc9252nol
101/141
TYPES OF ORGANIZATIONS:
Functional organizations
Matrix organizations
Projectized organizations
Combination of all the above
-
7/28/2019 Mca Sem5 Mc9252nol
102/141
FUNCTIONAL ORGANIZATIONS
The functional organization is astandard old-fashionedorganization. It is the style in which
people are divided into theirfunctional specialties and report to afunctional area manager.
-
7/28/2019 Mca Sem5 Mc9252nol
103/141
MATRIX ORGANIZATIONS
In the matrix organizations there is abalance of powerestablished between the functional
and project managers. The project worker in a matrixorganization has a multiplecommand system of accountability
and responsibility.
PROJECTIZED ORGANISATIONS:
-
7/28/2019 Mca Sem5 Mc9252nol
104/141
PROJECTIZED ORGANISATIONS:
In projectized organizations theproject manger has totalauthority and acts like a mini-CEO.
All personnel assigned to the projectreport to projectmanager.
Software development
-
7/28/2019 Mca Sem5 Mc9252nol
105/141
pdependencies
"Dependencies are any relationshipconnections between activities ina project that may impact their
scheduling".
-
7/28/2019 Mca Sem5 Mc9252nol
106/141
-
7/28/2019 Mca Sem5 Mc9252nol
107/141
DEPENDENCY RELATIONSHIPS:
Finish-to-start(FS)Start-to-start(SS)Finish-to-finish(FF)
Start-to-finish(SF)
Scheduling fundamentals:
-
7/28/2019 Mca Sem5 Mc9252nol
108/141
The three most common forms ofpresenting a project schedule are: Table.
Gantt chart. Network diagram.
-
7/28/2019 Mca Sem5 Mc9252nol
109/141
Critical Path Method (CPM)CPM is a project network analysis
technique used to predict total projectduration
A critical path for a project is the series
of activities that determines theearliest time by which the project canbe completed
The critical path is the longest paththrough the network diagram and hasthe least amount of slack or float
-
7/28/2019 Mca Sem5 Mc9252nol
110/141
Finding the Critical Path
First develop a good project networkdiagram
Add the durations for all activities on
each path through the project networkdiagram
The longest path is the critical path
Simple Example of Determining the
-
7/28/2019 Mca Sem5 Mc9252nol
111/141
p p gCritical Path
Consider the following project networkdiagram. Assume all times are in days.
2 3
4
5
A=2 B=5
C=2
D=7
1 6
F=2
E=1
start finish
a. How many paths are on this network diagram?
b. How long is each path?
c. Which is the critical path?
d. What is the shortest amount of time needed to
complete this project?
Determining the Critical Pathf P j t X
-
7/28/2019 Mca Sem5 Mc9252nol
112/141
for Project X
More on the Critical Path
-
7/28/2019 Mca Sem5 Mc9252nol
113/141
If one of more activities on the critical path
takes longer than planned, the whole projectschedule will slip unless corrective action istaken
Misconceptions:
The critical path is not the one with all the criticalactivities; it only accounts for time
There can be more than one critical path if thelengths of two or more paths are the same
The critical path can change as the projectprogresses
Using Critical Path Analysis to
-
7/28/2019 Mca Sem5 Mc9252nol
114/141
Make Schedule Trade-offs
Knowing the critical path helps youmake schedule trade-offs
Free slack or free floatis the amount oftime an activity can be delayed without
delaying the early start of anyimmediately following activities
Total slack or total floatis the amount
of time an activity may be delayedfrom its early start without delaying theplanned project finish date
Techniques for Shortening a
-
7/28/2019 Mca Sem5 Mc9252nol
115/141
Project Schedule
Shortening durations of critical tasksfor adding more resources or changingtheir scope
Crashing tasks by obtaining thegreatest amount of schedulecompression for the least incrementalcost
Fast tracking tasks by doing them inparallel or overlapping them
Importance of Updating Critical
-
7/28/2019 Mca Sem5 Mc9252nol
116/141
Path Data
It is important to update projectschedule information
The critical path may change as you
enter actual start and finish datesIf you know the project completion
date will slip, negotiate with the projectsponsor
-
7/28/2019 Mca Sem5 Mc9252nol
117/141
Critical Chain SchedulingTechnique that addresses the challenge of
meeting or beating project finish dates and anapplication of the Theory of Constraints (TOC)
Developed by Eliyahu Goldratt in his books TheGoaland Critical Chain
Critical chain scheduling is a method ofscheduling that takes limited resources intoaccount when creating a project schedule andincludes buffers to protect the projectcompletion date
Critical chain scheduling assumes resources donot multitask because it often delays taskcompletions and increases total durations
-
7/28/2019 Mca Sem5 Mc9252nol
118/141
Multitasking Example
ff d l h
-
7/28/2019 Mca Sem5 Mc9252nol
119/141
Buffers and Critical ChainA buffer is additional time to complete a task
Murphys Law states that if something can gowrong, it will, and Parkinsons Law states thatwork expands to fill the time allowed. Intraditional estimates, people often add a buffer
and use it if its needed or notCritical chain schedule removes buffers from
individual tasks and instead creates A project buffer, which is additional time added
before the projects due date Feeding buffers, which are addition time added
before tasks on the critical path
Program Evaluation and Reviewh ( )
-
7/28/2019 Mca Sem5 Mc9252nol
120/141
Technique (PERT)
PERT is a network analysis techniqueused to estimate project duration whenthere is a high degree of uncertainty
about the individual activity durationestimates
PERT uses probabilistic time estimatesbased on using optimistic, most likely,and pessimistic estimates of activitydurations
-
7/28/2019 Mca Sem5 Mc9252nol
121/141
-
7/28/2019 Mca Sem5 Mc9252nol
122/141
W ki ith P l I
-
7/28/2019 Mca Sem5 Mc9252nol
123/141
Working with People Issues
Strong leadership helps projectssucceed more than good PERT charts
Project managers should use
empowerment
incentives
discipline
negotiation
Using Software to Assist inTi M t
-
7/28/2019 Mca Sem5 Mc9252nol
124/141
Time Management
Software for facilitatingcommunications helps people exchangeschedule-related information
Decision support models help analyzetrade-offs that can be made
Project management software can helpin various time management areas
-
7/28/2019 Mca Sem5 Mc9252nol
125/141
-
7/28/2019 Mca Sem5 Mc9252nol
126/141
-
7/28/2019 Mca Sem5 Mc9252nol
127/141
-
7/28/2019 Mca Sem5 Mc9252nol
128/141
-
7/28/2019 Mca Sem5 Mc9252nol
129/141
U it V
-
7/28/2019 Mca Sem5 Mc9252nol
130/141
Unit V
Quality Assurance
Integrated Change Control
-
7/28/2019 Mca Sem5 Mc9252nol
131/141
Integrated Change ControlIntegrated change control involves
identifying, evaluating, and managingchanges throughout the project lifecycle (Note: 1996 PMBOK called thisprocess overall change control)
Three main objectives of changecontrol:
Influence the factors that createchanges to ensure they are agreedupon
Determine that a change hasoccurred
Mana e actual chan es when and as
Integrated Change Control
-
7/28/2019 Mca Sem5 Mc9252nol
132/141
Integrated Change Control
Integrated change control requires
Maintaining the integrity of theperformance measurement baseline
Ensuring that changes to the productscope are reflected in the definition of theproject scope
Coordinating changes across the
knowledge areas
Integrated Change Control --Coordination
-
7/28/2019 Mca Sem5 Mc9252nol
133/141
10.3: Performance
Reporting
Communications
4.3: Integrated
Change control
Integration
Scope change control
Schedule change control
Cost change control
Quality control
Risk change control
Contract Administration
Subsidiary Change Control
Coordinating changes Across the Entire Project
Change Control on InformationTechnology Projects
-
7/28/2019 Mca Sem5 Mc9252nol
134/141
Technology Projects
Former view: The project team should striveto do exactly what was planned on time andwithin budget
Problem: Stakeholders rarely agreed up-front on the project scope, and time andcost estimates were inaccurate
Modern view: Project management is aprocess of constant communication andnegotiation
Solution: Changes are often beneficial, and
the project team should plan for them
Integrated Change Control --Process
-
7/28/2019 Mca Sem5 Mc9252nol
135/141
Process
Integrated Change ControlProcess
-
7/28/2019 Mca Sem5 Mc9252nol
136/141
Process
Change Control System
-
7/28/2019 Mca Sem5 Mc9252nol
137/141
Change Control System
A formal, documented process thatdescribes when and how officialproject documents and work may be
changedDescribes who is authorized to make
changes and how to make them
Often includes a change control board(CCB), configuration management,and a process for communicatingchanges
Change Control Boards (CCBs)
-
7/28/2019 Mca Sem5 Mc9252nol
138/141
Change Control Boards (CCBs)
A formal group of people responsiblefor approving or rejecting changes ona project
Provides guidelines for preparingchange requests, evaluates them, andmanages the implementation ofapproved changes
Includes stakeholders from the entireorganization
Making Timely Changes
-
7/28/2019 Mca Sem5 Mc9252nol
139/141
Making Timely Changes
Some CCBs only meet occasionally, soit may take too long for changes tooccur
Some organizations have policies inplace for time-sensitive changes
48 hour policy allowed project teammembers to make decisions, then theyhad 48 hours reverse the decisionpending senior management approval
Delegate changes to the lowest level
possible but keep everyone informed of
Configuration Management
-
7/28/2019 Mca Sem5 Mc9252nol
140/141
Configuration ManagementEnsures that the products and their
descriptions are correct and completeConcentrates on the management of
technology by identifying and controlling thefunctional and physical design characteristics
of productsConfiguration management specialists
identify and document configurationrequirements, control changes, record and
report changes, and audit the products toverify conformance to requirements
Suggestions for ManagingIntegrated Change Control
-
7/28/2019 Mca Sem5 Mc9252nol
141/141
Integrated Change Control View project management as a process of
constant communications and negotiations Plan for change
Establish a formal change control system,including a Change Control Board (CCB)
Use good configuration management
Define procedures for making timely decisions onsmaller changes
Use written and oral performance reports to help
identify and manage change Use project management and other software to