

Better Software Design
Mariusz Gil
Better Software Design podcast. Rozmowy o projektowaniu oprogramowania, architekturze i wyzwaniach z tym związanych.
Episodes
Mentioned books

Jan 24, 2023 • 1h 23min
51. O semantyce i roli reguł biznesowych z Aleksandrem Bartnikiewiczem
O tym, że procesy biznesowe istnieją i że są ważne wiedzą wszyscy. Potrafimy o nich ogólnie mówić na poziomie abstrakcyjnym, ale też umiemy schodzić na niższe poziomy i opisywać ich działanie zdarzeniami lub BPMN-em. Natomiast o regułach często mówi się tylko na ogólnym poziomie, jeśli w ogóle, że "no jakieś tam reguły są w biznesie". Są traktowane trochę jak czarna magia, jak jakiś mityczny stwór. Trochę jak synonim "logiki biznesowej". Reguły biznesowe to jest bardzo konkretna rzecz, za którą stoi mocna teoria, własny standard (SBVR by OMG). która ma nie tylko praktyczne przełożenie na naszą pracę ale wręcz może zrewolucjonizować niektóre aspekty.Takie wprowadzenie do dzisiejszego tematu otrzymałem od mojego gościa, Aleksandra Bartnikiewicza, z którym rozmawiamy o regułach biznesowych, analizie domeny w oparciu o tę wiedzę, zapisie, semantyce i dokumentowaniu reguł. Nie będzie to odcinek poświęcony implementacji reguł w kodzie, ale uważny słuchacz znajdzie zapewne od razu odniesienia do Domain-Driven Design, chronionych agregatami niezmienników lub innych implementacjami zakazów i nakazów.W tym odcinku rozmawiamy z Aleksandrem m.in. o:- czym są, a także czym nie są reguły biznesowe i jak się mają do procesów w domenie,- odpowiednim wyrażaniu i semantyce reguł, aby poprawnie opisywały zasady działania biznesu,- podejściu Evansa vs podejście Rossa do języka biznesowego,- budowanie słowników i dokumentowaniu wiedzy na tem reguł biznesowych,- stosowaniu rulebooka w większym projekcie i zespole.Zapraszam! Na blogu Aleksandara znaleźć można artykuł Model pojęciowy - Diagram, który przedstawia wizualną stronę wspomnianego w odcinku przykładu.Materiały dodatkowe:Manifest Reguł Biznesowych, polska wersja manifestu Business Rules GroupThe Business Rules Manifesto*, angielska wersja 2.0 manifestu, listopad 2003Business Rule Concepts : Getting to the Point of Knowledge, wspomniana książka Ronalda RossaBusiness Knowledge Blueprints: Enabling Your Data to Speak the Language of the Business, kolejna warta uwagi pozycja RossaDla wytrwałych odnośnik do specyfikacji SBVR, Semantics Of Business Vocabulary And Business Rules.

Jan 10, 2023 • 1h 3min
50. O implementacji logiki biznesowej z Decider Pattern z Oskarem Dudyczem
Materiały dodatkowe:Functional Event Sourcing Decider, źródłowy artykuł na blogu Jérémiego Chassaing na temat implementacji wzorca DeciderFunctional Event Sourcing, nagranie prezentacji Jérémiego z DDD Europę 2020, niestety bez obrazu z laptopaHow to effectively compose your business logic, artykuł Oskara na temat kompozycji logiki z wzorcem DeciderHow events can help in making the state-based approach efficient, eventowe podejście do zmiany stanu systemuWriting and testing business logic in F#, kolejny artykuł z bloga Oskara na temat użycia Decidera, tym razem w F#

6 snips
Jan 1, 2023 • 55min
49. O przeprowadzeniu zmiany z Krzysztofem Rakowskim i Pawłem Rekowskim
Materiały dodatkowe:8-krokowy process przeprowadzenia zmiany, podsumowanie wspomnianego przez Krzysztofa frameworka Johna KotteraTechnology Strategy Patterns: Architecture as Strategy, książka Ebena HewittaNerd Management, video podcast Krzysztofa i Pawła na tematy związane z zarządzaniem zespołami IT

Dec 27, 2022 • 1h 3min
48. O CUPID, alternatywie dla zasad SOLID z Piotrem Stawirejem
Materiały dodatkowe:CUPID - the back story, pierwszy artykuł Dana Northa o kwestionowaniu zasad SOLIDCUPID - for joyful coding, kontynuacja tematu na blogu Dana NorthaCUPID - for joyful coding, nagranie prezentacji z konferencji NDC London 2022Patterns of Software: Tales from the Software Community, Richard P. Gabriel

Dec 20, 2022 • 1h 1min
47. O nauce DDD i bi-temporalnych eventach domenowych z Andrzejem Krzywdą
Materiały dodatkowe:Bitemporal History, wpis na blogu Martina Fowlera na temat problemu modelowania bitemporalnegoAs Time Goes By…, a Bi-temporal Event Sourcing story, prezentacja - Thomas Pierrain z konferencji DDD Europe 20184 Strategies for future events with Event Sourcing, strategie rozwiązywania problemu "zdarzeń z przyszłości"Eventsourcing Patterns: Multi-temporal Events, wpis na blogu Mathiasa Verraesa na temat rozróżniania momentu rejestracji zdarzenia i zmiany przez niego opisywanejPatterns for Decoupling in Distributed Systems: Summary Event, kolejny wpis Matthiasa na temat emisji pojedynczego eventu summary zamiast całego streamu zdarzeńMateriały od zespołu Arkency:Fixing the past and dealing with the future using bi-temporal EventSourcing, wpis Łukasza Reszke na blogu ArkencyTake advantage of Turbo Streams in event handlers, wpis Piotra Jurewicza na temat aktualizacji read-modeli i UI aplikacjiSpeed up aggregate roots loading with snapshot events, wpis Piotra Jurewicza na temat odtwarzania stanu agregatu z użyciem snapshottinguRailsEventStore/ecommerce, repozytorium z kodem poligonu doświadczalnego aplikacji ecommerce z użyciem RailsEventStoreDemo ecommerce, prosty interfejs www powyższej aplikacji

Dec 13, 2022 • 1h 1min
46. O testowaniu mutacyjnym z Marcinem Zajączkowskim
Materiały dodatkowe:Testowanie mutacyjne, prezentacja Marcina na temat testowania mutacyjnego z konferencji Boiling Frogs 2016Slajdy prezentacjiJak szybkie (lub wolne) jest testowanie mutacyjne?, artykuł Marcina na temat szybkości testowania z mutantami, na przykładzie PIT i projektów FOSSBlog MarcinaTwitter MarcinaPrzykładowe narzędzia testowania mutacyjnego:Java, PIT - https://pitest.org/Java, Arcmutate - https://www.arcmutate.com/.NET, Stryker.NET - https://stryker-mutator.io/JavaScript, Stryker.JS - https://stryker-mutator.io/PHP, Infection - https://infection.github.io/guide/PHP 5.x (historycznie), Humbug - https://github.com/humbug/humbugRuby, Mutant - https://github.com/mbj/mutantPython, Mutmut - https://mutmut.readthedocs.io/en/latest/Python, Mutatest - https://mutatest.readthedocs.io/en/latest/Python, Cosmic Ray - https://cosmic-ray.readthedocs.io/en/latest/

Nov 29, 2022 • 1h 15min
45. O testowalności oprogramowania z Kamilem Grzybkiem
Materiały dodatkowe:An Introduction to General Systems Thinking , książka Geralda M. Weinberga

Nov 15, 2022 • 1h 6min
44. O programowaniu reaktywnym z Tomkiem Nurkiewiczem
Materiały dodatkowe:Reactive programming: lessons learned, prezentacja Tomka z konferencji JDD 2018What Color is Your Function?RxMarbles, interaktywne diagramy Rxnurkiewicz.com, strona Tomka i jego podcastu Around IT in 256 SecondsReactive Programming with RxJava: Creating Asynchronous, Event-Based ApplicationsNarzędzia:ReactiveX, pełna lista wspieranych języków jest na tej stronieSpring ReactiveProject ReactorRxJS

Nov 1, 2022 • 1h 1min
43. O subdomenach biznesowych ze Sławkiem Sobótką
Aktualizacja... Podczas publikacji odcinka niestety nie zapisały się linki do książek. Enterprise Patterns and MDA: Building Better Software with Archetype Patterns and UML, Jim Arlow, Ila NeustadtAnalysis Patterns: Reusable Object Models, Martin Fowler, z przedmową Ralpha Johnsona i Warda CunninghamaData Model Patterns: Conventions of Thought, David C. HayThe Data Model Resource Book: A Library of Universal Data Models for All Enterprises, Len Silverston - książek z tej serii jest kilka, kolejne dotykają różnych domen biznesowych lub są rozwinięciem poprzedniego wydaniaMały komentarz w kwestii powyższych pozycji... Moim zdaniem nie są to książki, które czyta się od przysłowiowej deski do deski. Są to katalogi modeli lub pomysłów, po które się sięga w razie potrzeby, gdy spotyka się dany problem. Oczywiście niektóre problemy są bardziej uniwersalne i powszechne, choć literatura nie klasyfikuje tego w ten sposób. Niezależnie od tego, trzeba te koncepty przefiltrować przez własne doświadczenie.

Oct 17, 2022 • 1h 28min
42. O analizie biznesowej i systemowej z Moniką Perendyk
Materiały dodatkowe:Software Requirements, Karl Wiegers, Joy Beatty, wydanie IIIRequirements Engineering Fundamentals: A Study Guide for the Certified Professional for Requirements Engineering Exam - Foundation Level, Klaus Pohl, Chris RuppSpecification by Example: How Successful Teams Deliver the Right Software, Gojko AdzicFacylitacja-wiedza, umiejętności, sztuka czy magiaNa stronie Moniki można też przeczytać kilka artykułów na tematy, które zostały poruszone w rozmowie:Wymaganie biznesowe a reguła biznesowaAtrybuty wymaganiaKategoryzacja wymagańDług technicznyAdaptowanie produktu w czasach kryzysu, czyli czym jest PIVOTMonikę można obserwować m.in. na Instagramie lub LinkedIn.


