Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 14

Trust

Unit III
How does agile software development foster trust
among team members

• How is the development process rendered more transparent


and sensible to the developers

• How a transparent process increases trust and cooperation


among team members

• How this trustful relationship enhance ethical behavior and


diversity

• How the ethical behavior and diversity aids in the software


development process and product
Software Intangibility

• Software is intangible (not having physical presence)


– The exact development stage the process has reached
is difficult to state
– What has been accomplished by teammates is difficult
to judge
– What modules have been tested is difficult to find out
– Was refactoring carried out not is difficult to say

• Due to these it becomes difficult to build trust


How agile concepts increase project visibility making
development process more transparent
Agile Waterfall How does this enhance transparency
Concepts Methodology
Whole team The entire team was All team members sit in one space. The
distributed into communication is more transparent
separate teams like Status of previous day tasks are posted on the
testers, designers. walls.
No daily stand up In Daily stand up meetings, each and every
meetings task status is reviewed
Short releases No Short releases Business day activities like Customer
presentation, Reflection, balanced workload
in planning, measures taken are discussed
(attended by all team members) which
ensures transparency.
Time Done once during TMs do the estimation. This increases TM’s
Estimations the beginning of the responsibility and enhances process
development transparency
How agile concepts increase project visibility making
development process more transparent
Agile Waterfall How does this enhance transparency
Concepts Methodology
Measures Done once Measures are essential part of development
during the process which increase the transparency of
beginning of the development process
development
Customer Only at the end All TMs have access to the customer during entire
Involvement of the project development process. This direct communication
ensures process transparency as well as the
requirements are communicated correctly.

Testing Done by testers It is an integral part of software development


process and tests are executed by developers.
Acceptance tests defined by customer outline how
each function should be tested.
Pair This process was This implies that all team members become
Programming not followed familiar with all parts of the software.
Game Theory Perspective in Software Development

• Game theory is a branch of mathematics which deals with


the analysis of strategies for dealing with competitive
situations where outcome of a participant’s choice of action
depends critically on the action of other participants. This is
applied to war, business, biology etc.
• In simple words it is a study of interactive decision making,
where outcome for each player depends on the action of all.
• Participants wish to maximize profit by choosing some
actions. Also each player’s profit depends on the actions
chosen by other players
Prisoner’s Dilemma

• It is a game theory framework that illustrates how a lack of


trust leads people to compete with one another, even in
situations in which they might gain more from cooperation.
• A does not know how B will behave and B will not know how
A will behave as they are unable to communicate with each
other. Prisoner A does not know how B will behave then in
either case, if A betrays it would be in his favor.

B Stays Silent B betrays


A Stays Silent A & B get a sentence B will be free
of 1 year or less A gets jailed for 3
years
A betrays A will be free B and A gets jailed for
B gets jailed for 3 2 years
years
Prisoner’s Dilemma

• People tend to compete instead of to cooperate. This arises


as the partner’s behavior is unknown. Also the partner does
not trust the individual. Hence both parties choose to
compete / betray.
• In Agile software development
– Cooperation ~ information sharing
– competition / betrayal ~ information hiding.

B Cooperates B competes
A cooperates A gets 50% B will get 70%
B gets 50% bonus A will get 30%
A competes A will get 70% B and A get 0% as
B will get 30% task is not completed
Prisoner’s Dilemma

• The main difference lies in the cell in which both the players
compete. In the original table, the outcome is better for both
players when they compete than when the player cooperates
and opponent compete.
• In software development the competition-competition is
worst for both team members. Partial cooperation by one
team member is better than no cooperation at all.
• If the development process is not transparent, then
cooperation cannot be guranteed. This would be worst for all
the team members
How Agile practices lead to cooperation and trust

• TDD:
– Cooperation ~ All team members test their code and it does not fail.
– Competition ~ all team members do not verify that their code is fully tested
• Driven by the practice of TDD, team members are committed to verifying their
code fully. There is no competition among team members
• Refactoring:
– Cooperation~ All team members stop development tasks and do refactoring
– Competition~ All team members do not pay attention to code readability and
invest time on refactoring
• The unknown behavior which is the source of prisoner’s dilemma ceases to exist
due to the fact that they are guided by the agile practice of refactoring
• Hence practice of refactoring yields better results for all team members.
Ethics in Agile Teams

• ACM/IEEE-CS Joint Task Force define the Software Engineering Code of Ethics and
Professional Practice.
• Short Version: Software Engineers should adhere to the following 8 principles:
– Public: Software engineers shall act consistently with public interest
– Client and Employer – Software engineers will act in a manner that is in the best
interests of their client and employer consistent with the public interest.
– Product – Software engineers shall ensure that their products and related
modifications shall meet the highest professional standards possible
– Judgment – Software engineers shall maintain integrity and independence in
their professional judgment.
– Management – Software engineering managers and leaders shall subscribe to
and promote an ethical approach to management of software development and
maintenance
– Profession – Software engineers shall advance the integrity and reputation of
the profession consistent with public interest
– Colleagues – Software engineers shall be fair and supportive of their colleagues.
– Self – Software engineers shall participate in lifelong learning process.
Diversity
• It is defined as variety or the state of being diverse. It can be expressed in
terms of nationality, worldviews, genders, minorities, cultures and lifestyles.
– Usually there is resistance to diversity as people do not trust others who are not like
them
– Optimal diversity for creative thinking
– Diversity can thrive because of transparency in agile software development
methodology

• Diversity is enhanced in Agile teams


– Role Scheme – enables team members to express their views of software development
processes and influence it
– All project stakeholders participate in planning and reflective sessions
– Diversity is expressed in practice by bringing together team people with different
perspectives
Benefits of Diversity in teams
• More diverse perspectives are elicited
• Developed product is improved because of different
perspectives in development
• Creation process is questioned
• Diversity reduces resistance to new ideas and establishes
alternatives
• As companies become global, diversity is integral
characteristic of software teams
Summary
• Cooperation, ethics and diversity under the
notion of trust.
• How agile software development increases trust
by establishing a transparent development
process.
• As agile software development fosters a trustful
atmosphere, co-operation, ethical behavior, and
diversity can be fostered, flourish and contribute
to the development process and product.

You might also like