Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Lean software development in pratica

Lean software development in pratica

Eliminare gli sprechi ed arrivare al Single Piece Flow. Come si fa in pratica? Lo vedremo attraverso tre esempi concreti che potrai applicare al tuo team. Ma attento: non è una ricetta facile! Parleremo di come ottimizzare il tempo degli sviluppatori, come applicare il Simple Design per evitare sprechi indotti dai framework, e come applicare il design per ridurre il work-in-progress e incrementare il parallelismo.

Matteo Vaccari

November 28, 2016
Tweet

More Decks by Matteo Vaccari

Other Decks in Technology

Transcript

  1. Tempi di startup di una web application (Java) • Tomcat:

    ~30s • Dropwizard: ~3s • Embedded Jetty: <1s
  2. 0 10 20 30 40 Potential improvement by using new

    technologies Potential improvement by
 improving sw design skills
  3. 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(); } } // ... }
  4. Lean • Start from the customer’s needs • Optimize the

    flow from end to end • Grow your people • Improve always
  5. Software design • Protect your development loop time • Improve

    your programming/design skills! • Exploit software design to hack Conway’s Law