Flashcards in Project Management: Procedure and Process Models, etc Deck (46):
What is the difference between a process model and a procedure model?
A process model is the procedure model + organisational structure (documentation, etc)
What are the procedure models?
What are the process models?
phase model, V-modell XT, agile (extreme programming, scrum)
Describe the waterfall model?
Software development is seen as a sequence of activities coupled by (partial) results (documents). These activities can be conducted concurrently or iteratively. Sequence: analyse, specify, design, code, test, install, maintain.
a problem, which did not occur yet, but on occurrence threatens important
project goals or results. Whether it will occur, cannot be surely predicted. Equation: risk value = prob of risk * cost if occurs
Describe the Spiral Model procedure
Idea: do not plan everything ahead, go step-by-step. Repeat until end of project:
1. determine set R of risks (if R is empty, project is done)
2. assign each risk r, a risk value v(r)
3. for the risk r with the highest risk value, find a way to eliminate this risk (if not possible, stop with project failure)
What are the advantages of the spiral model?
know early if the project goal is unreachable, know that biggest risks are always eliminated
What are the four parts of the spiral model diagram?
upper left: investigate goals/alternatives/side conditions,
upper right: conduct risk analysis,
lower right: develop and test next product part,
lower left: plan next phase
What is the difference between linear and non-linear procedure models?
linear = waterfall model (no feedback), non-linear = everything else
What are the different classifications by treatment of software artefacts?
prototyping, evolutionary, iterative, incremental, staircase (piped incremental)
Describe prototyping treatment of software artefacts
create "early release/version" of software to test and develop requirements for actual software based on this
Describe evolutionary treatment of software artefacts
Linear set of iterations which produce the software after last iteration (or return to requirements). Each iteration includes field testing, after which the next iteration is planned.
Describe iterative treatment of software artefacts
Plan out each iteration (specifications for each iteration) at the beginning. Then conduct each iteration in order. Each iteration includes analyse, design, code, test.
Describe incremental treatment of software artefacts
The total extension of a system under development remains
open; it is realised in stages of expansion. The first stage is the core system. Each expansion of features is a separate project which produces a software product.
Describe staircase treatment of software artefacts
List examples of what a process model may include
procedure model, responsibilities, roles, structure of documents, methods to be used to get requirements, tools to be used, notations
Definition of a procedure model
steps to be conducted during development,
their sequential arrangement,
When is a process model too light?
if it doesn’t support you in doing things which are useful and necessary for your project
When is a process model too heavy?
if it forces you to do things which are neither necessary nor useful for your project
What is the phase model?
The project is planned by phases,
delimited by well-defined milestones. Used for small projects (few software people, small product size)
What are the steps of the V-Modell?
Layers (arrow means verification and validation):
1. requirements fixed acceptance
2. system specified system delivered
3. architecture designed system integrated
4. modules designed system realized
What are the project types of the V-Modell?
AG: project from perspective of customer
AN: project from perspective of developer
AG/AN: customer/developer from same organisation
PM: introduction/improvement of a process model
Which three strategies does the V-Modell support?
1. incremental (one trace through the V is one increment)
2. component-based (loop through upper part of V until all components of system are created)
3. prototypical (zigzag down the V fully developing an early release )
What are the advantages and disadvantages of the V-Modell?
Advantages: includes management activities, generic with support for tailoring, comprehensive so low risk of forgetting anything
Disadvantages: too comprehensive, too many useless documents
Describe the Agile Manifesto
1. individuals/interactions over processes/tools
2. working software over comprehensive documentation
3. customer collaboration over contract negotiation
4. responding to change over following a plan
Name two examples of agile principles
1. welcome changing requirements, even late in development
2. deliver working software frequently
Describe Agile Process Models generally
- iterative with cycles lasting up to 3 months
- work in small groups (6-8 people)
- don't focus on comprehensive documentation
- recommend or request customer's presence in project
What are extreme programming (XP) values and practices?
Values: simplicity, feedback, communication, courage, respect
Practices: stand-up meetings, continuous integration, joint responsability for code on team, test driven development
What are the roles of Scrum? Difference to XP?
Role-based without requiring techniques like XP. Roles:
1. product owner (representative of customer)
2. scrum team (develop autonomously)
3. scrum master (moderates daily scrum, maintaines product backlog)
What are important components of Scrum process?
1. daily scrum
2. sprint (max 30 days)
3. sprint review (product owner accepts results)
4. sprint retrospective (how well did scrum work?)
Why use process metrics?
quality of production influences product quality
What is the CMMI process metric?
Five levels used to assess a company's software development process: initial, managed, defined, quantitatively managed, optimising.. Example: did the company analyse requirements in some way?
What are the process metrics?
CMMI, SPICE (similar to CMMI)
Characteristics of a software project
duration is limited, has an originator, has a purpose, has a recipient, links people, results, and resources
What defines a successful project?
delivers defined results, with demanded quality, within scheduled time, using assigned resources
What are the main project management activities?
planning, assessment and control, recognizing and fighting difficulties, communication, leading/motivating employees, creation/preservation of good working environment for developers
Relationship between phases and milestones?
A phase is a continuous, i.e. not interrupted range of time in which certain works are
carried out and completed. At the end of each phase, there is a milestone.
Roles and people
In a software project at given time, there is set of active roles. Each role has responsabilities, rights, required skills. Task of project manager: assign a set of people to each role
Examples of roles
customer, user, project manager, systems analyst, software architect, developer, maintenance engineer
Definition of software development process?
The process by which user needs are translated into a software product.
The process involves translating user needs into software requirements,
transforming the software requirements into design,
implementing the design in code, testing the code, and
sometimes, installing and checking out the software for operational use.
What are the definitions of role, artefact, activity, decision point?
role: has responsibilities/rights, needs skills/capabilities .
artefact: all products emerging DURING development prcess
activity: any processing of artefacts.
decision point: special case of activity -- decision is made based on artefacts, corresponds to milestone.
What are "process building blocks"?
combinations of roles, artefacts, decision points, and activities. relations: responsibility, dependency, creation/modification
definition of software life cycle?
The period of time that begins when a software product is conceived
and ends when the software is no longer available for use
definition of software development cycle?
The period of time that begins with the decision to
develop a software product and ends when the software is delivered
What is the "code and fix" procedure model and pros and cons?
denotes an approach, where coding and correction alternating with
ad-hoc tests are the only consciously conducted activities of software development. Pros: solves problems quickly, activities are easy. Cons: hard to plan project, hard to assign work to people, no notion of correctness if requirements not stated, tests lack expected outcome, maintenance is difficult, documentation is not complete.