Software project Software project management (intro)management (intro)
STEP WISE An approach to STEP WISE An approach to planning software projectsplanning software projects
‘‘Step Wise’ - aspirationsStep Wise’ - aspirations
PracticalityPracticality tries to answer the question ‘what do I do tries to answer the question ‘what do I do
now?’now?’
Scalability Scalability useful for small project as well as largeuseful for small project as well as large
Range of applicationRange of application
Accepted techniquesAccepted techniques e.g. borrowed from PRINCE etce.g. borrowed from PRINCE etc
‘‘Step Wise’ - an overviewStep Wise’ - an overview0.Select project
1. Identify
project objectives
2. Identify projectinfrastructure
3. Analyseproject
characteristics
4. Identify products and activities
5. Estimate effort for activity
8. Review/ publicizeplan
6. Identify activityrisks
7. Allocateresources
9. Execute plan
10. Lower levelplanning
Review
Lowerleveldetail
For each activity
A project scenarioA project scenario
Hardware/software engineering company Hardware/software engineering company (C++ language of choice)(C++ language of choice)
teams are selected for individual projects - teams are selected for individual projects - some friction has been found between some friction has been found between team membersteam members
HR manager suggests psychometric HR manager suggests psychometric testing to select teamtesting to select team
Project scenario - continuedProject scenario - continued
Software package to be used to test staffSoftware package to be used to test staff
MS Access suggested as a vehicle for MS Access suggested as a vehicle for implementationimplementation
usability is important - decision to carry out usability is important - decision to carry out usability testsusability tests
Step 1 establish project scope Step 1 establish project scope and objectivesand objectives
1.1 Identify objectives and measures of 1.1 Identify objectives and measures of effectivenesseffectiveness ‘‘how do we know if we have succeeded?’how do we know if we have succeeded?’
1.2 Establish a project authority1.2 Establish a project authority ‘‘who is the boss?’who is the boss?’
1.3 Identify all stakeholders in the project 1.3 Identify all stakeholders in the project and their interestsand their interests ‘‘who will be affected/involved in the project?’who will be affected/involved in the project?’
Step 1 continuedStep 1 continued
1.4 Modify objectives in the light of 1.4 Modify objectives in the light of stakeholder analysisstakeholder analysis ‘‘do we need to do things to win over do we need to do things to win over
stakeholders?’stakeholders?’
1.5 Establish methods of communication 1.5 Establish methods of communication with all partieswith all parties ‘‘how do we keep in contact?’how do we keep in contact?’
Back to the scenarioBack to the scenario
Project authorityProject authority should be a project manager rather than should be a project manager rather than
HR manager?HR manager?
StakeholdersStakeholders project team members to complete on-line project team members to complete on-line
questionnaires: concern about results?questionnaires: concern about results?
Revision to objectivesRevision to objectives provide feedback to team members on provide feedback to team members on
resultsresults
Step 2 Establish project Step 2 Establish project infrastructureinfrastructure
2.1 Establish link between project and any 2.1 Establish link between project and any strategic planstrategic plan ‘‘why did they want the project?’why did they want the project?’
2.2 Identify installation standards and 2.2 Identify installation standards and proceduresprocedures ‘‘what standards do we have to follow?’what standards do we have to follow?’
2.3. Identify project team organization2.3. Identify project team organization ‘‘where do I fit in?’where do I fit in?’
Step 3 Analysis of project Step 3 Analysis of project characteristicscharacteristics
3.1 Distinguish the project as either 3.1 Distinguish the project as either objective or product-based.objective or product-based. Is there more than one way of achieving Is there more than one way of achieving
success?success?
3.2 Analyse other project characteristics 3.2 Analyse other project characteristics (including quality based ones)(including quality based ones) what is different about this project?what is different about this project?
Step 3 continuedStep 3 continuedIdentify high level project risksIdentify high level project risks ‘‘what could go wrong?’what could go wrong?’ ‘‘what can we do to stop it?’what can we do to stop it?’
Take into account user requirements Take into account user requirements concerning implementationconcerning implementation
Select general life cycle approachSelect general life cycle approach waterfall? Increments? Prototypes?waterfall? Increments? Prototypes?
Review overall resource estimatesReview overall resource estimates ‘‘does all this increase the cost?’does all this increase the cost?’
Back to the scenarioBack to the scenarioObjectives vs. productsObjectives vs. products use paper questionnaire then input results of use paper questionnaire then input results of
the analysis?the analysis?
Some risksSome risks team members worried about implications team members worried about implications
and do no co-operateand do no co-operate project managers unwilling to try out project managers unwilling to try out
applicationapplication design difficult to implement in MS Accessdesign difficult to implement in MS Access
Answer? - evolutionary prototype?Answer? - evolutionary prototype?
Step 4 Identify project products Step 4 Identify project products and activitiesand activities
4.1 Identify and describe project products - 4.1 Identify and describe project products - ‘what do we have to produce?’‘what do we have to produce?’
Usability testing
Change requests
Test resultsTesting
arrangementsSelected subjects
Completedquestionnaire
Questionnairedesign
Bookedmachine
Analysisreport
A product breakdown structure (PBS)
ProductsProducts
The result of an activityThe result of an activity
Could be (among other things)Could be (among other things) physical thing (‘installed pc’), physical thing (‘installed pc’), a document (‘logical data structure’)a document (‘logical data structure’) a person (‘trained user’)a person (‘trained user’) a new version of an old product (‘updated a new version of an old product (‘updated
software’)software’)
ProductsProducts
The following are NOT normally products:The following are NOT normally products: activities (e.g. ‘training’)activities (e.g. ‘training’) events (e.g. ‘interviews completed’)events (e.g. ‘interviews completed’) resources and actors (e.g. ‘software resources and actors (e.g. ‘software
developer’) - may be exceptions to thisdeveloper’) - may be exceptions to this
Products CAN BE Products CAN BE deliverabledeliverable or or intermediateintermediate
Product description (PD)Product description (PD)
Product identityProduct identity
Description - what is Description - what is it?it?
Derivation - what is it Derivation - what is it based on?based on?
Composition - what Composition - what does it contain?does it contain?
FormatFormat
Relevant standardsRelevant standards
Quality criteriaQuality criteria
Create a PD for ‘test Create a PD for ‘test data’data’
Step 4 continuedStep 4 continued
4.2 document 4.2 document generic product generic product flowsflows
Testing plan
Selectedsubjects
Questionnairedesign
Bookedmachine
Completedquestionnaire
Questionnaireanalysis
Test results
Changerequests
Step 4.3 Recognize product instancesStep 4.3 Recognize product instances
The PBS and PFD will probably have The PBS and PFD will probably have identified generic products e.g. ‘software identified generic products e.g. ‘software modules’modules’
It might be possible to identify specific It might be possible to identify specific instances e.g. ‘module A’, ‘module B’ …instances e.g. ‘module A’, ‘module B’ …
But in many cases this will have to be left But in many cases this will have to be left to later, more detailed, planningto later, more detailed, planning
4.4. Produce ideal activity 4.4. Produce ideal activity networknetwork
Identify the activities needed to create Identify the activities needed to create each product in the PFDeach product in the PFD
More than one activity might be needed to More than one activity might be needed to create a single productcreate a single product
Hint: Identify activities by verb + noun but Hint: Identify activities by verb + noun but avoid ‘produce…’ (too vague)avoid ‘produce…’ (too vague)
Draw up activity networkDraw up activity network
An ‘ideal’ activity An ‘ideal’ activity
Plantesting
Designquestionnaire
Selectsubjects
Book machine
Conducttests
Analyse results
Draft changerequests
Step 4.5 Add check-points if neededStep 4.5 Add check-points if neededDesign
module A
Designmodule B
Designsystem
Designmodule C
Codemodule A
Codemodule B
Codemodule C
Testsystem
Designmodule A
Designmodule B
Designsystem
Designmodule C
Codemodule A
Codemodule B
Codemodule C
Testsystem
Check-point
put in a check point
Step 5:Estimate effort for each Step 5:Estimate effort for each activityactivity
5.1 Carry out bottom-up estimates5.1 Carry out bottom-up estimates distinguish carefully between distinguish carefully between efforteffort and and
elapsedelapsed time time
5.2. Revise plan to create controllable 5.2. Revise plan to create controllable activitiesactivities break up very long activities into a series of break up very long activities into a series of
smaller onessmaller ones bundle up very short activities (create bundle up very short activities (create
check lists?)check lists?)
Step 6: Identify activity risksStep 6: Identify activity risks6.1.Identify and quantify risks for activities6.1.Identify and quantify risks for activities damage if risk occurs (measure in time lost or damage if risk occurs (measure in time lost or
money)money) likelihood if risk occurringlikelihood if risk occurring
6.2. Plan risk reduction and contingency 6.2. Plan risk reduction and contingency measuresmeasures risk reduction: activity to stop risk occurringrisk reduction: activity to stop risk occurring contingency: action if risk does occurcontingency: action if risk does occur
6.3 Adjust overall plans and estimates 6.3 Adjust overall plans and estimates to take account of risksto take account of risks e.g. add new activities which reduce risks e.g. add new activities which reduce risks
associated with other activities e.g. associated with other activities e.g. training, pilot trials, information gatheringtraining, pilot trials, information gathering
Step 7: Allocate resourcesStep 7: Allocate resources
7.1 Identify and allocate resources to 7.1 Identify and allocate resources to activitiesactivities
7.2 Revise plans and estimates to take 7.2 Revise plans and estimates to take into account resource constraintsinto account resource constraints e.g. staff not being available until a later datee.g. staff not being available until a later date non-project activities non-project activities
Gantt chartsGantt charts
Jean-Paul
Nita
Percy
Ali
Franz
Dylan
Week commencing
5 12 19 26MARCH APRIL
2 9 16
Design module A Des. mod B
Code module A
Code module B
Design module C Design mod D
Code module C
Code Module D
Test module C
Step 8: Review/publicise planStep 8: Review/publicise plan
8.1 Review quality aspects of project plan8.1 Review quality aspects of project plan
8.2 Document plan and obtain agreement8.2 Document plan and obtain agreement
Step 9 and 10: Execute plan Step 9 and 10: Execute plan and create lower level plansand create lower level plans