{"id":34447,"date":"2026-07-15T05:00:00","date_gmt":"2026-07-15T03:00:00","guid":{"rendered":"https:\/\/sii.pl\/blog\/?p=34447"},"modified":"2026-07-10T12:30:23","modified_gmt":"2026-07-10T10:30:23","slug":"thin-vertical-slice-vs-component-slicing-w-erze-ai","status":"publish","type":"post","link":"https:\/\/sii.pl\/blog\/thin-vertical-slice-vs-component-slicing-w-erze-ai\/","title":{"rendered":"Thin Vertical Slice vs. Component Slicing w erze AI"},"content":{"rendered":"\n<p>M\u00f3j znajomy widzi system, patrz\u0105c w kod. Ja widz\u0119 go dopiero wtedy, gdy zobacz\u0119, co dostaje u\u017cytkownik.<\/p>\n\n\n\n<p>Przez d\u0142ugi czas uwa\u017ca\u0142em, \u017ce to po prostu r\u00f3\u017cnica stylu pracy \u2013 kosmetyczna, bez wi\u0119kszego znaczenia dla tego, jak pracujemy razem. Dopiero rozw\u00f3j AI pokaza\u0142 nam, \u017ce te r\u00f3\u017cnice maj\u0105 du\u017co wi\u0119ksze znaczenie ni\u017c przypuszczali\u015bmy.<\/p>\n\n\n\n<p>Bo kiedy do procesu wchodz\u0105 \u201eagenty\u201d, spos\u00f3b, w jaki kroisz prac\u0119, przestaje by\u0107 prywatn\u0105 preferencj\u0105. Zaczyna decydowa\u0107 o tym, czy panujesz nad produktem, czy tylko obserwujesz, jak ro\u015bnie kod. Ten artyku\u0142 jest o tym, jak odkryli\u015bmy to na w\u0142asnej sk\u00f3rze podczas wewn\u0119trznego hackathonu \u2013 i co z tego wynik\u0142o.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>S\u0142owem wst\u0119pu<\/strong><\/h2>\n\n\n\n<p>Warto, \u017ceby\u015bcie wiedzieli, z jakiej pozycji to pisz\u0119. Przez ca\u0142\u0105 karier\u0119 by\u0142em Scrum Masterem. M\u00f3j znajomy odpowiada\u0142 za security. \u017baden z nas nie jest \u201eklasycznym\u201d deweloperem \u2013 i przez d\u0142ugi czas to by\u0142 nasz sufit: mieli\u015bmy pomys\u0142y na produkty dla naszego NGO, ale brakowa\u0142o nam r\u0105k do ich zbudowania.<\/p>\n\n\n\n<p>Zmieni\u0142o si\u0119 to, gdy oboje na powa\u017cnie weszli\u015bmy w AI. Okaza\u0142o si\u0119, \u017ce \u201eagenty\u201d potrafi\u0105 uzupe\u0142ni\u0107 dok\u0142adnie te kompetencje, kt\u00f3rych nam brakowa\u0142o \u2013 i \u017ce we dw\u00f3jk\u0119, z Claude Code i agentic workflow, jeste\u015bmy w stanie realnie dowozi\u0107 produkty IT dla naszej fundacji, a nie tylko o nich rozmawia\u0107. Po kilku w\u0142asnych projektach stwierdzili\u015bmy, \u017ce zamiast kolejnego toy projectu zrobimy co\u015b bardziej praktycznego \u2013 zbudujemy realny system dla naszej organizacji.<\/p>\n\n\n\n<p>M\u00f3j znajomy zaproponowa\u0142, \u017ceby\u015bmy poszli bardziej w kierunku enterprise-style workflow. Du\u017co security, quality gates, jasno rozpisane issue, agentowe review, ASVS, porz\u0105dne CI. Brzmia\u0142o sensownie.<\/p>\n\n\n\n<p>I pocz\u0105tek faktycznie szed\u0142 g\u0142adko.<\/p>\n\n\n\n<p>Upstream workflow dzia\u0142a\u0142 \u015bwietnie. Bardzo szybko przeszli\u015bmy od pomys\u0142u do:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>EPIC-\u00f3w,<\/li>\n\n\n\n<li>User Stories,<\/li>\n\n\n\n<li>Issues,<\/li>\n\n\n\n<li>zale\u017cno\u015bci,<\/li>\n\n\n\n<li>acceptance criteria,<\/li>\n\n\n\n<li>security constraints.<\/li>\n<\/ul>\n\n\n\n<p>Mia\u0142em poczucie, \u017ce wreszcie pracujemy \u201ejak du\u017cy zesp\u00f3\u0142\u201d.<\/p>\n\n\n\n<p>Problem pojawi\u0142 si\u0119 chwil\u0119 p\u00f3\u017aniej.<\/p>\n\n\n\n<p>Po dw\u00f3ch issue kompletnie przesta\u0142em rozumie\u0107, co w\u0142a\u015bciwie buduj\u0119.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Kiedy issue przestaj\u0105 opisywa\u0107 produkt<\/strong><\/h2>\n\n\n\n<p>To nie by\u0142y z\u0142e issue \u2013 wr\u0119cz przeciwnie. By\u0142y bardzo dobrze przygotowane:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>poprawne technicznie,<\/li>\n\n\n\n<li>dobrze opisane,<\/li>\n\n\n\n<li>logicznie podzielone,<\/li>\n\n\n\n<li>sensownie odseparowane architektonicznie.<\/li>\n<\/ul>\n\n\n\n<p>Problem polega\u0142 na tym, \u017ce nie potrafi\u0142em ju\u017c po\u0142\u0105czy\u0107 ich z realnym outcome\u2019em.<\/p>\n\n\n\n<p>Jednym z pierwszych moment\u00f3w, kt\u00f3re mocno mnie uderzy\u0142y, by\u0142 issue dotycz\u0105cy orchestracji live quizu przez WebSockety.<\/p>\n\n\n\n<p>Technicznie wszystko mia\u0142o sens:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>state machine,<\/li>\n\n\n\n<li>Redis pub\/sub,<\/li>\n\n\n\n<li>scoring engine,<\/li>\n\n\n\n<li>broadcast event\u00f3w,<\/li>\n\n\n\n<li>synchronizacja participant\u00f3w.<\/li>\n<\/ul>\n\n\n\n<p>Tylko \u017ce po przeczytaniu taska nie potrafi\u0142em odpowiedzie\u0107 sobie na bardzo proste pytanie:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>Co dok\u0142adnie zobaczy u\u017cytkownik, kiedy to sko\u0144czymy?<\/em><\/p>\n<\/blockquote>\n\n\n\n<p>Po zamkni\u0119ciu issue nadal nie umia\u0142em tego oceni\u0107.<\/p>\n\n\n\n<p>Kod powstawa\u0142. CI by\u0142o zielone. Security gate\u2019y przechodzi\u0142y. Agent m\u00f3wi\u0142, \u017ce wszystko jest poprawne.<\/p>\n\n\n\n<p>A ja nadal nie widzia\u0142em produktu.<\/p>\n\n\n\n<p>I tu musz\u0119 doprecyzowa\u0107, bo \u201enie widzia\u0142em produktu\u201d brzmi jak problem estetyczny \u2013 a nie o to chodzi\u0142o. Problemem nie by\u0142o to, \u017ce nie mia\u0142em \u0142adnego ekranu do obejrzenia. Problemem by\u0142o to, \u017ce bez perspektywy ko\u0144cowego u\u017cytkownika nie potrafi\u0142em odpowiedzie\u0107 na jedyne pytanie, kt\u00f3re naprawd\u0119 mnie interesowa\u0142o: czy to, co powstaje, dzia\u0142a tak, jak zak\u0142adali\u015bmy w naszej wizji.<\/p>\n\n\n\n<p><strong>Zielone CI m\u00f3wi\u0142o, \u017ce kod jest poprawny. Nie m\u00f3wi\u0142o, \u017ce produkt jest dobry. A to dwie zupe\u0142nie r\u00f3\u017cne rzeczy.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Problem nie by\u0142 techniczny<\/strong><\/h2>\n\n\n\n<p>Dopiero po kilku dniach dotar\u0142o do mnie, \u017ce problem wygl\u0105da zupe\u0142nie inaczej.<\/p>\n\n\n\n<p>Nie chodzi\u0142o o to, \u017ce system jest zbyt trudny.<\/p>\n\n\n\n<p>Problem polega\u0142 na tym, \u017ce ja i m\u00f3j znajomy patrzymy na produkt IT z dw\u00f3ch zupe\u0142nie r\u00f3\u017cnych perspektyw. I \u017cadna z nich nie jest gorsza.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>On \u201ewidzi\u201d system przez kod. Potrafi spojrze\u0107 na endpoint, migracj\u0119, event, kontrakt czy osobny subsystem i z tych element\u00f3w z\u0142o\u017cy\u0107 w g\u0142owie ca\u0142y produkt. Komponentowy backlog jest dla niego naturalny, bo my\u015bli dok\u0142adnie w tych jednostkach.<\/li>\n\n\n\n<li>Ja \u201ewidz\u0119\u201d system przez outcome. Potrzebuj\u0119 zobaczy\u0107 flow u\u017cytkownika, ekran, zmian\u0119 zachowania \u2013 to, co realnie dostaje ko\u0144cowy u\u017cytkownik. Dopiero z tego sk\u0142adam sobie architektur\u0119, a nie odwrotnie. Dla mnie kod jest skutkiem produktu, nie produkt skutkiem kodu.<\/li>\n<\/ul>\n\n\n\n<p>To nie jest podzia\u0142 na \u201elepszego\u201d i \u201egorszego\u201d. To dwa prawomocne sposoby rozumienia tego samego systemu \u2013 i wi\u0119kszo\u015b\u0107 zespo\u0142\u00f3w ma ludzi po obu stronach. Problem zaczyna si\u0119 dopiero wtedy, gdy organizacja pracy obs\u0142uguje tylko jedn\u0105 z tych perspektyw.<\/p>\n\n\n\n<p>Bo komponentowy backlog karmi\u0142 perspektyw\u0119 mojego znajomego i g\u0142odzi\u0142 moj\u0105. A AI t\u0119 r\u00f3\u017cnic\u0119 mocno uwypukli\u0142o: skoro nie widzia\u0142em outcome\u2019u, to nie wiedzia\u0142em, czy system idzie w stron\u0119 naszej wizji, czy si\u0119 od niej oddala. A wi\u0119c nie mia\u0142em jak go korygowa\u0107. Zamiast sterowa\u0107 produktem, zaczyna\u0142em tylko obserwowa\u0107, jak ro\u015bnie kod.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Moment prze\u0142omowy<\/strong><\/h2>\n\n\n\n<p>Prze\u0142om przyszed\u0142 przy zwyk\u0142ym stand-upie. M\u00f3wi\u0142em koledze, gdzie jeste\u015bmy z projektem, i w pewnym momencie us\u0142ysza\u0142em sam siebie: \u201eNie wiem, czy to ju\u017c dzia\u0142a, bo nie wiem, co w\u0142a\u015bciwie mia\u0142by zobaczy\u0107 user\u201d. To zdanie zawis\u0142o w powietrzu.<\/p>\n\n\n\n<p>Kolega, kt\u00f3ry przy tych samych issue czu\u0142 si\u0119 \u015bwietnie, najpierw nie rozumia\u0142, w czym jest problem. Dopiero gdy pokaza\u0142em mu, \u017ce potrafi\u0119 zrecenzowa\u0107 jego endpoint, ale nie potrafi\u0119 powiedzie\u0107, czy quiz w og\u00f3le si\u0119 odpala, dotar\u0142o do nas obu, \u017ce nie patrzymy na ten sam produkt.<\/p>\n\n\n\n<p>Powiedzieli\u015bmy sobie wprost:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>Dobra, spr\u00f3bujmy inaczej.<\/em><\/p>\n<\/blockquote>\n\n\n\n<p>Nie zmienili\u015bmy architektury. Nie wyrzucili\u015bmy quality gates. Nie zrezygnowali\u015bmy z security.<\/p>\n\n\n\n<p>Zmieni\u0142 si\u0119 tylko spos\u00f3b organizacji pracy.<\/p>\n\n\n\n<p><strong>M\u00f3j znajomy zosta\u0142 przy component slicing. Ja przeszed\u0142em na thin vertical slicing.<\/strong><\/p>\n\n\n\n<p>I praktycznie natychmiast poczu\u0142em r\u00f3\u017cnic\u0119. Nagle po ka\u017cdym issue:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>widzia\u0142em zmian\u0119 w UI,<\/li>\n\n\n\n<li>potrafi\u0142em klikn\u0105\u0107 flow u\u017cytkownika,<\/li>\n\n\n\n<li>mog\u0142em oceni\u0107 outcome,<\/li>\n\n\n\n<li>szybciej poprawia\u0142em agent\u00f3w,<\/li>\n\n\n\n<li>lepiej rozumia\u0142em progres.<\/li>\n<\/ul>\n\n\n\n<p>Najwa\u017cniejsze:<strong> zn\u00f3w mia\u0142em poczucie kontroli nad produktem<\/strong>.<\/p>\n\n\n\n<p>I to nie by\u0142o tylko poczucie komfortu. Kiedy zn\u00f3w widzia\u0142em outcome po ka\u017cdym issue, mog\u0142em na bie\u017c\u0105co wy\u0142apywa\u0107 b\u0142\u0119dy w za\u0142o\u017ceniach i korygowa\u0107 kierunek, zanim uros\u0142y. Mog\u0142em dostosowa\u0107 produkt do tego, co naprawd\u0119 chcieli\u015bmy zbudowa\u0107, a nie do tego, co wynik\u0142o z dos\u0142ownie zinterpretowanego taska.<\/p>\n\n\n\n<p>Bo to jest sedno pracy z agentami: AI robi dok\u0142adnie to, o co prosimy \u2013 niekoniecznie to, czego potrzebujemy. \u017beby w og\u00f3le zobaczy\u0107 t\u0119 r\u00f3\u017cnic\u0119, musia\u0142em najpierw wr\u00f3ci\u0107 do swojej perspektywy \u2013 tej od strony u\u017cytkownika.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>To nie jest artyku\u0142 przeciw component slicing<\/strong><\/h2>\n\n\n\n<p>Component slicing w wielu miejscach realnie wygrywa\u0142. Szczeg\u00f3lnie tam, gdzie liczy\u0142y si\u0119:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>bezpiecze\u0144stwo,<\/li>\n\n\n\n<li>izolacja odpowiedzialno\u015bci,<\/li>\n\n\n\n<li>migracje,<\/li>\n\n\n\n<li>atomowo\u015b\u0107,<\/li>\n\n\n\n<li>kontrakty,<\/li>\n\n\n\n<li>event-driven architecture.<\/li>\n<\/ul>\n\n\n\n<p>Niekt\u00f3re taski wr\u0119cz powinny pozosta\u0107 komponentowe.<\/p>\n\n\n\n<p>Dobrym przyk\u0142adem by\u0142y migracje bazy danych albo security review endpoint\u00f3w. Rozbijanie tego na TVS tylko po to, \u017ceby szybciej zobaczy\u0107 ekran, mog\u0142oby bardziej zaszkodzi\u0107 ni\u017c pom\u00f3c.<\/p>\n\n\n\n<p>Problem nie polega\u0142 wi\u0119c na tym, \u017ce jedno podej\u015bcie by\u0142o lepsze. Polega\u0142 na tym, \u017ce r\u00f3\u017cne modele pracy optymalizuj\u0105 r\u00f3\u017cne feedback loopy, a AI bardzo mocno wzmacnia t\u0119 r\u00f3\u017cnic\u0119.<\/p>\n\n\n\n<p>U nas by\u0142 to ma\u0142y setup: dwie osoby i jeden projekt. Ale ten sam rozjazd skaluje si\u0119 wprost z zespo\u0142em: im wi\u0119cej ludzi pracuje na komponentowym backlogu i im szybciej \u201eagenty\u201d dowo\u017c\u0105 kod, tym wi\u0119cej os\u00f3b naraz traci kontakt z outcome\u2019em. W du\u017cym delivery to ju\u017c nie prywatny dyskomfort jednej osoby, tylko koszt roz\u0142o\u017cony na ca\u0142y zesp\u00f3\u0142. Tym dro\u017cszy, im d\u0142u\u017cej nikt go nie nazwie.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Enabler, feature i pytanie, komu pokaza\u0107 demo<\/strong><\/h2>\n\n\n\n<p>Jest jeszcze jedno rozr\u00f3\u017cnienie, kt\u00f3re przez pierwsze issue kompletnie mi umyka\u0142o: nie ka\u017cda praca ma bezpo\u015brednio dowie\u017a\u0107 co\u015b u\u017cytkownikowi. Cz\u0119\u015b\u0107 z niej buduje drog\u0119 pod to, co u\u017cytkownik dostanie p\u00f3\u017aniej: infrastruktur\u0119, kontrakty, warstw\u0119 bezpiecze\u0144stwa.<\/p>\n\n\n\n<p>W j\u0119zyku, kt\u00f3rego zacz\u0119li\u015bmy u\u017cywa\u0107, podzia\u0142 jest taki:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>feature<\/strong>\u00a0(co\u015b, co zobaczy u\u017cytkownik),\u00a0<\/li>\n\n\n\n<li><strong>enabler<\/strong>\u00a0(co\u015b, co dopiero feature umo\u017cliwia).<\/li>\n<\/ul>\n\n\n\n<p>I tu wraca\u0142 nasz sta\u0142y sp\u00f3r: co pokaza\u0107 na demo, skoro przez ca\u0142y dzie\u0144 robi\u0142o si\u0119 enabler? Bo enabler nie ma ekranu.<\/p>\n\n\n\n<p>Nauczyli\u015bmy si\u0119, \u017ce enabler te\u017c si\u0119 demonstruje, tylko inaczej: pokazujesz, co teraz sta\u0142o si\u0119 mo\u017cliwe, jaki artefakt powsta\u0142, jaki test bezpiecze\u0144stwa przeszed\u0142. Nie \u201eoto ekran\u201d, tylko \u201eoto dlaczego nast\u0119pny ekran w og\u00f3le da si\u0119 zbudowa\u0107\u201d. A biznesowo enabler broni si\u0119 dopiero wtedy, gdy potrafisz go przypi\u0105\u0107 do konkretnego feature\u2019u, kt\u00f3ry odblokowuje: \u201ezbudowali\u015bmy warstw\u0119 WebSocket\u00f3w\u201d nikogo nie interesuje, ale \u201ebez tego live quiz si\u0119 nie odpali, a to sedno produktu\u201d \u2013 ju\u017c tak. Je\u015bli takiej linii do warto\u015bci nie umiesz poci\u0105gn\u0105\u0107, to sygna\u0142, \u017ce enabler mo\u017ce wcale nie by\u0107 teraz potrzebny.<\/p>\n\n\n\n<p>Ale najwa\u017cniejsze okaza\u0142o si\u0119 inne pytanie, zadawane przed ka\u017cdym demem:&nbsp;<strong>dla kogo to pokazujemy?<\/strong>&nbsp;Bo od perspektywy odbiorcy zale\u017cy, czy w og\u00f3le dostaniemy warto\u015bciowy feedback.<\/p>\n\n\n\n<p>Kiedy demo enablera trafia\u0142o do mnie \u2013 osoby patrz\u0105cej przez outcome \u2013 nie mia\u0142em czego dotkn\u0105\u0107, a m\u00f3j feedback sprowadza\u0142 si\u0119 do \u201eno dobra, wierz\u0119 ci\u201d. Zmarnowany czas po obu stronach. Ten sam enabler, pokazany koledze, kt\u00f3ry my\u015bli w kontraktach i subsystemach, generowa\u0142 konkretne uwagi \u2013 bo mia\u0142 czym operowa\u0107.<\/p>\n\n\n\n<p>Przy feature\u2019ach by\u0142o odwrotnie: to ja by\u0142em w\u0142a\u015bciwym odbiorc\u0105, bo potrafi\u0142em klikn\u0105\u0107 flow i powiedzie\u0107: \u201eto nie idzie w stron\u0119 naszej wizji\u201d. Wniosek, kt\u00f3ry sobie zapisali\u015bmy, jest prosty: dobierz odbiorc\u0119 demo do tego, co pokazujesz \u2013 inaczej dostaniesz uprzejme \u201eok\u201d zamiast realnej weryfikacji, a o problemie dowiesz si\u0119 du\u017co p\u00f3\u017aniej, ni\u017c mog\u0142e\u015b.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Wsp\u00f3lne DoD okaza\u0142o si\u0119 wa\u017cniejsze ni\u017c wsp\u00f3lny backlog<\/strong><\/h2>\n\n\n\n<p>Najciekawsze jest chyba to, \u017ce finalnie nie sko\u0144czyli\u015bmy na jednym workflow. Sko\u0144czyli\u015bmy na dw\u00f3ch r\u00f3\u017cnych workflow z jednym wsp\u00f3lnym DoD.<\/p>\n\n\n\n<p>Ka\u017cdy merge musia\u0142 przej\u015b\u0107:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>CI,<\/li>\n\n\n\n<li>security gate\u2019y,<\/li>\n\n\n\n<li>quality review,<\/li>\n\n\n\n<li>acceptance scenario w staging.<\/li>\n<\/ul>\n\n\n\n<p>Niewa\u017cne czy issue by\u0142o:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>komponentowe,<\/li>\n\n\n\n<li>vertical slice,<\/li>\n\n\n\n<li>backendowe,<\/li>\n\n\n\n<li>UX-oriented.<\/li>\n<\/ul>\n\n\n\n<p><strong>Definition of Done pozostawa\u0142o wsp\u00f3lne.<\/strong><\/p>\n\n\n\n<p>I by\u0107 mo\u017ce to by\u0142 najwa\u017cniejszy insight z ca\u0142ego eksperymentu.<\/p>\n\n\n\n<p>Nie potrzebowali\u015bmy identycznego sposobu pracy. <strong>Potrzebowali\u015bmy wsp\u00f3lnej definicji jako\u015bci<\/strong>.<\/p>\n\n\n<div class=\"nsw-o-blogersii-banner\">\n            <picture>\n            <source srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/04\/Blog-Agile-Desktop_.jpg\" media=\"(min-width: 992px)\" >\n            <source srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/04\/Blog-Agile-Mob_.jpg\" media=\"(min-width: 300px)\" >            <img decoding=\"async\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/04\/Blog-Agile-Desktop_.jpg\" alt=\"\"  class=\"\"  >\n        <\/picture>\n        <div class=\"cnt\">\n                    <div class=\"nsw-m-title-block -h3 -invert  -has-title-margin-bottom-0 -has-title-font-weight-bold\">\n                                <h2 class=\"nsw-m-title-block__title\">Agile<\/h2>\n                <\/div>\n                            <p class=\"has-nsw-p-4-font-size has-invert-color\">\n                Nasi eksperci przeprowadz\u0105 zwinn\u0105 transformacj\u0119 Twojej organizacji, co pozwoli Ci na szybsze wprowadzanie produkt\u00f3w na rynek i przyspieszy realizacj\u0119 projekt\u00f3w.\n            <\/p>\n                            <a  href=\"https:\/\/sii.pl\/oferta\/agile\/\" class=\"nsw-a-button -ghost -banner-button\"   >\n        <span>Oferta Agile<\/span>\n    <\/a>\n            <\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Co z tego wynika dla Ciebie<\/strong><\/h2>\n\n\n\n<p>Gdybym mia\u0142 zostawi\u0107 Wam kilka rzeczy na wynos \u2013 bez wracania do ca\u0142ej historii \u2013 wybra\u0142bym te:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Spos\u00f3b krojenia backlogu to nie kosmetyka.<\/strong>\u00a0Component slicing daje izolacj\u0119 i atomowo\u015b\u0107, a thin vertical slicing \u2013 widoczno\u015b\u0107 outcome\u2019u. \u017baden nie jest \u201elepszy\u201d w oderwaniu od cz\u0142owieka, kt\u00f3ry po nim pracuje i od tego, jak ten cz\u0142owiek widzi produkt: przez kod czy przez to, co dostaje u\u017cytkownik.<\/li>\n\n\n\n<li><strong>AI wzmacnia ka\u017cdy mismatch.<\/strong>\u00a0To, co przed agentami by\u0142o drobnym dyskomfortem, przy agentic development zamienia si\u0119 w realny koszt, bo kodu przybywa szybciej, ni\u017c jeste\u015b w stanie zbudowa\u0107 jego mentalny model.<\/li>\n\n\n\n<li><strong>Je\u015bli tracisz orientacj\u0119 w produkcie, zmie\u0144 spos\u00f3b krojenia pracy, zanim zmienisz architektur\u0119.<\/strong>\u00a0Cz\u0119sto to wystarczy, \u017ceby odzyska\u0107 poczucie kontroli.<\/li>\n\n\n\n<li><strong>Nie musicie pracowa\u0107 tak samo. Musicie mie\u0107 wsp\u00f3lny Definition of Done.<\/strong>\u00a0To DoD, nie wsp\u00f3lny backlog, trzyma jako\u015b\u0107, gdy ka\u017cdy tnie prac\u0119 po swojemu.<\/li>\n\n\n\n<li><strong>Ale ten wsp\u00f3lny DoD musi by\u0107 egzekwowalny, nie deklaratywny.<\/strong>\u00a0U nas trzyma\u0142y go CI, security gate\u2019y, quality review i acceptance na stagingu, a nie zapis w Confluence. Dwa workflow bez twardego, wymuszanego DoD to nie elastyczno\u015b\u0107, tylko powolny dryf w dwie r\u00f3\u017cne strony.<\/li>\n\n\n\n<li><strong>Zanim poka\u017cesz demo, ustal, kto b\u0119dzie jego odbiorc\u0105.<\/strong>\u00a0Enabler oceni sensownie tylko kto\u015b patrz\u0105cy przez kod; feature \u2013 kto\u015b patrz\u0105cy przez outcome. Pokazanie enablera \u201eoutcome\u2019owcowi\u201d da ci uprzejme \u201eok\u201d zamiast feedbacku i przesunie wykrycie problemu w czasie.<\/li>\n<\/ul>\n\n\n\n<p>Najprostszy test, jaki sobie zostawili\u015bmy: <strong>je\u015bli zamykasz issue i wci\u0105\u017c nie umiesz powiedzie\u0107,&nbsp;czy produkt jest bli\u017cej Waszej wizji&nbsp;\u2013 to nie problem agenta<\/strong>. To sygna\u0142, \u017ce Tw\u00f3j spos\u00f3b krojenia pracy rozjecha\u0142 si\u0119 z tym, jak budujesz produkt w swojej g\u0142owie.<\/p>\n\n\n\n<p><strong>A jaka jest Wasza percepcja na ten temat?<\/strong>&nbsp;Spotkali\u015bcie si\u0119 z podobnym rozjazdem w swoich zespo\u0142ach. Jak sobie z nim poradzili\u015bcie? Ch\u0119tnie poczytam w komentarzach.<\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;34447&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;0&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;0&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;2&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;0\\\/5&quot;,&quot;size&quot;:&quot;30&quot;,&quot;title&quot;:&quot;Thin Vertical Slice vs. Component Slicing w erze AI&quot;,&quot;width&quot;:&quot;0&quot;,&quot;_legend&quot;:&quot;{score}\\\/5&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 0px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 24px;\">\n            <span class=\"kksr-muted\"><\/span>\n    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>M\u00f3j znajomy widzi system, patrz\u0105c w kod. Ja widz\u0119 go dopiero wtedy, gdy zobacz\u0119, co dostaje u\u017cytkownik. Przez d\u0142ugi czas &hellip; <a class=\"continued-btn\" href=\"https:\/\/sii.pl\/blog\/thin-vertical-slice-vs-component-slicing-w-erze-ai\/\">Continued<\/a><\/p>\n","protected":false},"author":806,"featured_media":34448,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","inline_featured_image":false,"footnotes":""},"categories":[1318],"tags":[11395,2871,1095,90,682],"class_list":["post-34447","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-zarzadzanie-projektami","tag-claude","tag-agenci-ai","tag-sciezki-karier","tag-agile","tag-artificial-intelligence"],"acf":[],"aioseo_notices":[],"republish_history":[],"featured_media_url":"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/07\/Cooperation-1.jpg","category_names":["Zarz\u0105dzanie projektami"],"_links":{"self":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/34447"}],"collection":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/users\/806"}],"replies":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/comments?post=34447"}],"version-history":[{"count":1,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/34447\/revisions"}],"predecessor-version":[{"id":34450,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/34447\/revisions\/34450"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media\/34448"}],"wp:attachment":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media?parent=34447"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/categories?post=34447"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/tags?post=34447"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}