05. choice of methods based on situations.ppt
DESCRIPTION
05. Choice of Methods Based on Situations.pptTRANSCRIPT
Choice of methods based on situation
3rd semesterAutumn 2015
Agenda There is a lot of different methods, a method should be chosen based on the
situation and perhaps be adapted continuously
Student presentations Nos: Agile Thedor: XP
Two topics for today Decision making (Simonsen and Buelens & Poucke) Parameters for choosing methods (Boehm)
Systems development methods and decision theory
Methods are based on a specific decision theory Directions – on how to make decisions Assumptions – the relevance of information in relation to making
decisions Rationality – basic ideas concerning reasoning
By choosing a methods you choose the inherent decision theory /approach
Decision-making theoryThree classical theories Individual:
Economic man Administrative man Muddling through
Group Decision hierarchies Garbage can Prisoner's’ dilemma
Prescriptive vs. descriptive
Economic man(perfect rationality) Known goals Known alternatives Ranking of goals Optimal choice
Transitive preference structure An ideal – no possible in reality
Process: Waterfall model / plan driven / predictive Infinite development process
Product: (Total) Information systems Information overload
Economic man- reflection XP?
Your self ?
Relevant situations?
Irrelevant situations?
Administrative man(limited rationality)
Man’s limited ability to handle information Simplification of problems Cost of handling information Limited uncovering of alternatives Satisfactory choices (not optimal)
Process: Modified waterfall model / iterative and incremental
Product: Information selection and aggregation
Administrative man(limited rationality) XP?
Your self ?
Relevant situations?
Irrelevant situations?
Muddling through(searching and learning processes) Goals and means are unknown Goals adapt to the means Small steps Learning process
Process: Agile (adaptive) process
Product: Close to traditions
Tradition and transcendence
Muddling through - reflection
XP?
Your self ?
Relevant situations?
Irrelevant situations?
Decision hierarchies Individuals have limited decision capacity Stepwise solutions - reduction of complexity Framework management F = frame / V = value
VF
VF
VF
Analysis
Design
RealizationEnvironment (External)(Frames/alternatives)
Organization (internal)(Values/preferences)
Garbage can Anarchy Organizations have unclear goals and changing participants Coincidentally ‘collision’ of
Occasions Problems Solutions Participants
Prisoner’s dilemma Game theory based on incomplete information Two individuals can either cooperate or betray each other Two "rational" individuals might not cooperate
even if it appears that it is in their best interests to do so
The dilemma: Two criminals imprisoned in solitary with no means of communicating with the other If A and B each betray the other, each of them serves 2 years in prison If A betrays B but B remains silent, A will be set free and B will serve 3
years in prison (and vice versa) If A and B both remain silent, both of them will only serve 1 year in prison
(on the lesser charge)
Pursuing individual reward logically leads both of the prisoners to betray In reality, humans display a systematic bias towards cooperative behavior
Balancing agility and discipline (Boehm)Criteria's for choosing the right method
Size Number of participant
Mission’s criticality Consequences/loss due to impact of errors
Skills Level of experience
Dynamic Number of changes pr. month in %
Culture Number that thrives on chaos – numbers that thrives on order
Skill levels Level -1: They should be rapidly identified and found other work to do!!
Level 1B: Less experienced developers They can function well in performing straightforward software
development in a stable situation They will slow down an agile team trying to cope with rapid change
Level 1A: They can function well on agile or disciplined teams if there are enough
Level 2 developers to guide them
Level 2: They can function well in managing a small, known agile or disciplined project But need the guidance of Level 3 people on a large or unknown projects
Level 3: Very experienced Can manage both agile and disciplined projects
Boehm’s model
Example
Exercise Argue for why being in the periphery favours a disciplined approach Argue for why being near the centre favours an agile approach
Wouldn’t a small highly skilled development team always be rather succesful?