Chapter 4 Software Project Planning Good
Chapter 4 Software Project Planning Good
Project Planning
Software Project Planning
• Effective project management is crucial to the
success of any software development project.
• The main goal of software project management is to
enable a group of developers to work effectively
towards the successful completion of a project.
• project management involves use of a set of
techniques and skills to steer a project to success.
Software Project Management Complexities
Inquiries
Other
ILF applications
Inputs
EIF
User
Outputs
ILF: Internal logical
System files EIF: External
interfaces
Fig: FPAs functional units System
Step 2: Refine parameters
• UFP computed at the end of step 1 is a gross indicator
of the problem size.
• This UFP needs to be refined.
• This is possible, since each parameter (input, output,
etc.) has been implicitly assumed to be of average
complexity.
• The complexity of each parameter is graded into three
broad categories—simple, average, or complex.
• Based on these weights of the parameters, the
parameter values in the UFP are refined.
Step 2: Refine parameters
• Counting Function Point
Step 3: Refine UFP based on complexity of
the overall project
The procedure for the calculation of UFP in
mathematical form is given below:
5 3
UFP ∑ ∑ ij
i1 J 1 Z
Where i indicate the row and j indicates the column of Table
1 wij
Wij : It is the entry of the ith row and jth column of the table 1
FP = UFP * CAF
• Compartmentalization
• The project must be compartmentalized into a number of
manageable activities, actions, & tasks; both the product &
process are decomposed
• Interdependency
• The interdependency of each compartmentalized activity,
action, or task must be determined
• Some task must occur in sequence while others can occur in
parallel
• Some actions or activities cannot commence until the work
product produced by another is available
Basic Principles for Project Scheduling
• Time allocation
• Each task to be scheduled must be allocated some number of
work units
• In addition, each task must be assigned a start date and a
completion date that are a function of the interdependencies
• Start and stop dates are also established based on whether
work will be conducted on a full-time or part-time basis
• Effort validation
• Every project has a defined number of people on the team
• As time allocation occurs, the project manager must be
ensure that no more than the allocated number of people
have been scheduled at any given time
Basic Principles for Project Scheduling
• Defined responsibilities
• Every task that is scheduled should be assigned to a specific
team member
• Defined outcomes
• Every task that is scheduled should have a defined outcome for
sw projects such as a work product or part of a work product
• Work products are often combined in deliverables
• Defined milestones
• Every task or group of tasks should be associated with a project
milestone
• A milestone is accomplished when one or more work products
has been reviewed for quality and has been approved
Task Network
• Qualitative approach
• Conduct periodic project status meetings in which each team
member reports progress and problem
• Evaluate the result of all reviews conducted throughout the
software engineering process
• Determine whether formal project milestones (i.e. diamond)
have been accomplished by the scheduled date
• Compare actual start date to planned start date for each
project task listed in the timeline chart
• Meet informally with the software engineering team to obtain
their subjective assessment of progress to date and problem
on the horizon
• Quantitative approach
• Use earned value analysis to assess progress quantitatively
Risk Management
Software Risk Management
Potential Problems
Risk Management
Typical Software Risk
•Capers Jones has identified the top five risk factors
that threaten projects in different applications.
1. Dependencies on outside agencies or factors.
• Availability of trained, experienced persons
• Inter group dependencies
• Customer-Furnished items or information
• Internal & external subcontractor relationships
Risk Management
2.
Requirement issues
Uncertain requirements
Wrong product
or
Right product
badly
Either situation in unpleasant surprises and
results unhappy
customers.
Risk Management
• Lack of clear product vision
• Lack of agreement on product requirements
• Unprioritized requirements
• New market with uncertain needs
• Rapidly changing requirements
• Inadequate Impact analysis of requirements changes
Software Project Planning
3. Management Issues
Project managers usually write the risk management
plans, and people do not wish to air their
most
weaknesses in public.
• Inadequate planning
• Inadequate visibility into actual project status
• Unclear project ownership and decision making
• Staff personality conflicts
• Unrealistic expectation
• Poor communication
Risk Management
4. Lack of knowledge
• Inadequate training
• Poor understanding of methods, tools,
and techniques
• Inadequate application domain experience
• New Technologies
• Ineffective, poorly documented or neglected
processes
Risk Management
5. Other risk categories
• Unavailability of adequate testing facilities
• Turnover of essential personnel
• Unachievable performance requirements
• Technical approaches that may not work
Risk Management
Risk Management Activities
Risk Identification
Risk Analysis
Risk
Assessment Risk Prioritization
Risk
Management Risk Management
Planning
Risk Control
Risk Monitoring
Fig. 9: Risk
Management Risk Resolution
Activities
Risk Management
Risk Assessment
Identification of risks