In this lecture, we are going to learn
about five values behind the XP practices and methods.
The values are simplicity,
communication, courage, feedback, and respect.
Let us learn about what each of these means.
Simplicity, the value of simplicity is all about
maximizing value by doing only what is necessary.
So basically, keeping things simple.
So Kent Beck uses the phrase,
"What is the simplest thing that could possibly work?"
Sometimes it results in controversy that everything cannot be solved by simple designs.
While it does not mean that every design has to be very, very simple,
it basically means the simplest design that could possibly work.
So don't try or engineer the solution.
So we can do that by taking smaller steps towards our goal and iterate.
The next value is communication.
The value of communication came from the realization that a lot of
issues could be resolved quickly if teams were effectively communicating.
For example, team member is stuck solving a problem,
and another team member knows the solution.
But since they are not communicating effectively or quickly enough,
issues can take longer to resolve or maybe resolved incorrectly.
So as per the XP value,
everyone is part of the team,
and they communicate face to face daily.
And team works together on everything from requirements to code.
Kent realized that effective communication is important
for creating a sense of team and effective cooperation.
The next value is courage.
The idea is about how team act in face of fear.
Are they honest in their approach and actions?
With that in mind,
here are some examples that will demonstrate this value.
We will tell the truth about the progress, so we won't hide.
We don't document excuses for failure because we plan to succeed.
And we will adapt to changes whenever they happen.
The next value is about feedback.
XP teams accept that they won't get a solution or their process right the first time.
They will need to iterate.
So to iterate and improve,
it is really important to get feedback.
So XP teams tries to generate
as much feedback as a team can handle as quickly as possible.
Now, very important thing to remember here is
that generate only the feedback the team can handle.
If they can't handle that feedback,
it is better to slow down the feedback.
Now feedback can come in many forms.
It could be the code, meaning,
are the test running?
Are they successful?
Is code solving the problem it's supposed to do?
Or it could be the feedback from the customer for the delivered software.
The last one is about respect.
It is the foundation of previous four values discussed.
If members of a team don't care about each other,
then XP won't work.
If team members don't care about the project,
nothing can save the project.
So every person whose life is touched by
software development has equal value as a human being.
No one is intrinsically worth more than anyone else.
For software development to simultaneously improve in humanity and productivity,
the contribution of each person on the team need to be respected.
So in a nutshell,
I'm important and so are you.