lean software development, dalla teoria alla pratica

36
Lean Software Development in pratica! Matteo Vaccari

Upload: matteo-vaccari

Post on 07-Jan-2017

84 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Lean Software Development, dalla teoria alla pratica

Lean Software Development…in pratica!

Matteo Vaccari

Page 2: Lean Software Development, dalla teoria alla pratica
Page 3: Lean Software Development, dalla teoria alla pratica

Two things that work:

1. Extreme Programming

2. Lean Thinking

Page 4: Lean Software Development, dalla teoria alla pratica

Who is this?software developer

agile coach extreme programmer

TDDer

Thoughtworks Italia

Page 5: Lean Software Development, dalla teoria alla pratica

What is lean?

Page 6: Lean Software Development, dalla teoria alla pratica

CUSTOMERS

Page 7: Lean Software Development, dalla teoria alla pratica

Continuous Design Continuous Delivery

MVP

MVP

MVP

Ideas

CUSTOMERS

Page 8: Lean Software Development, dalla teoria alla pratica
Page 9: Lean Software Development, dalla teoria alla pratica

1. Waiting.

Page 10: Lean Software Development, dalla teoria alla pratica

Nella manifattura, si ottimizzano le operazioni cicliche

E nel software?

Page 11: Lean Software Development, dalla teoria alla pratica
Page 12: Lean Software Development, dalla teoria alla pratica
Page 13: Lean Software Development, dalla teoria alla pratica
Page 14: Lean Software Development, dalla teoria alla pratica

From Growing Object-Oriented Software by Nat Pryce and Steve Freeman

Page 15: Lean Software Development, dalla teoria alla pratica

Tempi di startup di una web application (Java)

• Tomcat: ~30s

• Dropwizard: ~3s

• Embedded Jetty: <1s

Page 16: Lean Software Development, dalla teoria alla pratica

2. Technology.

Page 17: Lean Software Development, dalla teoria alla pratica

Principle #8 – “Use only reliable, thoroughly tested technology that serves your people and process.”

Page 18: Lean Software Development, dalla teoria alla pratica
Page 19: Lean Software Development, dalla teoria alla pratica

X is awesome! X is crap!

Page 20: Lean Software Development, dalla teoria alla pratica

AngularJS is 10 times more expensive than

server-side generated html

Page 21: Lean Software Development, dalla teoria alla pratica

Do you really think that you will deliver faster with

Scala?

Page 22: Lean Software Development, dalla teoria alla pratica

0

10

20

30

40

Potential improvement by using new technologies

Potential improvement byimproving sw design skills

Page 23: Lean Software Development, dalla teoria alla pratica

Anybody can learn Scala or AngularJS

Very few can deliver quality software on time

Page 24: Lean Software Development, dalla teoria alla pratica

public class XServlet extends HttpServlet { // ...

@Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { WebRequest webRequest = new RealWebRequest(request); RealWebResponse webResponse = new RealWebResponse(response);

SqlInterpreter sqlInterpreter = null; try { sqlInterpreter = new SqlInterpreterFactory(environment, webRequest).build();

Request ourRequest = new Request(sqlInterpreter, webRequest, environment); Controller controller = router.getControllerFor(ourRequest);

controller.execute(webResponse); sqlInterpreter.commit(); } catch (Exception exception) { rollback(sqlInterpreter); logger.error(this, request, exception); throw new RuntimeException(exception); } finally { close(sqlInterpreter); LocalizedString.preventTomcatComplaining(); } }

// ...}

Page 25: Lean Software Development, dalla teoria alla pratica

3. Single-piece flow

Page 26: Lean Software Development, dalla teoria alla pratica

Single-piece flow

Each operation only builds what the next operation needs

Page 27: Lean Software Development, dalla teoria alla pratica

Single-piece flow

WIP = 1

Page 28: Lean Software Development, dalla teoria alla pratica
Page 29: Lean Software Development, dalla teoria alla pratica

James Shore

Page 30: Lean Software Development, dalla teoria alla pratica

WIP=1. Come?

Page 31: Lean Software Development, dalla teoria alla pratica

Conway’s Law

Software structure tends to reflect the structure of the organization

Page 32: Lean Software Development, dalla teoria alla pratica

Software designs that enable single-piece flow

Page 33: Lean Software Development, dalla teoria alla pratica

So…. what works?

Page 34: Lean Software Development, dalla teoria alla pratica

Lean

• Start from the customer’s needs

• Optimize the flow from end to end

• Grow your people

• Improve always

Page 35: Lean Software Development, dalla teoria alla pratica

Software design

• Protect your development loop time

• Improve your programming/design skills!

• Exploit software design to hack Conway’s Law

Page 36: Lean Software Development, dalla teoria alla pratica

matteo.vaccari.name/blog twitter.com/xpmatteo

thoughtworks.com

THANK YOU