10. 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

10.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/agile-understanding.png

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

10.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-whiteboard-01.jpg

10.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

10.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

10.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/git-flow-whiteboard.jpg

10.6. 101. Monitorowanie i statystyki

  • Rozproszone logowanie zdarzeń

    • Graphite, statsd

  • Statystyki

    • Logstash, Kibana

  • Hartbeat

10.7. 110. IT Architecture

  • Collective Code Ownership

  • Refactoring

  • Emerging Architecture / Evolutionary Design

10.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

10.9. Summary

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