Permalink
Browse files

Fix minor spelling mistakes and minor formatting errors

  • Loading branch information...
philiplarsson committed May 24, 2017
1 parent 56ca9c5 commit a6d416363b8a0ea8a4e96566681666a30a28e36a
@@ -4,5 +4,5 @@ Summaries of lecture slides
References
==========
* [Slides from lectures 1-6](http://cs.lth.se/english/course/etsf01-software-engineering-process-economy-and-quality/lectures/) in ETSF01.
* [Slides from lectures 1-6](http://cs.lth.se/etsf01/lectures/) in ETSF01.
* Software Project Management 5th edition, Hughes and Cotterell, McGraw-Hill.
@@ -1,10 +1,10 @@
#L1: Introduction & Risk Management
# L1: Introduction & Risk Management
##Projects, PROJECTS?!
## Projects, PROJECTS?!
Unlike jobs, which is a repetition of well-defined and well understood tasks,
a project is more explorative and is temporary (meaning it has an end).
###What is project Management?
### What is project Management?
* Planning - deciding what is to be done
* Organizing – making arrangements
* Staffing – selecting the right people for the job
@@ -15,26 +15,26 @@ a project is more explorative and is temporary (meaning it has an end).
* Representing – liaising with clients, users, developers
and other stakeholders
###Software Projects vs Other Engineering Project
### Software Projects vs Other Engineering Project
No difference except for:
* Invisibility
* Complexity
* Conformity to "laws of the nature"
* Flexibility
###Projects - General
### Projects - General
The measurement of a projects success or failure is the degree to which objectives are met.
An example would be a project running out of time, which could be recovered by:
A. Reducing the scope of the project. which would in turn reduce the lead time (total time for the project from start to finish)
B. Increasing the costs/spent effort by adding more resources to the resource pool
On average, a software project costs 30% more than planned.
1/6 of IT projects are 'black swans' meaning it costs 200% more than planned and takes 70% more time than planned.
###Software Project Management - Main Areas
### Software Project Management - Main Areas
* Activity planning
* Effort estimation
* Risk management
@@ -1,18 +1,18 @@
#Risk Management
# Risk Management
> A risk is a potential problem; a problem is a risk that has materialized
[Fairley 1994]
##What can go wrong?
## What can go wrong?
* Staff turn-around: quit, moved to other project, illness
* Tools do not work as anticipated
* Requirements change more than expected
* Effort estimates were wrong
* Expected input/deliveries are delayed
* Quality is not good enough in the end of the project
##What is risk?
## What is risk?
"An uncertain event or condition that, if it occurs, has a positive or negative effect on a project's objective"
It consists of both a **cause** and an **effect**
For example:
@@ -23,19 +23,19 @@
- Low top management priority in Project A (**cause**)
* Resources (staff) moved from project A to another project (**effect**)
###Risky commitments - Overscoping
### Risky commitments - Overscoping
The main risk of overscoping is that the project target (scope)
will not be met in *time* and on budget (*cost/effort*).
* The traditional dev model (waterfall) - sequential & doc-driven
* "*overpromise* software capabilities in cortractually binding requirements
* "*over promise* software capabilities in contractually binding requirements
specification before they *understand* their risk implications."
* Agile dev model (XP/Scrum) - iterative & code driven
* "... neat ideas... I'll code 'em up, and if they *don't fit* other
peoples ideas, we'll just evolve things until they work."
###Risk Management
### Risk Management
* Risk Assessment
- Identification (What might go wrong?)
@@ -66,9 +66,9 @@ will not be met in *time* and on budget (*cost/effort*).
Risk exposure = Potential Damage * Probability
* Not neccesary nor possible to give exact estimates: Qualitative descriptors
* Not necessary nor possible to give exact estimates: Qualitative descriptors
, e.g High, Significant, Moderate and Low.
* Pripritizethe worst risks (high probability and large damage)
* Prioritize worst risks (high probability and large damage)
##### METHOD: Cost-Probability Matrix
@@ -92,7 +92,7 @@ The worst risks are indicated by X'es since they both have a high cost and proba
##### METHOD: Decision Tree
In this scenario we ponder on wether or not to extend or replace a system.
In this scenario we ponder on whether or not to extend or replace a system.
The outcome of this depends on if the market expands or not.
If we extend the system and the market expands we lose -100.000$, if it doesn't expand
we will gain 75.000$.
@@ -163,7 +163,7 @@ RRL > 1.00 *therefore worth doing*
**PERT = Program Evaluation and Review Technique**
**PERT - A statistical tool for analysing completion time**
**PERT - A statistical tool for analyzing completion time**
##### Method
Three estimates are produced for each activity (task)
@@ -175,7 +175,7 @@ Three estimates are produced for each activity (task)
* (S) 'activity standard deviation' S = (b-a)/6
##### Calculations
Suppose the dependecies are as such:
Suppose the dependencies are as such:
```
______ ______ ______
|TASK A| -> |TASK B| -> |TASK C|
@@ -3,7 +3,7 @@
> Time is natures way of stopping everything happening at once.
## The objectives of activity planning
- Feasability assessment
- Feasibility assessment
* Is the project possible within the required timescales and resources?
- Resource allocation
* What are the most effective ways of allocating resources? When should
@@ -14,7 +14,7 @@
- Motivation
* Providing targets and monitoring progress can motivate staff.
- Coordination
* When do the staff need to be transfered between projects to increase
* When do the staff need to be transferred between projects to increase
efficiency?
## Activity networks
@@ -28,7 +28,7 @@
|____|
```
Activity networks can be used to assess the feasability of the projects completion
Activity networks can be used to assess the feasibility of the projects completion
date, identify when resources are needed, calculate when costs incur, and to coordinate
the staff between tasks.
@@ -49,14 +49,14 @@
* Creating a list of all the activities that the project needs. Can be done by creating
a **Work Breakdown Structure** (WBS, filled with verbs). This involves identifying the main tasks that are
needed for the project and then breaking them down into lower-level tasks. Too great depth
will result in a large number of small tasks that will be diffcult to manage. Too shallow
will result in a large number of small tasks that will be difficult to manage. Too shallow
project provides insufficient detail.
- Product-based approach
* Consists of producing a **Product Breakdown Structure** (PBS, filled with nouns) and a **Product Flow Diagram** (PFD).
The PFD idicates for each product which other products are required as inputs. With the help of a
The PFD indicates for each product which other products are required as inputs. With the help of a
PFD you can easily create an ordered list of activities by identifying the order of products and
which acitivies are needed for them.
which activities needed for them.
- Hybrid approach
* The hybrid approach is a mix of both. Instead of creating a WBS that is based on the projects
@@ -92,7 +92,7 @@
\|____|/
```
Lagged acitivites are dependent on other activities but are initiated with a lag. In the above
Lagged activities are dependent on other activities but are initiated with a lag. In the above
example, the second-row activity is started 1 day after the dependent activity and completed
2 days after the dependent activity has completed.
@@ -56,7 +56,7 @@ resulterar i sämre kvalitet som sedan visas i __testning__ eller senare faser.*
## When & Why
* Strategic planning
* Feasability study
* Feasibility study
* Requirements spec
* Evaluation of suppliers' proposals
* Project planning
@@ -68,7 +68,6 @@ resulterar i sämre kvalitet som sedan visas i __testning__ eller senare faser.*
* People
* Skills, competence and experience
* Co-operation & communication
* ... (srsly wtf, why the dots here grrl?)
## Bottom-up versus top-down estimation
@@ -150,7 +149,7 @@ FP = UFP * "technical complexity factor"
* *External output types* - transactions where data is output to the user
* *External inquiry types* - transactions initiated by the user, which provide
information but do not update internal files
* *Logical internal file types* - are the standing files (or datastore) used
* *Logical internal file types* - are the standing files (or data store) used
by the system.
* *External interface file types* - allow for output and input that may pass
to and from other computer applications
@@ -192,7 +191,7 @@ corresponding magical constant.
## Expert judgement
Ask an important looking person to pull a suitable guesstimation out of his
pocket. Research show that expert judgement in practice often is based on
pocket. Research show that expert judgment in practice often is based on
*analogy*.[citation needed]
How to? First, find the right people (people with experience from similar
@@ -8,7 +8,7 @@
* Estimate cost/effort based on historical data
* Monitor project progress & risks
* Software quality – product quality status
* SW process improvement – process efficency & quality
* SW process improvement – process efficiency & quality
All of these require decision support!
@@ -27,7 +27,7 @@ All of these require decision support!
* Price of software components
* Experience of staff
## Objective or subjective measurments
## Objective or subjective measurements
* Objective
* Lines of code
* Actual implementation time – source: reporting system
@@ -80,7 +80,7 @@ while the coach is responsible for developing individual and team performance.
1. Evaluation of current practices
1. Planning for improvements
1. Imlementing improvements
1. Implementing improvements
1. Evaluation of effects
## The Deming Cycle - PDSA
@@ -161,7 +161,7 @@ __Measuring__: Lead time, customer satisfaction, cost per customer, competence
level etc
__Analyze__: root cause analysis, "5 Why?", identify improvement
__Improve__: implement
__Control__: remeasure, continously assess
__Control__: remeasure, continuously assess
##### Retrospective Analysis
* Consider the past in order to identify problems and improvements - individual,
@@ -171,7 +171,7 @@ __Control__: remeasure, continously assess
* Sprint (iteration) retrospectives
* **Benefits**: Team learning & improvements, widen perspectives & insight into
bigger picture
* **Challanges**: taking the time together, remembering (correctly and uniformly),
* **Challenges**: taking the time together, remembering (correctly and uniformly),
risk of incorrect conclusion for pure experience based retros
__Evidence-Based Timeline Retrospectives__
@@ -222,7 +222,7 @@ their production practices. These levels are defined as follows.
* **Level 2** *Managed (Repeatable, in slides)*: Organizations at this level
will have basic project management procedures in place. The way, however,
individual tasks are carried out will depend largely on the person doing it.
* Policies for managing software projecs are implemented
* Policies for managing software projects are implemented
* Realistic commitments
* Capability: disciplined, earlier successes can be repeated
@@ -238,7 +238,7 @@ their production practices. These levels are defined as follows.
* A typical process for developing and maintaining software in the
organisation is defined
* A Software Engineering Process Group (SEPG) is defined
* Capabilitiy: standard and consistent - both software engineering and
* Capability: standard and consistent - both software engineering and
management are stable and repeatable
__Key Process Areas__
@@ -278,18 +278,18 @@ recommend specific actions to bring the organization up to a higher level.
* Each process area contains goals and practices
* Two types of models
* Staged: grades the overall development process
* Continous: grades each process area
* Continuous: grades each process area
### SPICE
Software Process Improvement Capability dEtermination model
Software Process Improvement Capability Determination model
* Developed from CMM
* Parts of SPICE defined as ISO standard
* Consists of:
* Process dimension: assessment per process area
* Capability dimension: how processes are impl and managed
* Particularly appropriate for small organisations (ability to focus on process
* Particularly appropriate for small organizations (ability to focus on process
areas)
## Process Modelling
@@ -66,9 +66,9 @@ Used to, visualize workflow, limit work-in-progress, pull work from column to co
* XP: changes allowed
### Activity planning
* Product Owner/Customer defines and prioritises User stories
* Product Owner/Customer defines and prioritizes User stories
* Backlog or Story card management
* Dependencies are built into the prioritised list, i.e. not explicitly marked
* Dependencies are built into the prioritized list, i.e. not explicitly marked
### Effort estimation
* Early estimates during exploration phase
@@ -84,7 +84,7 @@ Used to, visualize workflow, limit work-in-progress, pull work from column to co
### Risk management
* Built into the process, e.g. stand-up meetings: Hindrances?
* Transparency, openess with information
* Transparency, openness with information
* Iteration demos with customer / product owner
Traditional risk management techniques can be used, but not prescribed by Agile methods as such.
@@ -102,7 +102,7 @@ Traditional risk management techniques can be used, but not prescribed by Agile
### Scaling agile
* Designed for small scale – 1 team
* Scalable with Scrum-of–Scrums, shared backlog
* Upscaling specific to each organisation
* Upscaling specific to each organization
```
____
@@ -33,8 +33,8 @@ Performed after activities, effort, and risks have been identified.
### Allocation step by step
1. Identify resources needed and create a resource requirements list.
2. Identify resource types, resources within a group are interchangeble, and resources between groups are not.
3. Allocate resource types to activites, and examine each resource type histogram.
2. Identify resource types, resources within a group are interchangeable, and resources between groups are not.
3. Allocate resource types to activities, and examine each resource type histogram.
4. If resources needed exceeds the available resources at some time, perform resource smoothing.
* Resource histograms, where the first is before resource smoothing. Available resources are the dotted line,
@@ -82,7 +82,7 @@ When prioritizing between two competing activities, there are two ways of doing
### Resource usage
Need to...
* maximise %usage of resources = reduce idle periods between tasks.
* maximize %usage of resources = reduce idle periods between tasks.
* balance costs against early completion date.
* allow for contingency.
@@ -98,7 +98,7 @@ scope / \ effort
### Critical chains
When performing resource scheduling, new dependencies may be created, which may lead to additional/new critical chains.
Avoid adding dependencies to the activity network to reflect resource constraints. This avoids messiness and a
resource constraint may dissappear during the project, but the dependency will remain visually.
resource constraint may disappear during the project, but the dependency will remain visually.
Instead, amend dates on schedule to reflect resource constraints.
Eventually, actual individuals will have to replace the resource types for tasks.
@@ -99,7 +99,7 @@ of the project, and a line displaying the actual progress.
| 7 | \_.
```
The dots represent the ideal veolocity, the lines the actual.
The dots represent the ideal velocity, the lines the actual.
* Fever chart (critical chain). The upper part indicates
that the project most likely will be late, the lower part
@@ -214,5 +214,5 @@ impact should be considered including testing, long-term maintenance etc
**decides to proceed or not**
5. RFC and its impact discussed with all stakeholders, typically at a
**change control board meeting** where RFC is approved or rejected.
6. .... Varied process for implementating change. Should involve
6. .... Varied process for implementing change. Should involve
**communication** and **tracking of results**
Oops, something went wrong.

0 comments on commit a6d4163

Please sign in to comment.