Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Technical Side of Agile

508 views

Published on

We have adopted Scrum and Kanban as our people framework and software engineering techniques and good practises XP, DevOps processes CI, CD, Quality, ChM, RM, BDD, TDD, Risk Management and GIT Flow for the technical counterpart. Here's a story of our problems and solutions we've came-up with. It has been a long journey already, but there's a lot of things to do ahead of us. Let's step into our Case Study

Published in: Technology
  • Be the first to comment

Technical Side of Agile

  1. 1. Matt Harasymczuk Techniczna strona Agile Matt Harasymczuk MattAgile.com +48 7332 31337
  2. 2. Manifesto of agile software development
  3. 3. Agile vs. agility Healing the divide between business and programming -- Kent Beck, 1999
  4. 4. Agile to nie tylko Scrum
  5. 5. Część Biznesowa Project Management Business i Produkty Komunikacja i struktura organizacyjna Skalowanie Scrum Współpraca z klientem Zespoły produktowe SAF - Scaled Agile Framework Kanban Pozyskiwanie klientów Struktura produktowa LeSS - Large Scale Scrum Scrum + Kanban Rozwój i utrzymanie produktów Multidyscyplinarne zespoły Lean Enterprise DSDM Innowacja Autonomia zespołów Scrum Nexus Priorytetyzacja backlogu Lean Startup Retrospektywy Portfolio Management MoSCoW MVP Konstytucja zespołów Program Management Grafik spotkań Walking Skeleton Scrum of Scrums Value Stream Dekompozycja zadań Estymacja Baza wiedzy Release Stream Cele sprintów Definition of Done Joint Operations Organizacja ucząca się Kryteria Akceptacyjne Community
  6. 6. Wartości biznesowe Przyspieszenie czasu wypuszczenia na rynek Wzrost wartości dla klienta Wzrost jakości oprogramowania Zwiększenie elastyczności (możliwości rozbudowy) Zwiększenie penetracji rynku Obniżenie kosztu wytworzenia i utrzymania Zwiększenie żywotności produktu
  7. 7. Lean Startup // Szybkie wprowadzenie, bo to także nie jest część naszego wykładu
  8. 8. Lean Startup Cycle Build Measure Learn Unit Tests Split Tests (A/B) Split Tests Usability Tests Clear Product Owner Customer Interviews Continuous Integration Continuous Deployment Customer Development Incremental Deployment Usability Tests Five Whys Root Cause Analysis Free & Open Source Components Real-time Monitoring Customer Advisory Board Cloud Computing Custom Liaison Falsifiable Hypothesis Cluster Immune System Funnel Analysis Product Owner Accountability Just-in-time Scalability Cohort Analysis Custom Archetypes Refactoring Net Promoter Score Cross-functional Teams Developer Sandbox Search Engine Marketing Smoke Tests Real-time Alerting Predictive Monitoring
  9. 9. Część techniczna Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations -- Conwey's Law
  10. 10. O czym będzie? Zespoły Arhchitektura i kod Praktyki programistyczne i jakość kodu Ekosystem narzędziowy DevOps Procesy GIT Flow
  11. 11. Zespoły Infrastrukturalne Produktowe Aplikacje Klienckie
  12. 12. Arhchitektura Systemów Separacja Backend i Frontend Simple Design Emerging Architecture / Evolutionary Design
  13. 13. Mikroserwisy // tylko po krótce DDD Microservices Scalability Orchiestration
  14. 14. API wersjonowane JSON REST
  15. 15. Feature Toggles and Release Trains
  16. 16. Dobre praktyki programistyczne Technical Craftsmanship Pair Programming Code Review Collective Code Ownership Hackaton
  17. 17. Testy Smoke Testy Testy Integracyjne Testy Wydajnościowe Testy Mutacyjne (PIT Test) TDD - Test (First) Driven Development BDD - Behavioral Driven Development
  18. 18. Jakość Coverage? Refactoring Quality Evangelist Clean Code
  19. 19. Ekosystem narzędziowy Komunikacja Oprogramowanie Zarządzanie projektami Repozytorium kodu Baza wiedzy Automatyzacja budowania Instant Messanging Metryki kodu Centralne logowanie Dokumentacja API Storage plików binarnych Wyniki statycznej analizy w PR
  20. 20. DevOps Automatyzacja Testów Automatyzacja Migracji Schematów Bazy Danych Provisioning Środowiska Vagrant i Docker CI/CD
  21. 21. Git Flow Feature Branching Master Based Development
  22. 22. Konwencje nazewnicze master develop release/1.5 feature/ID-1337-short-summary bugfix/ID-1337-short-summary commit message: "ID-1337 short summary"
  23. 23. Pull Request
  24. 24. Procesy // Ale nie będziemy o nich mówić Release Management Change Management Incident Management SLA
  25. 25. Case Study

×