18
Agile and a Cookbook Agile Day Riga May 23, 2015 Alexey Luchko luch @ ldn.lv

Agile and a cookbook

Embed Size (px)

Citation preview

Page 1: Agile and a cookbook

Agile and a Cookbook

Agile Day RigaMay 23, 2015

Alexey Luchkoluch @ ldn.lv

Page 2: Agile and a cookbook

Once upon a timeOnce upon a time there were ... neither internet and computers ... nor even wheels. Not to mention agile methodology.

How could it come we got all the stuff we are used to. Let's say books. We are used to books, aren't we?...

Undoubtedly tribes and nations could survive long long time while sharing knowledge orally or by demonstration. But it is very limited in space and time. Somehow, people naturally got necessity to share knowledge. And they were using different medias -- rock art, сlay tablets, bamboo codexes, papyrus, fabric scrolls and many others. And evolution of every civilisation faces the problem to share knowledge efficiently in many aspects -- material and time costs, size of audience, etc. This was forcing to enhance knowledge sharing technology. And in 19th century western civilisation got steam powered printing presses. In 20th century we've got mass printed books, newspapers and illustrated comics, as well as radio and TV. And recently we've got wireless and mobile internet full of social networks, etc, etc.

The same was happening all around us. There were times when wheels were not commonly known to people, and times when wheels were massive and ineffective, and times when wheels expensive and luxurious. But constant necessity to move ourselves and things around was forcing us to enhance wheels. So we've got BMWs and Teslas.

We are usually attributing all of these achievements to the Science.

Page 3: Agile and a cookbook

Scientific researchIt existed even when there was no the Science itself.

We could name it a common sense, just to remember it is not so common.

It requires keeping focus on the process, being patient and active at the very same moment.

One could say it also requires knowledge and experience to start with.

An objection could be that experience is something you got right after you were in need for

that. And knowledge, often, possesses the same property.

Usually, these two parts of every iteration are called a hypothesis and an experiment!

Page 4: Agile and a cookbook

A hypothesis and an experiment!Modern science is easy, You see!

The hard candy is to keep attention and patience.

However, the Science. What is it? When did it start?

Page 5: Agile and a cookbook

The originsThe man on the slide is Alexander A. Stepanov -- a programmer and a computer scientist. He is the primary designer and implementer of the C++ Standard Template Library and co-author of Elements of Programming book, as well as a lector. At present he works for A9.com. Recently, he was giving a set of courses for his colleagues that he called Four Algorithmic Journeys.

He states that there are two basic marks of civilized society — taxes and calendar. Quoting

Alexander:

● No taxation — no civilization.● There is no civilization without mathematics.

Taxes and calendar, both require number system. And, obviously, there is a demand to save and share calendar and information on taxes. You know, people often complain being asked to pay taxes twice. But number system determine the way we count, not just how we write numbers. In other words number systems is a set of algorithms how to count.

Page 6: Agile and a cookbook

Ahmes papyrusI'll follow A.Stepanov with a reference to the Ahmes papyrus dated around 1800 BC.

The most ancient number system we know originated in Egypt. Not a surprise it was sign-value notation or non-positional notation.The surprise is that it describes multiplication in a way that nowadays we know as fast multiplication algorithm.

Multiplication is hard, specially when you are not using positional notation. Of course, it is possible to use multiple additions in place of multiplication, but it is obviously very slow and produces much more errors. Clearly, there was a demand for a better multiplication algorithm.

Page 7: Agile and a cookbook

Rough periods of european Science

● Ancient Egypt (3100BC — 332BC)● Ancient Greece (1200BC — 146BC)● Ancient Rome (753BC — 476AD)

● Modern history

Bits of historyOne of most vital sciences to egyptians had been geometry. It was used to keep the land properties around the Nile river during centuries. Egypt had already existed for around 2000 years and then greeks came to the scene. Greeks were learning from egyptians for centuries, and superseded them. And long after learning they invaded Egypt.

Greeks achievements are following. They were first who got a concept of a theorem and a proof. We refer Ancient Greece as a source of modern Science.The tradition starts with Thales of Miletus (c. 624 – c. 546 BC) who formulated the first theorem and a proof. Among other things, he also predicted solar eclipse and discovered static electricity. Then come Pythagoras of Samos and more of famous greeks mathematicians. Just to name some of them — Plato, Aristotle, Archimedes of Syracuse, Euclid of Alexandria and Eratosthenes of Cyrene.

Rome invaded Greeks and then started learning from them. And Rome did not supersede Greeks, just used their knowledge. Rome built roads, water supplies et cetera. Romans were engineers, not scientists. They were focused on results, not the way getting them. Notable fact is that roman copies of greek books had removed the proofs from mathematical books. After almost a millennium of invading greeks, Roman Empire had broken.

The space on the slide is another millennium called Middle Ages. Among other things, Middle Ages are famous for Inquisition and Renaissance. Renaissance beginning matches the fall of Byzantine Empire. It is the time when the Science started to resurrect. It took time. But also formed the scientific tradition.

Page 8: Agile and a cookbook

Aristotle384 BC - 322 BC

Sir Francis Bacon1561 - 1626

Aristotle and Francis BaconThese are two noble men who formed methods of reasoning behind modern science.

The first one is Aristotle, a greek philosopher. He was studying many things. And among them was study reasoning as a subject itself. And his work Organon is the earliest study of formal logic.

The other person is Francis Bacon, an english philosopher of the Renaissance. He made work on heirs of Aristotle and applied it to the Science. He is often considered "the Father of the Experimental Philosophy".

Page 9: Agile and a cookbook

Novum Organum (1620)Bacon Following Aristotle named his work Novum Organum that became a basis for modern empirical sciences based on experiments at the first place.

The meaning of the word Organon is an instrument, a tool, an organ. Bacon emphasised the use of artificial experiments as a tool to provide additional observances of a phenomenon. It resembles what we call now Scientific method.

Page 10: Agile and a cookbook

Scientific methodThe scientific method proposed by Francis Bacon starts with an observation.

An observation is a source of interesting questions. Then a hypothesis needs to be formulated and some predictions on results made.An experiment is required to check predictions. Core of an experiment is observation, the goal is gathering data to verify the hypothesis.Evaluating results of the observation the hypothesis gets verified.

We could find the hypothesis was right or wrong, or the experiment was incorrect. Never the less, there is no bad outcome. Failure or success, both are a source of knowledge.

One more note. Scientific method is iterative in its core. The verification is a series of experiments, the goal is a proof. The ultimate goal is evolution of knowledge based on real experience.

Page 11: Agile and a cookbook

The PDCA conceptIn early 19th century mass production started spreading around. That resulted in a demand for relevant management processes. The PDCA concept appeared an application of scientific method to mass production processes.

In 1931 Dr Walter Shewhart published his work Economic Control of Quality of Manufactured Product developed PDCA concept. Later, PDCA was promoted by Dr W. Edwards Deming. He changed Check to Study as it better reflected what he was meaning with it.

PDCA could be regarded as scientific approach for mere humans. Nowadays, we talk about Agile Methodology and its flavours.

Page 12: Agile and a cookbook

DemandThere should be something that makes us think of changes, of using Agile.

The demand is to be more effective and to have competitive advantage in some field. Learning from own errors give us the advantage.

The other way to get the advantage is to get some knowledge from others. We've got books on agile.

Page 13: Agile and a cookbook

A BookWe take a book to get introduced.

However, just reading books on medicine will not make you a doctor, books on politics -- a politician. The same is true for most activities, and Agile as well.

Page 14: Agile and a cookbook

PDCA vs PDCHECK and ACT look like just PLAN and DO, aren't they similar?

The demand for efficiency comes along with eager to become efficient ASAP. And we forget the Science took centuries to appear.

When we start with Agile in any flavour we take a book and try to follow literally. It looks like programming by Google search. We are not interested in some details. There are too much of them. We get a hangover when we miss some of them. And, eventually, it does not work for us.

We start to PLAN and DO and forget to CHECK and ACT.If a scientist gets a hypothesis and makes an experiment, but forgets to make no evaluation, there is no outcome and, effectively, no the experiment itself. The meaning gets lost along with the information.

Page 15: Agile and a cookbook

The ExperienceEventually, we reached the point to talk about cookbook.

When we go to a restaurant we are looking for not for a right cooked dinner, but for a tasty one. Chefs don't use cookbooks.

While books overall are of a great value, what is hard to understand following a book blindly that being blind is not a wise way to go.

The experience is a kind of personal achievement. Observations require time and attention. Expertise requires experience, more important — personal experience. Then the knowledge could come.

The scientists and chefs use experience and the Nature to discover something new. This is natural way for things to come. Books just describe what other people had faced and their experiences.

Page 16: Agile and a cookbook

ProjectsWe live in society and work in society.

Team projects are a kind of social activity. Working as a team is a particular kind of experience. Everyone is unique.

Team works in a context. Every member gets his/her own experience in the project context. The knowledge and expertise of the team is spread over its members. Everyone has his/her own values and goals. Everyone sees project goals differently.

That means that teamwork requires communication, but it is a subject for another story.

Page 17: Agile and a cookbook

Good newsThe good news are that putting attention and right effort on study can lead us to expertise of an arbitrary level. The more good news is that we have got valuable books among others. People of expertise are sharing their knowledge. The foreign knowledge gives us some clues on what we could face and what we should observe and care of at start. But consuming the foreign knowledge one should not forget about gaining his/her very own experience.