{"id":2183,"date":"2021-07-04T08:18:00","date_gmt":"2021-07-04T06:18:00","guid":{"rendered":"https:\/\/agileinstitute.pl\/?p=2183"},"modified":"2021-07-04T12:45:36","modified_gmt":"2021-07-04T10:45:36","slug":"user-story-jak-zapisywac-wymagania-uzytkownika","status":"publish","type":"post","link":"https:\/\/agileinstitute.pl\/index.php\/2021\/07\/04\/user-story-jak-zapisywac-wymagania-uzytkownika\/","title":{"rendered":"User Story \u2013 jak zapisywa\u0107 wymagania u\u017cytkownika"},"content":{"rendered":"\n<p>Historyjki U&#380;ytkownika (ang. User Stories), to koncepcja wprowadzona przez tw&oacute;rc&oacute;w zwinnej metody XP (Extreme Programming). Kent Beck i Martin Fowler zaproponowali j&#261; w swojej ksi&#261;&#380;ce &bdquo;Planning Extreme Programming&rdquo;:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><em>Historyjka jest jednostk&#261; funkcjonalno&#347;ci&nbsp; w projektach XP. Pokazujemy post&#281;p prac, dostarczaj&#261;c przetestowany i zintegrowany kod, kt&oacute;ry sk&#322;ada si&#281; na implementacj&#281; danej historyjki. Historyjka powinna by&#263; zrozumia&#322;a i warto&#347;ciowa dla <a href=\"https:\/\/agileinstitute.pl\/index.php\/encyclopedia\/klient\/\" target=\"_self\" title=\"Klient&nbsp;&ndash; ka&#380;da osoba oczekuj&#261;ca na&nbsp;efekt naszej pracy. Klient zewn&#281;trzny &ndash; klient poza naszym przedsi&#281;biorstwem. Klient wewn&#281;trzny &ndash; klient w&nbsp;ramach firmy (np.&nbsp;kolejny proces, prze&#322;o&#380;ony, pracownik)\" class=\"encyclopedia\">klient<\/a>&oacute;w, testowalna przez programist&oacute;w i na tyle ma&#322;a, &#380;eby programi&#347;ci mogli zaimplementowa&#263; sze&#347;&#263; historyjek w trakcie jednej iteracji.<\/em><\/p><cite>K. Beck, M. Fowler<\/cite><\/blockquote>\n\n\n\n<p>Tradycyjnie historyjki u&#380;ytkownika przypominaj&#261; troch&#281; fiszki w katalogu bibliotecznym. Przyjmuj&#261; form&#281; kartonika lub kartki papieru, na kt&oacute;rych zapisany zwi&#281;z&#322;y opis funkcjonalno&#347;ci, u&#380;ytecznej dla okre&#347;lonego u&#380;ytkownika <a href=\"https:\/\/agileinstitute.pl\/index.php\/encyclopedia\/system\/\" target=\"_self\" title=\"System: to celowo okre&#347;lony z&#322;o&#380;ony i dynamiczny zbi&oacute;r wzajemnie powi&#261;zanych element&oacute;w realizuj&#261;cych jako ca&#322;o&#347;&#263; wyznaczon&#261; funkcj&#281;. W kontek&#347;cie Kanbanu Teoria System&oacute;w jest wykorzystywana do holistycznego zrozumienia zachowa&#324; system&oacute;w spo&#322;ecznych oraz organizacji.\" class=\"encyclopedia\">system<\/a>u.<\/p>\n\n\n\n<h2><strong>JAKO&hellip; CHC&#280;&hellip; ABY&hellip;<\/strong><\/h2>\n\n\n\n<p>Jednym z najpopularniejszych wzorc&oacute;w zapisu historyjek jest: JAKO&hellip;CHC&#280;&hellip;ABY&hellip;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Jako &lt;rodzaj u\u017cytkownika&gt; chc\u0119 &lt;wykona\u0107 zadanie&gt;, aby &lt;osi\u0105gn\u0105\u0107 cel&gt;.<\/pre>\n\n\n\n<p>Tak zdefiniowana historyjka odpowiada na kilka pyta&#324;:<\/p>\n\n\n\n<p>&ndash; <strong>Kto jest u&#380;ytkownikiem?<\/strong> (Komu potrzebne jest to rozwi&#261;zanie? Kogo dotyczy ma problem? Kim jest nasz u&#380;ytkownik?)<\/p>\n\n\n\n<p>&ndash; <strong>Co trzeba zrobi&#263;?<\/strong> (Co chcemy dostarczy&#263;? W jaki spos&oacute;b rozwi&#261;&#380;emy problem? Jak zweryfikujemy nasz&#261; hipotez&#281;?)<\/p>\n\n\n\n<p>&ndash; <strong>Dlaczego jest mu to potrzebne. (Dlaczego to robimy?<\/strong> Jaki problem chcemy rozwi&#261;za&#263;? Jak&#261; mamy hipotez&#281;? Jak&#261; mo&#380;liwo&#347;&#263; pr&oacute;bujemy wykorzysta&#263;?)<\/p>\n\n\n\n<h2><strong>CCC<\/strong><\/h2>\n\n\n\n<p>Agile wprowadza koncepcj&#281; historyjki u&#380;ytkownika aby zapewni&#263; &#322;atwy i szybki spos&oacute;b zapisu wymaga&#324; u&#380;ytkownika. Rozwi&#261;zanie to przypomina r&oacute;wnie&#380; o konieczno&#347;ci konwersacji &ndash; rozmowie na temat potrzeb u&#380;ytkownika, aby je zrozumia&#322; ca&#322;y zesp&oacute;&#322;. Historie u&#380;ytkownika s&#261; do&#347;&#263; dobrze wyja&#347;nione poprzez 3K (ang. 3C):<\/p>\n\n\n\n<p>&ndash; Karta (ang. Card) &ndash; zapisane na niewielkiej kartce (7,5 x 12,5 cm) przy pomocy flamastra. Zawoeta lakoniczny opis funkcjonalno&#347;ci. Ma&#322;a kartka nie zmie&#347;ci pe&#322;nej specyfikacji wymaga&#324;. Dlatego zach&#281;ca do &ndash; Konwersacji.<\/p>\n\n\n\n<p>&ndash; Konwersacja (ang. Conversation) &ndash; poniewa&#380; historyjki s&#261; niejednoznaczne &ndash; zmuszaj&#261; do konwersacji. Zespo&#322;y cz&#281;sto wskazuj&#261;, &#380;e obszar, kt&oacute;ry wymaga najwi&#281;cej poprawek &ndash; to obszar komunikacji. W&#322;a&#347;cicel Produktu cz&#281;sto spotyka si&#281;z zespo&#322;em aby porozmawia&#263; o najdrobniejszych nawet szczeg&oacute;&#322;ach zwi&#261;zanych z realizacj&#261; konkretnej funkcjonalno&#347;ci. Szczeg&oacute;&#322;y realizacji mieszcz&#261; si&#281; w trzecim K.<\/p>\n\n\n\n<p>&ndash; Konfirmacja (ang. Confirmation) &ndash; zamiast bez ko&#324;ca powtarza&#263; kolejne konwersacje, zespo&#322;y zwinne ustalaj&#261; szczeg&oacute;&#322;y historyjek u&#380;ytkownika, zapisuj&#261;c je jako kryteria akceptacyjne. Stanowi&#261; one warunek aby uzna&#263; historyjk&#281; za zaakceptowan&#261;. <a href=\"https:\/\/agileinstitute.pl\/index.php\/encyclopedia\/wlasciciel-produktu\/\" target=\"_self\" title=\"W&#322;a&#347;ciciel Produktu (ang. Product Owner):&nbsp;rola w Scrum odpowiedzialna za maksymalizacj&#281; warto&#347;ci produktu, przede wszystkim przez przyrostowe zarz&#261;dzanie i przekazywanie biznesowych i funkcjonalnych oczekiwa&#324; dotycz&#261;cych produktu zespo&#322;owi deweloperskiemu.\" class=\"encyclopedia\">W&#322;a&#347;ciciel Produktu<\/a> reprezentuj&#261;cy <a href=\"https:\/\/agileinstitute.pl\/index.php\/encyclopedia\/interesariusz\/\" target=\"_self\" title=\"Interesariusz (ang. Stakeholder):&nbsp;osoba spoza Zespo&#322;u Scrumowego, maj&#261;ca szczeg&oacute;lne zainteresowanie i znajomo&#347;&#263; produktu, kt&oacute;re s&#261; niezb&#281;dne do przyrostowego tworzenia produktu. Reprezentowany jest przez w&#322;a&#347;ciciela produktu i aktywnie anga&#380;uje si&#281; w prac&#281; z zespo&#322;em Scrum podczas Review Sprintu.\" class=\"encyclopedia\">interesariusz<\/a>y uwa&#380;a je za niezb&#281;dne minimum. Dlatego dobr&#261; praktyk&#261; jest ograniczenie kryteri&oacute;w akceptacyjnych do odwrotnej strony kartki z historyjk&#261;. Je&#380;eli jest na niej zbyt ma&#322;o miejsca &ndash; warto rozwa&#380;y&#263; podzielenie historyjki na kilka mniejszych.<\/p>\n\n\n\n<h2><strong>INVEST<\/strong><\/h2>\n\n\n\n<p>Bill Wake w swojej ksi&#261;&#380;ce Extreme Programming Explored poda&#322; dla User Stories przydatny mnemonik: &bdquo;INVEST&rdquo;:<\/p>\n\n\n\n<p><strong>&ndash; Independent<\/strong> (niezale&#380;na)<\/p>\n\n\n\n<p>&#321;atwiej pracuje si&#281; z historyjkami, kt&oacute;re s&#261; niezale&#380;ne, nie nak&#322;adaj&#261; si&#281; pod wzgl&#281;dem pomys&#322;u i gdy chcemy zaplanowa&#263; ich wykonanie, nie musimy przejmowa&#263; si&#281; ich kolejno&#347;ci&#261;.<\/p>\n\n\n\n<p><strong>&ndash; Negotiable<\/strong>&nbsp; (negocjowalna)<\/p>\n\n\n\n<p>Dobrze dobrana historyjka jest negocjowalna. Nie jest zamkni&#281;tym tworem, ale mo&#380;e by&#263; uzgadniana z <a href=\"https:\/\/agileinstitute.pl\/index.php\/encyclopedia\/klient\/\" target=\"_self\" title=\"Klient&nbsp;&ndash; ka&#380;da osoba oczekuj&#261;ca na&nbsp;efekt naszej pracy. Klient zewn&#281;trzny &ndash; klient poza naszym przedsi&#281;biorstwem. Klient wewn&#281;trzny &ndash; klient w&nbsp;ramach firmy (np.&nbsp;kolejny proces, prze&#322;o&#380;ony, pracownik)\" class=\"encyclopedia\">klient<\/a>em na bie&#380;&#261;co podczas realizacji. Dobra historyjka skupia si&#281; na istocie a nie szczeg&oacute;&#322;ach i mo&#380;e by&#263; uzupe&#322;niana o notatki, pomys&#322;y test&oacute;w (ale nie jest to niezb&#281;dne na etapie ustalania priorytetu i szacowania z&#322;o&#380;ono&#347;ci).<\/p>\n\n\n\n<p><strong>&ndash; Valuable<\/strong> (warto&#347;ciowa)<\/p>\n\n\n\n<p>Historyjka powinna nie&#347;&#263; <a href=\"https:\/\/agileinstitute.pl\/index.php\/encyclopedia\/wartosc\/\" target=\"_self\" title=\"Warto&#347;&#263;&nbsp;&ndash; wszystko to&nbsp;czego oczekuje klient i&nbsp;jest got&oacute;w za&nbsp;to&nbsp;zap&#322;aci&#263;.\" class=\"encyclopedia\">warto&#347;&#263;<\/a> &ndash; <a href=\"https:\/\/agileinstitute.pl\/index.php\/encyclopedia\/wartosc\/\" target=\"_self\" title=\"Warto&#347;&#263;&nbsp;&ndash; wszystko to&nbsp;czego oczekuje klient i&nbsp;jest got&oacute;w za&nbsp;to&nbsp;zap&#322;aci&#263;.\" class=\"encyclopedia\">warto&#347;&#263;<\/a> nie dla byle kogo, a dla <a href=\"https:\/\/agileinstitute.pl\/index.php\/encyclopedia\/klient\/\" target=\"_self\" title=\"Klient&nbsp;&ndash; ka&#380;da osoba oczekuj&#261;ca na&nbsp;efekt naszej pracy. Klient zewn&#281;trzny &ndash; klient poza naszym przedsi&#281;biorstwem. Klient wewn&#281;trzny &ndash; klient w&nbsp;ramach firmy (np.&nbsp;kolejny proces, prze&#322;o&#380;ony, pracownik)\" class=\"encyclopedia\">klient<\/a>a\/u&#380;ytkownika. Deweloperzy mog&#261; podnosi&#263; niekt&oacute;re kwestie, ale nale&#380;y je tak formu&#322;owa&#263;, aby by&#322;y istotne dla ko&#324;cowego u&#380;ytkownika.<\/p>\n\n\n\n<p>&ndash; <strong>Estimable<\/strong> (oszacowana)<\/p>\n\n\n\n<p>Prawid&#322;owo zapisan&#261; historyjk&#281; u&#380;ytkownika powinno da&#263; si&#281; oszacowa&#263;.  Ale o<a href=\"https:\/\/agileinstitute.pl\/index.php\/encyclopedia\/state\/\" target=\"_self\" title=\"State (stan): charakterystyka danego zadania umo&#380;liwiaj&#261;ca jego przyporz&#261;dkowanie do danego etapu pracy.\" class=\"encyclopedia\">state<\/a>czne szacowanie nie jest niezb&#281;dne. Za to powinno by&#263; na tyle szczeg&oacute;&#322;owe, by pom&oacute;c <a href=\"https:\/\/agileinstitute.pl\/index.php\/encyclopedia\/klient\/\" target=\"_self\" title=\"Klient&nbsp;&ndash; ka&#380;da osoba oczekuj&#261;ca na&nbsp;efekt naszej pracy. Klient zewn&#281;trzny &ndash; klient poza naszym przedsi&#281;biorstwem. Klient wewn&#281;trzny &ndash; klient w&nbsp;ramach firmy (np.&nbsp;kolejny proces, prze&#322;o&#380;ony, pracownik)\" class=\"encyclopedia\">klient<\/a>owi ustali&#263; kolejno&#347;&#263; i harmonogram implementacji. W zwi&#261;zku z tym, &#380;e szacowalno&#347;&#263; jest zale&#380;na od negocjowalno&#347;ci, przed oszacowaniem nale&#380;y zrozumie&#263;, co jest do zrobienia. Wi&#281;ksze historyjki trudno jest oszacowa&#263; i w&oacute;wczas zwykle warto je podzieli&#263; na mniejsze. Umiej&#281;tno&#347;&#263; szacowania b&#281;dzie wzrasta&#263; wraz z rosn&#261;cym do&#347;wiadczeniem zespo&#322;u.<\/p>\n\n\n\n<p>&ndash; <strong>Small <\/strong>(ma&#322;a)<\/p>\n\n\n\n<p>Dobre historyjki zazwyczaj s&#261; ma&#322;e, powinny da&#263; si&#281; zrealizowa&#263; podczas pojedynczego <a href=\"https:\/\/agileinstitute.pl\/index.php\/encyclopedia\/sprint\/\" target=\"_self\" title=\"Sprint:&nbsp;zdarzenie ograniczone czasowo o d&#322;ugo&#347;ci 30 dni lub mniej, kt&oacute;re zawiera inne wydarzenia i dzia&#322;ania Scrumowe. Sprinty s&#261; wykonywane kolejno, bez przerw pomi&#281;dzy kolejnymi Sprintami.\" class=\"encyclopedia\">sprint<\/a>u. Mniejsze historyjki daje si&#281; bardziej precyzyjnie oszacowa&#263;.<\/p>\n\n\n\n<p>&ndash; <strong>Testable <\/strong>(testowalna)<\/p>\n\n\n\n<p>Dobra historyjka jest testowalna. Powinna by&#263; na tyle zrozumia&#322;a, aby m&oacute;c napisa&#263; dla niej test. Takie podej&#347;cie wspiera test driven development.<\/p>\n\n\n\n<h2><strong>DEEP<\/strong><\/h2>\n\n\n\n<p>Innym akronimem dla historyjek u&#380;ytkownika jest DEEP (wprowadzony przez Romana Pichlera i stosowany przez Mike&rsquo;a Cohna:<\/p>\n\n\n\n<p>&ndash; <strong>Detailed Enough<\/strong> &ndash; z wystarczaj&#261;co okre&#347;lonymi szczeg&oacute;&#322;owymi kryteriami akceptacyjnymi aby zacz&#261;&#263;.<\/p>\n\n\n\n<p>&ndash; <strong>Emergent<\/strong> &ndash; <a href=\"https:\/\/agileinstitute.pl\/index.php\/encyclopedia\/backlog-produktu\/\" target=\"_self\" title=\"Backlog Produktu (ang. Product Backlog):&nbsp;uporz&#261;dkowana zgodnie z priorytetem lista fragment&oacute;w pracy, kt&oacute;r&#261; nale&#380;y wykona&#263;, aby stworzy&#263;, rozwija&#263; i utrzyma&#263; produkt. Zarz&#261;dzany przez W&#322;a&#347;ciciela Produktu.\" class=\"encyclopedia\">backlog produktu<\/a> nigdy nie jest kompletny, ale rozrasta si&#281; w miar&#281; jego doskonalenia z up&#322;ywem czasu.<\/p>\n\n\n\n<p>&ndash; <strong>Estimated Relatively<\/strong> &ndash; wzgl&#281;dne oszacowanie pozwala okre&#347;li&#263; rozmiary pod wzgl&#281;dem wysi&#322;ku realizacyjnego.<\/p>\n\n\n\n<p>&ndash; <strong>Prioritized Ordered<\/strong> &ndash; uporz&#261;dkowane priorytetowo wed&#322;ug warto&#347;ci, ryzyka, kosztu, zale&#380;no&#347;ci itp.<\/p>\n\n\n\n<h2>Literatura:<\/h2>\n\n\n\n<p>K. Beck, M. Fowler, &bdquo;Planning Extreme Programming&rdquo;, Addison-Wesley, Boston 2000, s. 42<\/p>\n\n\n\n<p>&#321;. Br&#281;k, <a href=\"https:\/\/bialko.eu\/agile\/zrodla-wymagan\/\">https:\/\/bialko.eu\/agile\/zrodla-wymagan\/<\/a><\/p>\n\n\n\n<p>M. &nbsp;Cohn <a href=\"https:\/\/www.mountaingoatsoftware.com\/blog\/make-the-product-backlog-deep\">https:\/\/www.mountaingoatsoftware.com\/blog\/make-the-product-backlog-deep<\/a><\/p>\n\n\n\n<p>M. Chrapko,&rdquo;<a href=\"https:\/\/agileinstitute.pl\/index.php\/encyclopedia\/scrum\/\" target=\"_self\" title=\"Scrum:&nbsp;framework wspieraj&#261;cy zespo&#322;y w kompleksowym opracowywaniu produkt&oacute;w. Scrum sk&#322;ada si&#281; z Zespo&#322;&oacute;w Scrumowych i zwi&#261;zanych z nimi r&oacute;l, zdarze&#324;, artefakt&oacute;w i regu&#322;, zgodnie z definicj&#261; w Scrum Guide.\" class=\"encyclopedia\">Scrum<\/a>. O zwinnym zarz&#261;dzaniu projektami&rdquo;, Helion, Gliwice 2015, s. 150-168<\/p>\n\n\n\n<p>C. Larman, <a href=\"https:\/\/www.agilealliance.org\/glossary\/three-cs\/#q=~(infinite~false~filters~(postType~(~'page~'post~'aa_book~'aa_event_session~'aa_experience_report~'aa_glossary~'aa_research_paper~'aa_video)~tags~(~'three*20cs))~searchTerm~'~sort~false~sortDirection~'asc~page~1)\">https:\/\/www.agilealliance.org\/glossary\/three-cs\/#q=~(infinite~false~filters~(postType~(~&rsquo;page~&rsquo;post~&rsquo;aa_book~&rsquo;aa_event_session~&rsquo;aa_experience_report~&rsquo;aa_glossary~&rsquo;aa_research_paper~&rsquo;aa_video)~tags~(~&rsquo;three*20cs))~searchTerm~&rsquo;~sort~false~sortDirection~&rsquo;asc~page~1)<\/a><\/p>\n\n\n\n<p>J. Szczepanik, J.Wieczorek, <a href=\"https:\/\/porzadnyagile.pl\/047-definition-of-ready\/\">https:\/\/porzadnyagile.pl\/047-definition-of-ready\/<\/a><\/p>\n\n\n\n<p>W. C. Wake, &bdquo;Extreme Programming Explored&rdquo;, Boston, Addison-Wesley, 2002<\/p>\n\n\n\n<p>T. Wykowski, <a href=\"https:\/\/procognita.pl\/post\/user-stories-czyli-historie-uzytkownika-84\">https:\/\/procognita.pl\/post\/user-stories-czyli-historie-uzytkownika-84<\/a><\/p>\n\n\n\n<p>T. Wykowski, <a href=\"https:\/\/procognita.pl\/post\/3-sposoby-zeby-zrozumiec-twoich-uzytkownikow-442\">https:\/\/procognita.pl\/post\/3-sposoby-zeby-zrozumiec-twoich-uzytkownikow-442<\/a><\/p>\n\n\n\n<p>T.Wykowski, &bdquo;Biznes odczarowany&rdquo;, ProCognita, Krak&oacute;w 2019, s 126-127<\/p>\n\n\n\n<p>D. McGreal, R. Jocham, &bdquo;Profesjonalny <a href=\"https:\/\/agileinstitute.pl\/index.php\/encyclopedia\/wlasciciel-produktu\/\" target=\"_self\" title=\"W&#322;a&#347;ciciel Produktu (ang. Product Owner):&nbsp;rola w Scrum odpowiedzialna za maksymalizacj&#281; warto&#347;ci produktu, przede wszystkim przez przyrostowe zarz&#261;dzanie i przekazywanie biznesowych i funkcjonalnych oczekiwa&#324; dotycz&#261;cych produktu zespo&#322;owi deweloperskiemu.\" class=\"encyclopedia\">W&#322;a&#347;ciciel Produktu<\/a>. Jak <a href=\"https:\/\/agileinstitute.pl\/index.php\/encyclopedia\/scrum\/\" target=\"_self\" title=\"Scrum:&nbsp;framework wspieraj&#261;cy zespo&#322;y w kompleksowym opracowywaniu produkt&oacute;w. Scrum sk&#322;ada si&#281; z Zespo&#322;&oacute;w Scrumowych i zwi&#261;zanych z nimi r&oacute;l, zdarze&#324;, artefakt&oacute;w i regu&#322;, zgodnie z definicj&#261; w Scrum Guide.\" class=\"encyclopedia\">Scrum<\/a> zwi&#281;ksza przewag&#281; konkurencyjn&#261;&rdquo;, APN Promise, Warszawa 2019, s. 197-212<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Historyjki U\u017cytkownika (ang. User Stories), to koncepcja wprowadzona przez tw\u00f3rc\u00f3w zwinnej metody XP (Extreme Programming). Kent Beck i Martin Fowler [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2182,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":""},"categories":[5],"tags":[489,7,329,488],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.6.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>User Story \u2013 jak zapisywa\u0107 wymagania u\u017cytkownika - Agile Institute<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/agileinstitute.pl\/index.php\/2021\/07\/04\/user-story-jak-zapisywac-wymagania-uzytkownika\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"User Story \u2013 jak zapisywa\u0107 wymagania u\u017cytkownika - Agile Institute\" \/>\n<meta property=\"og:description\" content=\"Historyjki U\u017cytkownika (ang. User Stories), to koncepcja wprowadzona przez tw\u00f3rc\u00f3w zwinnej metody XP (Extreme Programming). Kent Beck i Martin Fowler [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/agileinstitute.pl\/index.php\/2021\/07\/04\/user-story-jak-zapisywac-wymagania-uzytkownika\/\" \/>\n<meta property=\"og:site_name\" content=\"Agile Institute\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/agileinstitutepl\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/aleksander.koska\" \/>\n<meta property=\"article:published_time\" content=\"2021-07-04T06:18:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-07-04T10:45:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/agileinstitute.pl\/wp-content\/uploads\/2021\/07\/user_story1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2344\" \/>\n\t<meta property=\"og:image:height\" content=\"2136\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Aleksander K\u00f3ska\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"Aleksander K\u00f3ska\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minuty\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/agileinstitute.pl\/index.php\/2021\/07\/04\/user-story-jak-zapisywac-wymagania-uzytkownika\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/agileinstitute.pl\/index.php\/2021\/07\/04\/user-story-jak-zapisywac-wymagania-uzytkownika\/\"},\"author\":{\"name\":\"Aleksander K\u00f3ska\",\"@id\":\"https:\/\/agileinstitute.pl\/#\/schema\/person\/c01b57324ad084e09c25f1a03a5f7e1d\"},\"headline\":\"User Story \u2013 jak zapisywa\u0107 wymagania u\u017cytkownika\",\"datePublished\":\"2021-07-04T06:18:00+00:00\",\"dateModified\":\"2021-07-04T10:45:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/agileinstitute.pl\/index.php\/2021\/07\/04\/user-story-jak-zapisywac-wymagania-uzytkownika\/\"},\"wordCount\":960,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/agileinstitute.pl\/#organization\"},\"keywords\":[\"Extreme Programming\",\"Scrum\",\"user story\",\"XP\"],\"articleSection\":[\"Blog\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/agileinstitute.pl\/index.php\/2021\/07\/04\/user-story-jak-zapisywac-wymagania-uzytkownika\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/agileinstitute.pl\/index.php\/2021\/07\/04\/user-story-jak-zapisywac-wymagania-uzytkownika\/\",\"url\":\"https:\/\/agileinstitute.pl\/index.php\/2021\/07\/04\/user-story-jak-zapisywac-wymagania-uzytkownika\/\",\"name\":\"User Story \u2013 jak zapisywa\u0107 wymagania u\u017cytkownika - Agile Institute\",\"isPartOf\":{\"@id\":\"https:\/\/agileinstitute.pl\/#website\"},\"datePublished\":\"2021-07-04T06:18:00+00:00\",\"dateModified\":\"2021-07-04T10:45:36+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/agileinstitute.pl\/index.php\/2021\/07\/04\/user-story-jak-zapisywac-wymagania-uzytkownika\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/agileinstitute.pl\/index.php\/2021\/07\/04\/user-story-jak-zapisywac-wymagania-uzytkownika\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/agileinstitute.pl\/index.php\/2021\/07\/04\/user-story-jak-zapisywac-wymagania-uzytkownika\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/agileinstitute.pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"User Story \u2013 jak zapisywa\u0107 wymagania u\u017cytkownika\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/agileinstitute.pl\/#website\",\"url\":\"https:\/\/agileinstitute.pl\/\",\"name\":\"Agile Institute\",\"description\":\"\u017br\u00f3d\u0142o wiedzy o Agile\",\"publisher\":{\"@id\":\"https:\/\/agileinstitute.pl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/agileinstitute.pl\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/agileinstitute.pl\/#organization\",\"name\":\"Agile Institute\",\"url\":\"https:\/\/agileinstitute.pl\/\",\"sameAs\":[\"https:\/\/www.instagram.com\/agileinstitutepl\/?hl=pl\",\"https:\/\/www.linkedin.com\/company\/28517752\/admin\/\",\"https:\/\/www.facebook.com\/agileinstitutepl\"],\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/agileinstitute.pl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/agileinstitute.pl\/wp-content\/uploads\/2019\/09\/logo_Agile_Institute.png\",\"contentUrl\":\"https:\/\/agileinstitute.pl\/wp-content\/uploads\/2019\/09\/logo_Agile_Institute.png\",\"width\":962,\"height\":968,\"caption\":\"Agile Institute\"},\"image\":{\"@id\":\"https:\/\/agileinstitute.pl\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/agileinstitute.pl\/#\/schema\/person\/c01b57324ad084e09c25f1a03a5f7e1d\",\"name\":\"Aleksander K\u00f3ska\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/agileinstitute.pl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f33332260ce11d32b0d0a5c36fdf8c95?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f33332260ce11d32b0d0a5c36fdf8c95?s=96&d=mm&r=g\",\"caption\":\"Aleksander K\u00f3ska\"},\"sameAs\":[\"https:\/\/www.facebook.com\/aleksander.koska\",\"https:\/\/www.instagram.com\/aleksanderkoska\/\",\"https:\/\/www.linkedin.com\/in\/aleksanderkoska\/\"],\"url\":\"https:\/\/agileinstitute.pl\/index.php\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"User Story \u2013 jak zapisywa\u0107 wymagania u\u017cytkownika - Agile Institute","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/agileinstitute.pl\/index.php\/2021\/07\/04\/user-story-jak-zapisywac-wymagania-uzytkownika\/","og_locale":"pl_PL","og_type":"article","og_title":"User Story \u2013 jak zapisywa\u0107 wymagania u\u017cytkownika - Agile Institute","og_description":"Historyjki U\u017cytkownika (ang. User Stories), to koncepcja wprowadzona przez tw\u00f3rc\u00f3w zwinnej metody XP (Extreme Programming). Kent Beck i Martin Fowler [&hellip;]","og_url":"https:\/\/agileinstitute.pl\/index.php\/2021\/07\/04\/user-story-jak-zapisywac-wymagania-uzytkownika\/","og_site_name":"Agile Institute","article_publisher":"https:\/\/www.facebook.com\/agileinstitutepl","article_author":"https:\/\/www.facebook.com\/aleksander.koska","article_published_time":"2021-07-04T06:18:00+00:00","article_modified_time":"2021-07-04T10:45:36+00:00","og_image":[{"width":2344,"height":2136,"url":"https:\/\/agileinstitute.pl\/wp-content\/uploads\/2021\/07\/user_story1.png","type":"image\/png"}],"author":"Aleksander K\u00f3ska","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"Aleksander K\u00f3ska","Szacowany czas czytania":"4 minuty"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/agileinstitute.pl\/index.php\/2021\/07\/04\/user-story-jak-zapisywac-wymagania-uzytkownika\/#article","isPartOf":{"@id":"https:\/\/agileinstitute.pl\/index.php\/2021\/07\/04\/user-story-jak-zapisywac-wymagania-uzytkownika\/"},"author":{"name":"Aleksander K\u00f3ska","@id":"https:\/\/agileinstitute.pl\/#\/schema\/person\/c01b57324ad084e09c25f1a03a5f7e1d"},"headline":"User Story \u2013 jak zapisywa\u0107 wymagania u\u017cytkownika","datePublished":"2021-07-04T06:18:00+00:00","dateModified":"2021-07-04T10:45:36+00:00","mainEntityOfPage":{"@id":"https:\/\/agileinstitute.pl\/index.php\/2021\/07\/04\/user-story-jak-zapisywac-wymagania-uzytkownika\/"},"wordCount":960,"commentCount":0,"publisher":{"@id":"https:\/\/agileinstitute.pl\/#organization"},"keywords":["Extreme Programming","Scrum","user story","XP"],"articleSection":["Blog"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/agileinstitute.pl\/index.php\/2021\/07\/04\/user-story-jak-zapisywac-wymagania-uzytkownika\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/agileinstitute.pl\/index.php\/2021\/07\/04\/user-story-jak-zapisywac-wymagania-uzytkownika\/","url":"https:\/\/agileinstitute.pl\/index.php\/2021\/07\/04\/user-story-jak-zapisywac-wymagania-uzytkownika\/","name":"User Story \u2013 jak zapisywa\u0107 wymagania u\u017cytkownika - Agile Institute","isPartOf":{"@id":"https:\/\/agileinstitute.pl\/#website"},"datePublished":"2021-07-04T06:18:00+00:00","dateModified":"2021-07-04T10:45:36+00:00","breadcrumb":{"@id":"https:\/\/agileinstitute.pl\/index.php\/2021\/07\/04\/user-story-jak-zapisywac-wymagania-uzytkownika\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/agileinstitute.pl\/index.php\/2021\/07\/04\/user-story-jak-zapisywac-wymagania-uzytkownika\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/agileinstitute.pl\/index.php\/2021\/07\/04\/user-story-jak-zapisywac-wymagania-uzytkownika\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/agileinstitute.pl\/"},{"@type":"ListItem","position":2,"name":"User Story \u2013 jak zapisywa\u0107 wymagania u\u017cytkownika"}]},{"@type":"WebSite","@id":"https:\/\/agileinstitute.pl\/#website","url":"https:\/\/agileinstitute.pl\/","name":"Agile Institute","description":"\u017br\u00f3d\u0142o wiedzy o Agile","publisher":{"@id":"https:\/\/agileinstitute.pl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/agileinstitute.pl\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/agileinstitute.pl\/#organization","name":"Agile Institute","url":"https:\/\/agileinstitute.pl\/","sameAs":["https:\/\/www.instagram.com\/agileinstitutepl\/?hl=pl","https:\/\/www.linkedin.com\/company\/28517752\/admin\/","https:\/\/www.facebook.com\/agileinstitutepl"],"logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/agileinstitute.pl\/#\/schema\/logo\/image\/","url":"https:\/\/agileinstitute.pl\/wp-content\/uploads\/2019\/09\/logo_Agile_Institute.png","contentUrl":"https:\/\/agileinstitute.pl\/wp-content\/uploads\/2019\/09\/logo_Agile_Institute.png","width":962,"height":968,"caption":"Agile Institute"},"image":{"@id":"https:\/\/agileinstitute.pl\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/agileinstitute.pl\/#\/schema\/person\/c01b57324ad084e09c25f1a03a5f7e1d","name":"Aleksander K\u00f3ska","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/agileinstitute.pl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/f33332260ce11d32b0d0a5c36fdf8c95?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f33332260ce11d32b0d0a5c36fdf8c95?s=96&d=mm&r=g","caption":"Aleksander K\u00f3ska"},"sameAs":["https:\/\/www.facebook.com\/aleksander.koska","https:\/\/www.instagram.com\/aleksanderkoska\/","https:\/\/www.linkedin.com\/in\/aleksanderkoska\/"],"url":"https:\/\/agileinstitute.pl\/index.php\/author\/admin\/"}]}},"uagb_featured_image_src":{"full":["https:\/\/agileinstitute.pl\/wp-content\/uploads\/2021\/07\/user_story1.png",2344,2136,false],"thumbnail":["https:\/\/agileinstitute.pl\/wp-content\/uploads\/2021\/07\/user_story1-150x150.png",150,150,true],"medium":["https:\/\/agileinstitute.pl\/wp-content\/uploads\/2021\/07\/user_story1-300x273.png",300,273,true],"medium_large":["https:\/\/agileinstitute.pl\/wp-content\/uploads\/2021\/07\/user_story1-768x700.png",640,583,true],"large":["https:\/\/agileinstitute.pl\/wp-content\/uploads\/2021\/07\/user_story1-1024x933.png",640,583,true],"elegant_blocks_team_1":["https:\/\/agileinstitute.pl\/wp-content\/uploads\/2021\/07\/user_story1-500x500.png",500,500,true],"elegant_blocks_blog_1":["https:\/\/agileinstitute.pl\/wp-content\/uploads\/2021\/07\/user_story1-693x462.png",693,462,true],"elegant_blocks_slider_1":["https:\/\/agileinstitute.pl\/wp-content\/uploads\/2021\/07\/user_story1-1600x1000.png",1600,1000,true],"1536x1536":["https:\/\/agileinstitute.pl\/wp-content\/uploads\/2021\/07\/user_story1-1536x1400.png",1536,1400,true],"2048x2048":["https:\/\/agileinstitute.pl\/wp-content\/uploads\/2021\/07\/user_story1-2048x1866.png",2048,1866,true],"bizberg_medium":["https:\/\/agileinstitute.pl\/wp-content\/uploads\/2021\/07\/user_story1-300x300.png",300,300,true],"bizberg_gallery":["https:\/\/agileinstitute.pl\/wp-content\/uploads\/2021\/07\/user_story1-500x400.png",500,400,true],"bizberg_blog_list":["https:\/\/agileinstitute.pl\/wp-content\/uploads\/2021\/07\/user_story1-368x240.png",368,240,true],"bizberg_detail_image":["https:\/\/agileinstitute.pl\/wp-content\/uploads\/2021\/07\/user_story1-825x400.png",825,400,true],"bizberg_detail_image_no_sidebar":["https:\/\/agileinstitute.pl\/wp-content\/uploads\/2021\/07\/user_story1-920x400.png",920,400,true],"bizberg_portfolio_homepage":["https:\/\/agileinstitute.pl\/wp-content\/uploads\/2021\/07\/user_story1-600x400.png",600,400,true],"bizberg_blog_list_no_sidebar_1":["https:\/\/agileinstitute.pl\/wp-content\/uploads\/2021\/07\/user_story1-220x190.png",220,190,true]},"uagb_author_info":{"display_name":"Aleksander K\u00f3ska","author_link":"https:\/\/agileinstitute.pl\/index.php\/author\/admin\/"},"uagb_comment_info":0,"uagb_excerpt":"Historyjki U\u017cytkownika (ang. User Stories), to koncepcja wprowadzona przez tw\u00f3rc\u00f3w zwinnej metody XP (Extreme Programming). Kent Beck i Martin Fowler [&hellip;]","_links":{"self":[{"href":"https:\/\/agileinstitute.pl\/index.php\/wp-json\/wp\/v2\/posts\/2183"}],"collection":[{"href":"https:\/\/agileinstitute.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/agileinstitute.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/agileinstitute.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/agileinstitute.pl\/index.php\/wp-json\/wp\/v2\/comments?post=2183"}],"version-history":[{"count":10,"href":"https:\/\/agileinstitute.pl\/index.php\/wp-json\/wp\/v2\/posts\/2183\/revisions"}],"predecessor-version":[{"id":2198,"href":"https:\/\/agileinstitute.pl\/index.php\/wp-json\/wp\/v2\/posts\/2183\/revisions\/2198"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/agileinstitute.pl\/index.php\/wp-json\/wp\/v2\/media\/2182"}],"wp:attachment":[{"href":"https:\/\/agileinstitute.pl\/index.php\/wp-json\/wp\/v2\/media?parent=2183"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/agileinstitute.pl\/index.php\/wp-json\/wp\/v2\/categories?post=2183"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/agileinstitute.pl\/index.php\/wp-json\/wp\/v2\/tags?post=2183"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}