Top Banner
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009. Why Practices are not as important as Principles? Simply... Complicated! Tuesday, April 23, 13
53

Why practices are not as important as principles?

Sep 14, 2014

Download

Technology

You might wonder why is not that easy to adopt agile engineering practices and achieve technical excellence. When we think at practices we tend to think at simple things: pinning on the fridge with a magnet the list of shopping items to buy, having a clear prioritised list of things to do, and work that in order… why is then that with Agile practices is not working that easy? What is that Teams are not getting right? Is it that we don’t have the right Software tools? Or we are not collocated? The Agile dilemma is: “To effectively apply practices, you need to understand the principle, to understand the principles you need to practice!”, simply… complicated!
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Why Practices are not as important as Principles?Simply... Complicated!

Tuesday, April 23, 13

Page 2: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Andrea Tomasini

Agile Coach & [email protected]

@tumma72@agile42/coaches

Tuesday, April 23, 13

Page 3: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

principle |ˈprɪnsɪp(ə)l|noun

1 a fundamental truth or proposition that serves as the foundation for a system of belief or behavior or for a chain of reasoning: the basic principles of justice.• (usu. principles) a rule or belief governing one's behavior: struggling to be true to their own principles | [ mass noun ] : she resigned over a matter of principle.

Tuesday, April 23, 13

Page 4: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

practice |ˈpraktɪs|noun [ mass noun ]1 the actual application or use of an idea, belief, or method, as opposed to theories relating to it: the principles and practice of teaching

3 repeated exercise in or performance of an activity or skill so as to acquire or maintain proficiency in it: it must have taken a lot of practice to become so fluent.

Tuesday, April 23, 13

Page 5: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Practices...

Tuesday, April 23, 13

Page 6: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Tuesday, April 23, 13

Page 7: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Daily Stand-up MeetingA common practice used by many agile teams. In Scrum is often used for the Daily Scrum

Tuesday, April 23, 13

Page 8: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Daily Stand-up Meeting

• Practice: the Daily Stand-Up meeting is about meeting while standing. It’s a practice, often used by Teams developing software following an Agile approach. By standing the meeting will take less time, and will be more focused, as standing for long it’s not comfortable.

Tuesday, April 23, 13

Page 9: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

and now... you! what did you do

yesterday?

Daily Standup MeetingControl

Tuesday, April 23, 13

Page 10: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Daily Stand-up Meeting

• Principle: working in complex environment, with rapid and not always predictable changes, and a lot of dependencies, requires focusing constantly on the goal to succeed. For this reason, it is important to introduce regular check that allows a Team of peers to re-asses regularly the status of progress and decide how to move forward and improve

Tuesday, April 23, 13

Page 11: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Planning MeetingThe moment in which Agile Teams decide what to do and how to do it...

Tuesday, April 23, 13

Page 12: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Planning Meeting

• Practice: The whole Team meets to agree on a goal for the next iteration of work. During the meeting - which is normally time-boxed - the Team decides what will be transformed into working software, out of a list of prepared items called Backlog, which should reflect the order better suited to achieve the goal.

Tuesday, April 23, 13

Page 13: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Hey, that’s enough Stop!

Planning MeetingShootin

g

Tuesday, April 23, 13

Page 14: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Planning Meeting

• Principle: Agile Teams deliver working and valuable software at regular interval. In order to reduce the impact of changes on the development plan, agile Teams plan in detail at regular interval of time - normally between 1-4 weeks.

• Assumption: the length of the iteration is such that it is acceptable for the Business to wait the next iteration to plan for changes, so to reduce interruptions.

Tuesday, April 23, 13

Page 15: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Pair-ProgrammingAn eXtreme Programming practice to improve code quality and design...

Tuesday, April 23, 13

Page 16: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Pair Programming / Pairing

• Practice: all code to be sent into production is created by two people working together at a single computer. Pair programming increases software quality without impacting time to deliver.

Tuesday, April 23, 13

Page 17: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

I need help, who

wants to pair?Me! I’d like to

learn something

Pair Programmingfor

nothing

for free!

Tuesday, April 23, 13

Page 18: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Pair Programming / Pairing

• Principle: It is counter intuitive, but 2 people working at a single computer will add as much functionality as two working separately except that it will be much higher in quality. With increased quality comes big savings later in the project.

• Note: One thing pair programming is not is mentoring. A teacher-stundent relationship feels very different from two people working together as equals even if one has significantly more experience.

http://www.extremeprogramming.org/rules/pair.html

Tuesday, April 23, 13

Page 19: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Test Driven Development (TDD)An eXtreme Programming practice to create simple and effective design, by starting to write tests...

Tuesday, April 23, 13

Page 20: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Test Driven Development

• Practice: is a software development process that relies on the repetition of a very short development cycle: first the developer writes an (initially failing) automated test case that defines a desired improvement or new function, then produces the minimum amount of code to pass that test, and finally refactors the new code to acceptable standards.

Tuesday, April 23, 13

Page 21: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

I am really eager

to try TDD on this

new design

Apparently this design is too

complicated for TDD... I don’t seem

to be able to write tests first.

Test Driven DevelopmentDesign

TestingTuesday, April 23, 13

Page 22: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Test Driven Development

• Principle: In the spirit of simplicity - as the art of maximizing the amount of work not done - agile teams focus on implementing the minimal amount of code needed to fulfills the tests. In this respect the design and the architecture will be emerging out of the need of fulfilling those tests. By doing so the code will remain simple, easier to maintain and evolve.

Tuesday, April 23, 13

Page 23: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Continuous Integration (CI)An eXtreme Programming practice to accelerate feedback loop and learning...

Tuesday, April 23, 13

Page 24: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Continuous Integration

• Practice: is the practice, in software engineering, of merging all developer workspaces with a shared mainline several times a day. It can be seen as an intensification of practices of periodic integration advocated by earlier published methods of incremental and iterative software development.

Tuesday, April 23, 13

Page 25: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.Continuous Integration

Dis-Tuesday, April 23, 13

Page 26: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Continuous Integration

• Principle: Agile teams are seeking constantly to accelerate feedback loops, so to learn faster. In particular teams value validated learning more than assumptions based learning. Through discipline it is possible to come to reproduce ready-to-ship software as often as possible. In order to validate the learning of having understood what needed to be done, through stakeholders’ feedback.

Tuesday, April 23, 13

Page 27: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Review MeetingAgile Team meet regularly to review the status of their Product evolution and decide what to deliver next...

Tuesday, April 23, 13

Page 28: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Review Meeting

• Practice: The team and the Product Owner meet at the end of every iteration and assess the results of what was achieved. At the meeting may attend also some of the stakeholder, so that they can provide additional feedback.

Tuesday, April 23, 13

Page 29: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Come on guys, stay calm... believe

in what you did

Rejected! that’s not what I want...

Product Review

Compliance

Tuesday, April 23, 13

Page 30: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Review Meeting

• Principle: through iterative and incremental development of a product it is possible to learn what is really needed and what not. By reviewing the status of the product development regularly against the currently planned value to deliver, the Team can increase its effectiveness and learn what is really needed to the stakeholders.

Tuesday, April 23, 13

Page 31: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Understanding the Principles...

Tuesday, April 23, 13

Page 32: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Pull principleIterative & Incremental

Empirical Process Control

Lean Thinking

Agile Reading GlassesTuesday, April 23, 13

Page 33: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Empirical Process controlAgile is based on empirical control, through transparency, inspection and adaptation the best processes are emerging while doing, and only retrospectively it is possible to recognize successful adaptation from non successful ones

Tuesday, April 23, 13

Page 34: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2010.

Defined Process Control Production-based process

Tuesday, April 23, 13

Page 35: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2010.

Let’s make a test... Complexity: the amount of agents in play and their dependencies are so many that it’s impossible to predict the state upfront

> 60!

Tuesday, April 23, 13

Page 36: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2010.

Empirical Process Control R&D based process

Tuesday, April 23, 13

Page 37: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Pull PrincipleAgile approaches are based on pull principle which allows self-organizing teams to pull in work and knowledge as needed in order to deliver valuable quality software

Tuesday, April 23, 13

Page 38: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

PushPull

Individual TeamEnforcem

ent

Colla

borati

onCompliance

Focu

s on value

Tuesday, April 23, 13

Page 39: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Lean ThinkingLean Thinking inspired process improvement through constant observation of the unevenness in a flow, resources or people overburdening and elimination of wasteful activities

Tuesday, April 23, 13

Page 40: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2010.

Ove

rbur

den

(無理

: mur

i) do not overload your

People

Tuesday, April 23, 13

Page 41: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2010.

Unnecessary Variations(斑: mura) keep the Flow

Even

Tuesday, April 23, 13

Page 42: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2010.

Wasteful Activities(無駄: muda)

remove non value adding

ActivitiesTuesday, April 23, 13

Page 43: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Iterative & IncrementalDelivering a product in subsequent iterative releases, not only improves the explicit quality of it, it also allows everybody involved in its development as well as every stakeholder, to learn better what is really needed to support a business vision

Tuesday, April 23, 13

Page 44: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Verif

y Idea

Improve it

Add Value

Read

y it

Done!

1 2 3 4 5

Iterative & Incremental0% 100%

Tuesday, April 23, 13

Page 45: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Every Increment:

✓is inspect-able✓adds value✓it’s high qualityRea

dy to s

hip!

Tuesday, April 23, 13

Page 46: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

So what?

Tuesday, April 23, 13

Page 47: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

This old axe, is still

doing a pretty good

job after all...

Hey, you should try the new Chainsaw, it’s much better

...is much heavier, and cuts no

way better than my old axe...

not all new things are better after all...

Tuesday, April 23, 13

Page 48: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

What’s the recipe?

1) Focus on Value, not compliance to rules!

Tuesday, April 23, 13

Page 49: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

What’s the recipe?

2) Understand the Principles and then learn the Practices

Tuesday, April 23, 13

Page 50: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

What’s the recipe?

3) Assimilate the Principles by Practicing more, and improve the Practices by conceptualizing better the Principles

Tuesday, April 23, 13

Page 51: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

What’s the recipe?

4) Build your own Practices, as you learned to live the Principles

Tuesday, April 23, 13

Page 52: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

Thank You!Tuesday, April 23, 13

Page 53: Why practices are not as important as principles?

agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.

More food for thought...

http://slideshare.net/tumma72Now in Croatian!

Tuesday, April 23, 13