26
AGILE A CRASH INTRO by @pna

Agile a crash intro

Embed Size (px)

Citation preview

Page 1: Agile a crash intro

AGILE A CRASH INTRO

by @pna

Page 2: Agile a crash intro

REALLY??? In English??

Is there someone that doesn’t understand Italian?

Page 3: Agile a crash intro
Page 4: Agile a crash intro

About me

● known as Puria Nafisi Azizi● happily working in AXANT.it● deep technical background● <3 building digital products● and <3 beer

Page 5: Agile a crash intro

Beer check

the challenge:explain agile in just two beers

Page 6: Agile a crash intro

● working agile, first time in 2005 (XP)

● working daily with SCRUM

● tech lead for fortune 200

● startups are my daily fare

Page 7: Agile a crash intro

Agile???

Page 8: Agile a crash intro

Agile attributes

● Iterative● Adaptive planning● Self-organized● Evolutionary D/D● Time-boxed● Responsive rapid flexible

Page 9: Agile a crash intro

but technically speaking (soil to soil)is just a bunch of methods and processes to facilitate the SDLC and to produce the best product, as close as possible to customer needs!

Page 10: Agile a crash intro

Why dev are always sad??

Page 11: Agile a crash intro

And why all the customers always think to homicide???

Page 12: Agile a crash intro

There is a scientific reasonSoftware development is a CAS:A Complex Adaptive System (CAS) is a dynamic network of many agents (which may represent cells, species, individuals, firms, nations) acting in parallel, constantly acting and reacting to what the other agents are doing. The control of a CAS tends to be highly dispersed and decentralized. If there is to be any coherent behavior in the system, it has to arise from competition and cooperation among the agents themselves. The overall behavior of the system is the result of a huge number of decisions made every moment by many individual agents.

https://en.wikipedia.org/wiki/Complex_adaptive_system

Page 13: Agile a crash intro

About CAS

● Feedback: each agent reacts on information flows

● Emergence: simple interactions can give big problems

● Non linear● Highly adaptable● Information exchange● Cooperation

● Specialization● Self organization: no

command and control and continuous adapting through the process of feedback and emergency

● Edge of chaos: not chaos… means variety and creativity leads to new possibilities

The number of elements is sufficiently large that conventional descriptions are not only impractical, but cease to assist in understanding the system.

Page 14: Agile a crash intro

KISS

Simple rules avoid you to fall in the black hole

Page 15: Agile a crash intro

Example 1 (3 rules)How ants search for food? No porta palazzo. No cell phone/emails. How they communicate?

1.Travel randomly in search for food2. Take a piece of food and head straight back to the nest. On the way back to the nest lay down an odor trail3.Notify nestmates of the discovered food encouraging them to leave the nest. These newly recruited ants will follow the odor trail directly to the food source. In their turn, each ant will reinforce the odor trail until the food is gone

Page 16: Agile a crash intro

Example 2 (3 rules)

Birds Flocks, there is no leader to manage them. But,

1. Separation: steer to avoid stumbling upon local flockmates2. Alignment: steer towards the average heading of local flockmates3. Cohesion: steer to move towards the average position of local flockmates

Page 17: Agile a crash intro

Let’s solve it by KISS

Here is one sample of unnecessary complexity, too many hierarchy levels:A potential problem, unlikely in small and medium organisations, is deep organisational structures. According to Peters and Waterman (1982), both Toyota and Roman Catholic Church have only five layers of management in comparison to Ford’s seventeen.

Page 18: Agile a crash intro

Beer check

one beer right?

Page 19: Agile a crash intro

Basic agile rules

1. Transparency2. Feedback aka iteration startup meeting -> feedback CI -> feedback TDD -> Feedback Pair Programming -> Feedback3. Self organization

Page 20: Agile a crash intro

SCRUM stimulates learning, feedback, communication and cooperation. Emergency is possible in Scrum.

Page 21: Agile a crash intro

SCRUM video

Page 22: Agile a crash intro

Beer check

one beer right?

Page 23: Agile a crash intro

Track the errors to avoid failures

DEFECT: production anomaly (you can track it)FAILURE: A product unit is not behaving as expected anymore

Page 24: Agile a crash intro

FACTS not words

By just introducing the iterative QA in AXANT the ripples went down from 26% to almost 4%

Page 25: Agile a crash intro

Why Waterfall is a huge fail

● waiting the whole project time before seeing something

● cannot make changes● wrong requirements, wrong project ● testing is at the end, early bugs can affect

the whole product● not interacting with the client, no evolving

needs. Changes impacts on late delivery time and budgeting

Page 26: Agile a crash intro

Don’t you believe yet???

In my company AXANT after the introduction of lovely customized SCRUM processes we have just 3.7% delay on delivery