11. Top 0b111 buzzwordów i praktyk, których mogłeś nie znać

Todo

Figure caption w Buzzwordach

Celem tego wykładu jest przekazanie kilkunastu najważniejszych keywordów i opowiedzenie w kilku zdaniach o najważniejszych z nich. Mam nadzieję, że ułatwi Ci to znalezienie samodzielnie informacji na ten temat w internecie.

000. Agile to nie tylko Scrum, Estymacja to nie koniecznie planning poker i ciąg Fibonacci'ego, Dobry PO to 66,(6)% sukcesu, kiedy Pair Programming się sprawdz 001. Provisioning środowiska, wersjonowanie schematów bazy danych, VMki i kontenery (FlywayDB, Puppet, Vagrant, Docker) 010. Statyczna analiza kodu, Testy Mutacyjne (SonarQube, Squid, SonarLint, PITest) 011. Wersjonowanie i dokumentowanie API (swagger) 100. Git Flow + Feature Branching + Feature Flags + Release Toggles = CI/CD 101. Rozproszone logowanie zdarzeń, hartbeat i statystyki (Logstash, Kibana, Graphite) 110. Collective Code Ownership, Refactoring i Emerging Architecture / Evolutionary Design 111. Lean Startup UX, A/B, Hipotezy, MVP, Build + Measure + Learn, Smoke Testy, Continuous Improvement, Kaizen i Retrospektywy

11.1. 000. Agile to nie tylko Scrum

  • Estymacja to nie koniecznie planning poker i ciąg Fibonacci’ego

  • Dobry PO to 66,(6)% sukcesu

  • Kiedy Pair Programming się sprawdza

  • youtube: Spotify Engineering Culture

    Healing the divide between business and programming. -- Kent Beck, 1999

../../_images/agility-v1.png

Figure 11.1. Agility is achieved only by combining Business Practices and Technical Craftsmanship. Agile is not only about Scrum.

../../_images/agility-v2.png

Figure 11.2. Agility is achieved only by combining Business Practices and Technical Craftsmanship. Agile is not only about Scrum.

11.2. 001. Automatyzacja i Ekosystem Narzędziowy

  • Provisioning środowiska:

    • Puppet, Chef, Salt, Ansible

  • wersjonowanie schematów bazy danych:

    • FlywayDB

  • VMki i kontenery:

    • Vagrant, Docker

../../_images/ecosystem-big-picture.png

11.3. 010. Jakość

  • Statyczna analiza kodu:

    • SonarQube, Squid, SonarLint

  • Testy Mutacyjne:

    • PITest

../../_images/apollo-saturn5.jpg
../../_images/apollo-lunar-module.gif
../../_images/ecosystem-pitest-mutators-02.jpg
../../_images/ecosystem-pitest-mutators-03.jpg
../../_images/ecosystem-pitest-report-03.png

11.4. 011. API

  • Wersjonowanie

  • REST

  • JSON

  • Stabilne

  • Dokumentacja

    • Swagger

../../_images/ecosystem-swagger-list-01.png
../../_images/ecosystem-swagger-get-01.png
../../_images/ecosystem-swagger-post-01.png

11.5. 100. Release Management

  • Git Flow

  • Feature Branching

  • Feature Flags

  • Dark Features

  • Release Toggles

  • CI/CD

../../_images/spotify-release-trains-and-feature-toggles.png
../../_images/gitflow-all.png

11.6. 101. Monitorowanie i statystyki

  • Rozproszone logowanie zdarzeń

    • Graphite, statsd

  • Statystyki

    • Logstash, Kibana

  • Hartbeat

11.7. 110. IT Architecture

  • Collective Code Ownership

  • Refactoring

  • Emerging Architecture / Evolutionary Design

11.8. 111. Lean IT

  • Lean Startup

  • UX,

  • Testy A/B

  • Hipotezy

  • MVP

  • Build + Measure + Learn

  • Smoke Testy

  • Continuous Improvement

  • Kaizen

  • Retrospektywy

../../_images/agile-summary-table.png

11.9. Summary

../../_images/agile-summary-table.png