This document discusses various aspects of decision making including:
- The process of examining options and choosing a course of action. Decisions can be structured/routine or unstructured/complex.
- Factors like risk, uncertainty, intuition, and biases must be considered.
- Decisions can be made individually or collectively in groups, each with benefits and drawbacks. Expert opinion and consensus building techniques are other approaches.
- Software development methodologies like egoless programming, chief programmer teams, and scrum aim to facilitate collective decision making.
2. The process of examining your possibilities
options, comparing them, and choosing a
course of action.
Process of making a conscious choice between
2 or more alternatives producing most
desirable consequences (benefits) relative to
unwanted consequences (costs).
3. Structured : Simple, routine decisions where
rules can be applied in straight forward way.
Unstructured : More Complex and often
require degree of creativity.
Example : Structured-Which Chocolate to
buy with the given money that we have?
Example : Unstructured – Dealing with
Labour strike in an industry.
4. Amount of Risk Involved in the decision.
Uncertainty that is involved in the decision.
Example : Risky – Entrepreneurs starting up
new business with their own finance (from
property sold)
Example : Uncertainty –Investing in share
market for returns.
5. Many a time we have to use out intuition to
take decisions. But there can be some mental
blocks:
Heuristics (rules of thumb) can be useful until:
Faulty Heuristic : based on info on hand so it
can be misleading.
Based on stereotype decision, eg:believing
that somebody is worthless just because of
not getting good marks.
6. Escalation of Commitment : Once you
decided on something you tend not to
change it even when there is a proof that it is
wrong.
Information Overload : you have so much of
info on hand that you will not be able to
decide anything.
7. Decisions made by a
team is more accepted
that those imposed.
Complex problem
solving is easy in a
group.
Brainstorming may be
done.
8. Time consuming.
Conflicts can stir up.
Decisions influenced by dominating people in
group.
People tend to modify their personal
judgement just to conform to group norms.
Sometimes people take decisions that are
more risky in groups than as individuals.This
is known as risky shift.
9. Problem is presented to experts.
Cooperation of a number of experts.
Experts record their recommendations.
These recommendations are collated and
reproduced.
Responses are re-circulated.
Experts comment on the ideas of others and
may change their recommendations.
If the leader detects an agreement that is arrived
generically then the process is stopped.
10. Group members are aware of activities of
others that contribute to overall group
success.
‘Collective Mind’ comes from:
Shared understanding
Familiarity
Good communication.
Applications : Egoless programming, Chief
Programmer teams and Scrum.
11. Programmers become over protective of their
coded modules and do not share them.
GeraldWeinberg introduced the concept of ‘peer
code reviews’ which made the codes as a
common property.(egoless)
Example: At apple differentVPs had differences
between them. But Steve jobs made sure that
they ditched their differences because
innovative products can not be made withVPs
who do not cooperate with each other.
12. Larger the development team
Lesser is the work done due to
Interaction.
Brooks suggestion : reduce
Team size and improve training
and productivity. Result was Chief ProgrammerTeam.
The Chief Programmer defines the specification,
designs, codes, tests and documents the software.
Co- Pilot for assistance
Editor for documentation
13. Program Clerk to maintain actual code
Tester for testing the code
Example :The Director of a film defines the
role to be done by the hero in the movie.
14. Extreme Programming promotes ‘Collective
Mind’.
Refactors (rewrites) the code according to
current standard to make the code clearly
convey the system.
Example:Windows Update.
15. The name comes from Rugby scrums where
team members push to achieve the goal.
Scrum is an iterative and incrementalAgile
software development framework for
managing software projects and product or
application development.
A process that focuses on delivering the
highest business value in the shortest time.
16. A short period of time during which specific
work has to be completed.(1 to 4 weeks)
Sprints are carried out by groups with 7 to
10 developers.
Progress of sprints is marked by small
meetings each day.
Example of Scrum: Swift Dzire car was
manufactured soon after the release of Swift
due to space constraint reasons reported by
customers.