Agile a crash intro


Published on

Avete avuto un'idea brillante. Si tratta di un servizio digitale. Però non avete nessuna competenza per svilupparlo tecnicamente. Nessun problema, vi direte, basta trovare una buona società di informatica e commissionargli lo sviluppo della soluzione software.

E invece no, non è così facile. Sviluppare un servizio digitale non è qualcosa che si commissiona per poi ricevere il prodotto chiavi in mano pronto per l'uso. E' un processo iterativo in cui l'ideatore della soluzione interagisce costantemente con gli sviluppatori al fine di creare un prototipo da immettere sul mercato per testarne l'apprezzamento da parte degli utenti, e quindi implementare altre feature, modificare quelle esistenti, eliminare quelle inutili.

Durante l'evento il metodo per lo sviluppo software agile, ci verrà presentato da Puria Nafisi Azizi, attivista dei diritti digitali e del free software, che ha fondato la società di sviluppo Axant per superare le brutte abitudini di sviluppo delle "fortune 200 company" sperimentate in prima persona.

Published in: Technology, Business

Agile a crash intro

  1. 1. AGILE A CRASH INTRO by @pna
  2. 2. REALLY??? In English?? Is there someone that doesn’t understand Italian?
  3. 3. About me ● ● ● ● ● known as Puria Nafisi Azizi happily working in deep technical background <3 building digital products and <3 beer
  4. 4. Beer check the challenge: explain agile in just two beers
  5. 5. ● working agile, first time in 2005 (XP) ● working daily with SCRUM ● tech lead for fortune 200 ● startups are my daily fare
  6. 6. Agile???
  7. 7. Agile attributes ● ● ● ● ● ● Iterative Adaptive planning Self-organized Evolutionary D/D Time-boxed Responsive rapid flexible
  8. 8. 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!
  9. 9. Why dev are always sad??
  10. 10. And why all the customers always think to homicide???
  11. 11. There is a scientific reason Software 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_s ystem
  12. 12. 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.
  13. 13. KISS Simple rules avoid you to fall in the black hole
  14. 14. 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 food 2. Take a piece of food and head straight back to the nest. On the way back to the nest lay down an odor trail 3.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
  15. 15. Example 2 (3 rules) Birds Flocks, there is no leader to manage them. But, 1. Separation: steer to avoid stumbling upon local flockmates 2. Alignment: steer towards the average heading of local flockmates 3. Cohesion: steer to move towards the average position of local flockmates
  16. 16. 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.
  17. 17. Beer check one beer right?
  18. 18. Basic agile rules 1. Transparency 2. Feedback aka iteration startup meeting -> feedback CI -> feedback TDD -> Feedback Pair Programming -> Feedback 3. Self organization
  19. 19. SCRUM stimulates learning, feedback, communication and cooperation. Emergency is possible in Scrum.
  20. 20. SCRUM video
  21. 21. Beer check one beer right?
  22. 22. Track the errors to avoid failures DEFECT: production anomaly (you can track it) FAILURE: A product unit is not behaving as expected anymore
  23. 23. FACTS not words By just introducing the iterative QA in AXANT the ripples went down from 26% to almost 4%
  24. 24. 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
  25. 25. 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