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.

[33rd] x driven-y niczego nie zmienią

1,671 views

Published on

Prezentacja, którą przedstawiłem w trakcie konferencji 33rd Degree. Pamiętaj - nie chodzi tu o krytykę TDD, DDD, BDD itd. Chodzi o zachętę do samodzielnego myślenia.

Published in: Education
  • Be the first to comment

  • Be the first to like this

[33rd] x driven-y niczego nie zmienią

  1. 1. X-DRIVEN DESIGN, Y-DRIVENDEVELOPMENT NICZEGONIE ZMIENIĄMichał Bartyzelmbartyzel.blogspot.com@MichalBartyzel
  2. 2. www.bnsit.pl„Lepszy” frameworkZwiększamy efektywność zespołów projektowych 2
  3. 3. www.bnsit.plA. Rozwiązuje problemy poprzednikówB. Rozwiązuje problemy znane jego twórcom• Tych nieznanych nie rozwiązujeC. Wprowadza nowe „zasady gry”• Generuje nowe problemyD. Nowe problemy są wyzwaniem dla kolejnegoframeworkaE. GOTO ARefleksja: Kolejny framework…Zwiększamy efektywność zespołów projektowych 3
  4. 4. www.bnsit.plCoś nowegoZwiększamy efektywność zespołów projektowych 4Domain-Driven DesignTest-Driven DevelopmenBehavior-Driven DevelopmentData-Driven DesignData-Driven DevelopmentUse Case-Driven DesignUse Case-Driven DevelopmentArchitecture-Driven DesignArchitecture-Driven DevelopmentModel-Driven DevelopmentAgile Model-Driven DevelopmentData-Driven DesignData-Driven DevelopmentUse Case-Driven DevelopmentDesign Use Case-DrivenArchitecture-Driven DesignArchitecture-Driven DevelopmentUse Case-Driven Design*-Driven *
  5. 5. www.bnsit.pl*-Driven * wzmagają zjawiska społeczneZwiększamy efektywność zespołów projektowych 5
  6. 6. www.bnsit.pl*-Driven * wzmagają zjawiska społeczneZwiększamy efektywność zespołów projektowych 6
  7. 7. www.bnsit.pl*-Driven * wzmagają zjawiska społeczneZwiększamy efektywność zespołów projektowych 7
  8. 8. www.bnsit.pl*-Driven * wzmagają zjawiska społeczneZwiększamy efektywność zespołów projektowych 8
  9. 9. www.bnsit.pl*-Driven * wzmagają zjawiska społeczneZwiększamy efektywność zespołów projektowych 9
  10. 10. www.bnsit.pl*-Driven * wzmagają zjawiska społeczneZwiększamy efektywność zespołów projektowych 10
  11. 11. www.bnsit.pl*-Driven * wzmagają zjawiska społeczneZwiększamy efektywność zespołów projektowych 11
  12. 12. www.bnsit.pl*-Driven * wzmagają zjawiska społeczneZwiększamy efektywność zespołów projektowych 12
  13. 13. www.bnsit.pl*-Driven * wzmagają zjawiska społeczneZwiększamy efektywność zespołów projektowych 13
  14. 14. www.bnsit.pl*-Driven * wzmagają zjawiska społeczneZwiększamy efektywność zespołów projektowych 14
  15. 15. www.bnsit.pl# Przykład: DDDD by Greg Young• http://abdullin.com/storage/uploads/2010/04/2010-04-16_DDDD_Drafts_by_Greg_Young.pdfDlaczego tak się dzieje? Przykład DDDZwiększamy efektywność zespołów projektowych 15„ (…) this architecture will be “good enough”for 80% of the projects that they run into”
  16. 16. www.bnsit.plProgramiści lubią frameworkiDlaczego tak się dzieje?Zwiększamy efektywność zespołów projektowych 16
  17. 17. www.bnsit.pl# Strategie myślenia i postępowania# Uporządkowany sposób działania# Sposób na …Framework mentalny *-Driven *Zwiększamy efektywność zespołów projektowych 17
  18. 18. www.bnsit.plDlaczego frameworki mentalne są popularne?Zwiększamy efektywność zespołów projektowych 18
  19. 19. www.bnsit.plFramework odrywa się od intencji jego twórcyZwiększamy efektywność zespołów projektowych 19
  20. 20. www.bnsit.plKlucz do powodzenia frameworkaZwiększamy efektywność zespołów projektowych 20Chwytliwy memObietnica
  21. 21. www.bnsit.plKlucz do powodzenia frameworkaZwiększamy efektywność zespołów projektowych 21Chwytliwy mem Obietnica
  22. 22. www.bnsit.pl# Obiecuje Ci, że:• błędy wykryjesz na wczesnym etapie• stworzysz tylko tyle kodu ile to konieczne• dobry design• prawie zapomnisz o debugerze# Chwytliwe memy:• Red-Green-Refactor• Unit testingPrzykład: TDD rozumiane czysto mechanicznieZwiększamy efektywność zespołów projektowych 22
  23. 23. www.bnsit.pl# Obiecuje Ci, że:• we właściwy sposób zastosujesz programowanieobiektowe• elastyczną architekturę• odwzorowanie rzeczywistości => przygotowanie nakolejne wymagania# Chwytliwe memy:• Building Blocks• Unambiguous Language• Strategic DesignPrzykład: DDD rozumiane czysto buildingblokowoZwiększamy efektywność zespołów projektowych 23
  24. 24. www.bnsit.plKto wymyśla *-Driven *?Zwiększamy efektywność zespołów projektowych 24
  25. 25. www.bnsit.plKto wymyśla *-Driven *?Zwiększamy efektywność zespołów projektowych 25http://pl.wikipedia.org/wiki/Kent_Beckhttp://programmer.97things.oreilly.com/wiki/http://www.domainlanguage.com
  26. 26. www.bnsit.plJak powstaje framework mentalny?Zwiększamy efektywność zespołów projektowych 26
  27. 27. www.bnsit.plJak powstaje framework mentalny?Zwiększamy efektywność zespołów projektowych 27
  28. 28. www.bnsit.plJak powstaje framework mentalny?Zwiększamy efektywność zespołów projektowych 28
  29. 29. www.bnsit.plJak powstaje framework mentalny?Zwiększamy efektywność zespołów projektowych 29
  30. 30. www.bnsit.plPrace na koncepcją *-Driven * (i książką)Zwiększamy efektywność zespołów projektowych 30
  31. 31. www.bnsit.pl# Wyprowadzanie logicznych wniosków# Niekoniecznie sprawdzonych w rzeczywistości# Wnioski można weryfikować, ale…czasPrace nad koncepcją *-Driven (i książką)Zwiększamy efektywność zespołów projektowych 31
  32. 32. www.bnsit.plWhat I’ve learnt about DDD since the book• www.infoq.com/presentations/ddd-eric-evans• Podkreślenie roli Bounded Context• Doprecyzowanie znaczenia Domain Event• Doprecyzowanie relacji między Bounded Contexts• Krytyka Context Map• Proces Model Exploration WhirpoolPrzykład: DDD i Strategic DesignZwiększamy efektywność zespołów projektowych 32
  33. 33. www.bnsit.plCo robi Twórca, gdy framework nie działa?Zwiększamy efektywność zespołów projektowych 33
  34. 34. www.bnsit.plCo robi Twórca, gdy framework nie działa?Zwiększamy efektywność zespołów projektowych 34
  35. 35. www.bnsit.plCo zrobi programista z małym doświadczeniem?Zwiększamy efektywność zespołów projektowych 35
  36. 36. www.bnsit.plCo zrobi programista z małym doświadczeniem?Zwiększamy efektywność zespołów projektowych 36
  37. 37. www.bnsit.plOgraniczenia w zespołachZwiększamy efektywność zespołów projektowych 37
  38. 38. www.bnsit.plOgraniczenia w zespołachZwiększamy efektywność zespołów projektowych 38
  39. 39. www.bnsit.pl# Czym mam wystarczające doświadczeniei umiejętności, aby zastosować *-Driven?# Czy zastosowanie *-Driven * jest dla mniezbyt trudne?# Ile będzie kosztować moja nauka?Pytania, które zadajemy zbyt rzadko?Zwiększamy efektywność zespołów projektowych 39
  40. 40. www.bnsit.plA może oceniasz się zbytoptymistycznie?Zwiększamy efektywność zespołów projektowych 40
  41. 41. www.bnsit.plNa czym wykładamy się najczęściej?Zwiększamy efektywność zespołów projektowych 41
  42. 42. www.bnsit.plCo zrobi doświadczony programista?Zwiększamy efektywność zespołów projektowych 42
  43. 43. www.bnsit.plImplementing *-Driven *Niektórzy z nich napiszą książkęZwiększamy efektywność zespołów projektowych 43
  44. 44. www.bnsit.plDlaczego *-Driven * niczego nie zmienią?Zwiększamy efektywność zespołów projektowych 44
  45. 45. www.bnsit.plCzy to oznacza, że zniechęcamdoTDD, BDD, DDD, DDDD, etc. ?Zwiększamy efektywność zespołów projektowych 45
  46. 46. www.bnsit.plCzy to oznacza, że zniechęcamdoTDD, BDD, DDD, DDDD, etc. ?Zwiększamy efektywność zespołów projektowych 46
  47. 47. www.bnsit.pl1. Buduj swoje doświadczenie2. Ułatwiaj sobie pracę za pomocąframeworków mentalnychChodzi o priorytetyZwiększamy efektywność zespołów projektowych 47
  48. 48. www.bnsit.pl1. Doświadczenie2. FrameworkimentalneChodzi o priorytetyZwiększamy efektywność zespołów projektowych 481. Frameworkimentalne2. Doświadczenie
  49. 49. www.bnsit.plNa czym się skoncentrowaći jak budować doświadczenie?Zwiększamy efektywność zespołów projektowych 49
  50. 50. www.bnsit.plPrzykład: Modelowanie „rzeczywistości”Milczące założenie większości *-Driven *Zwiększamy efektywność zespołów projektowych 50
  51. 51. www.bnsit.plPrzykład: Modelowanie „rzeczywistości”Milczące założenie większości *-Driven *Zwiększamy efektywność zespołów projektowych 51
  52. 52. www.bnsit.plPrzykład: Modelowanie „rzeczywistości”Milczące założenie większości *-Driven *Zwiększamy efektywność zespołów projektowych 52
  53. 53. www.bnsit.plWie, czy nie wie, czego chce?Zwiększamy efektywność zespołów projektowych 53
  54. 54. www.bnsit.plFight, Flight, FreezeZwiększamy efektywność zespołów projektowych 54
  55. 55. www.bnsit.plZ jakimi programistami chcą pracować klienci?Jakich programistów cenią liderzy?Zwiększamy efektywność zespołów projektowych 55
  56. 56. www.bnsit.pl Zwiększamy efektywność zespołów projektowych 56Z jakimi programistami chcą pracować klienci?Jakich programistów cenią liderzy?
  57. 57. www.bnsit.pl Zwiększamy efektywność zespołów projektowych 57Z jakimi programistami chcą pracować klienci?Jakich programistów cenią liderzy?Zaangażowany := robi wszystko co konieczne,aby doprowadzić sprawy do końca
  58. 58. www.bnsit.pli niewielkie umiejętności techniczne• Raczej takduże umiejętności techniczne bez• Raczej nieCzy zatrudnisz programistę?Zwiększamy efektywność zespołów projektowych 58
  59. 59. www.bnsit.plTechniki pracy z kodemZwiększamy efektywność zespołów projektowych 59
  60. 60. www.bnsit.plTechniki pracy z kodemZwiększamy efektywność zespołów projektowych 60# Czytelność dla innych# Prostota# Samoopisywanie się
  61. 61. www.bnsit.plKod jest dla programisty, a nie programista dla koduZwiększamy efektywność zespołów projektowych 61
  62. 62. www.bnsit.plPraca u podstawZwiększamy efektywność zespołów projektowych 62
  63. 63. www.bnsit.plPraca u podstawZwiększamy efektywność zespołów projektowych 63
  64. 64. www.bnsit.plJak żyć,Panie Prelegencie,jak żyć?!Zwiększamy efektywność zespołów projektowych 64
  65. 65. www.bnsit.pl# W latach?# W liczbie „wyłożonych” projektów?# W zmienności:• Projektów• Branż• Współpracowników• TechnologiiW czym się mierzy doświadczenie?Zwiększamy efektywność zespołów projektowych 65
  66. 66. www.bnsit.plJak zachodzi uczenie się?Zwiększamy efektywność zespołów projektowych 66
  67. 67. www.bnsit.plGdzie są Twoje umiejętności?Zwiększamy efektywność zespołów projektowych 67
  68. 68. www.bnsit.plGdzie są Twoje umiejętności?Zwiększamy efektywność zespołów projektowych 68
  69. 69. www.bnsit.plZdobywanie doświadczeniaZwiększamy efektywność zespołów projektowych 69
  70. 70. www.bnsit.plA zatemZwiększamy efektywność zespołów projektowych 70# Pracuj z lepszymi od siebie# Szukaj różnorodności# Nie zwalaj winy zaniepowodzenia na czynnikizewnętrzne# Nie przywiązuj się zbytniodo swojego zdania
  71. 71. www.bnsit.pl1. Buduj doświadczenie2. Ułatwiaj sobie życie za pomocą *-Driven *PodsumowanieZwiększamy efektywność zespołów projektowych 71# Szukaj mentorów# Szukajróżnorodności# Bądź wytrwały# Przeprowadzajretrospekcje# Praktykuj pokorę
  72. 72. DZIĘKUJĘ ZA WASZ CZAS!Michał Bartyzelmbartyzel.blogspot.com@MichalBartyzel

×