<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>McWolf.net &#187; Wymagania Projektu</title>
	<atom:link href="http://www.mcwolf.net/article/tag/wymagania-projektu/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mcwolf.net</link>
	<description>Zarządzanie Projektami IT, Metodyki, Techniki i Porady</description>
	<lastBuildDate>Thu, 11 Nov 2010 12:27:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Szacowanie Projektów &#8211; Część 1 Jak przygotowywać oszacowanie.</title>
		<link>http://www.mcwolf.net/article/szacowanie-czasu-wykonania/</link>
		<comments>http://www.mcwolf.net/article/szacowanie-czasu-wykonania/#comments</comments>
		<pubDate>Thu, 13 May 2010 23:36:28 +0000</pubDate>
		<dc:creator>Tomasz Wolfram</dc:creator>
				<category><![CDATA[Artefakty i Narzędzia]]></category>
		<category><![CDATA[Inżynieria Wymagań]]></category>
		<category><![CDATA[Metodyki Zwinne - Agile]]></category>
		<category><![CDATA[Metryki]]></category>
		<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[Szacowanie Projektów]]></category>
		<category><![CDATA[Zarządzanie Projektami]]></category>
		<category><![CDATA[czas]]></category>
		<category><![CDATA[estimating]]></category>
		<category><![CDATA[szacowanie]]></category>
		<category><![CDATA[Wymagania Projektu]]></category>
		<category><![CDATA[Zarządzanie]]></category>

		<guid isPermaLink="false">http://www.mcwolf.net/?p=316</guid>
		<description><![CDATA[Każda osoba, która miała okazję pracować przy projektach programistycznych, na pewno spotkała się z problem szacowania czasu wykonywania. Zwykle jest to jedna z pierwszych rzeczy o które pyta Nas klient, kierownik,  czy nawet my sami musimy sobie zadać pytanie za nim zaczniemy coś robić - ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mcwolf.net/wp-content/uploads/708452_62978186.jpg"><img class="alignleft size-medium wp-image-322" title="708452_62978186" src="http://www.mcwolf.net/wp-content/uploads/708452_62978186-225x300.jpg" alt="Szacowanie Czasu - Klepsydra" width="203" height="270" /></a>Każda osoba, która miała okazję pracować przy projektach programistycznych, na pewno spotkała się z problem szacowania czasu wykonywania. Zwykle jest to jedna z pierwszych rzeczy o które pyta Nas klient, kierownik,  czy nawet my sami musimy sobie zadać pytanie za nim zaczniemy coś robić -  Ile czasu będzie na to potrzebne?</p>
<p>Większość z Nas szczególnie, ta mniej doświadczona zwykle bardzo nie lubi dokonywać oszacowania. Nic dziwnego skoro często zadania to przypomina chodzenie po omacku.  Dlatego postaram się tutaj jak najszerzej omówić dostępne metody i narzędzia.</p>
<p>Zacznę od kwestii o których powinniśmy pamiętać wykonując wszelkie oszacowania, później przejdę do <a href="/article/szacowanie-czasu-trwania-projektu/">sposobów na szacowanie całych projektów</a>, w części trzeciej opiszę metody szacowania czasu trwania poszczególnych zadań, a na koniec wspomnę trochę o dostępnych narzędziach.<span id="more-316"></span></p>
<h2>Zaczynamy &#8211; czyli jak zabierać się do szacowania czasu?</h2>
<p>Oszacowanie czasu trwania całego projektu, to zadanie naprawdę trudne. Szczególnie na początku projektu w fazie przygotowawczej, kiedy tak na prawdę nie do końca wiemy jeszcze co trzeba w projekcie zrobić. Ale za nim powiem, jak można sobie pomóc, to ustalmy z czego powinno się składać takie formalne oszacowanie.</p>
<h3>1. Założenia</h3>
<p>Każde oszacowanie projektu powinno mieć pokrótce opisane założenia, dla których zostało dokonane. Czyli jakie rzeczy zostały uwzględnione, a co nawet ważniejsze, czego ewentualnie nie uwzględniono. Jakie było zakładane rozwiązanie i jakie zaplanowano zasoby. Generalnie wszystkie czynniki, które mogą znacząco wpłynąć na czas trwania projektu.</p>
<h3>2.  Odchylenie , czyli dokładność oszacowania.<strong><br />
</strong></h3>
<p>Powinniśmy sobie zdawać sprawę w jakim stopniu dokładny jest prognozowany czas. Czasem mamy naprawdę dużą pewność (np. robiliśmy już podobne projekty) i możemy sobie założyć, że oszacowanie może mieć odchylenie rzędu 10 &#8211; 20%.  Czasem jednak trafiamy do dzikiej nieznanej krainy i nasze szacunki mogą być naprawdę bardzo orientacyjne. W takim przypadku odchylenie, może sięgać do np. 100% czasu trwania. Jeśli chodzi o wyznaczanie wielkości odchylenia to osobiście przyjmuje pięciostopniową skalę (jak w większości ciężko mierzalnych metryk, taka ilość daje sporą elastyczność, a nie powoduje jeszcze bałaganu).</p>
<ul>
<li>Bardzo Niskie 0 &#8211; 10%</li>
<li>Niskie  10 &#8211; 20%</li>
<li>Średnie 20-40%</li>
<li>Wysokie 40 &#8211; 70%</li>
<li>Bardzo Wysokie 70%+</li>
</ul>
<p>Warto zwrócić uwagę, że w tym przypadku im większy poziom odchylenia, tym szerszy jego przedział.</p>
<h3>3.  Czas ważności Oszacowania</h3>
<p>Zaleca się też, choć wszystko zależy od przeznaczenia oszacowania, aby określić jego czas ważności. Tzn na przykład, że oszacowanie aktualne jest do końca Marca. (bo wtedy będziemy mieli więcej szczegółów) Zabezpiecza Nas to na wypadek, gdyby ktoś później wyciągał nam takie archiwalne oszacowanie i dochodził jego wyegzekwowania.</p>
<p>Osobiście, niestety raczej rzadko zdarza mi się określać czas ważności oszacowania. Wykonywane oszacowania zwykle są po prostu aktualizowane w ramach napływających danych, czy wykonywania prac, występowania problemów itd.</p>
<h3>4. Nakład pracy, a czas trwania</h3>
<p>Bardzo ważna rzecz, której trzeba mieć świadomość, jak również zaznaczyć w opisie oszacowania. Pojęcia &#8216;nakładu pracy&#8217; i &#8216;czasu trwania&#8217; są często stosowane zamiennie, co jest wielkim nieporozumieniem i trzeba je twardo rozgraniczyć.</p>
<p>Nakład pracy, opisuje szacunek ile godzin roboczych należy poświęcić na zrealizowanie projektu/zadania. Zaś Czas trwania, musi do nakładu pracy doliczyć takie kwestie jak dostępność zasobów, dni wolne, realizację innych projektów i zobowiązań itp.</p>
<p>Koniecznie należy zaznaczyć w oszacowaniu, którą z tych wartości prognozujemy. Inaczej nieraz spotkałem się z nieporozumieniami. Programista mówi, że wykonanie jakieś funkcjonalności to 3 dni roboty, a klient rozumie,  że za 3 dni otrzyma gotowe rozwiązanie.</p>
<h2>Podsumowanie</h2>
<p>Stosowanie wszystkich tutaj wymienionych elementów oczywiście nie jest konieczne. Ale często zabezpiecza nad przed mogącymi wystąpić problemami. W kolejnej części opiszę zasady <a href="/article/szacowanie-czasu-trwania-projektu/">szacowania całych projektów</a>, a później przejdę do szacowania zadań.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mcwolf.net/article/szacowanie-czasu-wykonania/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>User Stories jako opis wymagań projektu.</title>
		<link>http://www.mcwolf.net/article/user_stories/</link>
		<comments>http://www.mcwolf.net/article/user_stories/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 18:10:00 +0000</pubDate>
		<dc:creator>Tomasz Wolfram</dc:creator>
				<category><![CDATA[Artefakty i Narzędzia]]></category>
		<category><![CDATA[Inżynieria Wymagań]]></category>
		<category><![CDATA[Metodyki Zwinne - Agile]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[User Stories]]></category>
		<category><![CDATA[Wymagania Projektu]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://mcwolf.net/?p=162</guid>
		<description><![CDATA[User Stories, mniej sformalizowane podejście do opisu wymagań projektu. Charakterystyczne dla metodyk zwinnych 'Agile', t.j. Scrum czy eXtreme Programming.]]></description>
			<content:encoded><![CDATA[<p><a href="http://mcwolf.net/wp-content/uploads/user_stories.jpg"><img class="alignleft size-medium wp-image-166" title="user_stories" src="http://mcwolf.net/wp-content/uploads/user_stories-300x186.jpg" alt="" width="154" height="95" /></a>W ostatnim czasie postanowiłem zapoznać się wreszcie dokładnie z tematem tworzenia projektów przy wykorzystaniu zwinnych metodyk (Agile). O samych metodykach i ich zasadach napiszę w kolejnych postach. A teraz chciałem zwrócić uwagę na jeden z artefaktów z którym zetknąłem się poznając filozofię Agile. Zgodnie z tytułem posta mam na myśli &#8216;User Stories&#8217;, czyli po polsku Historie Użytkownika.<span id="more-162"></span></p>
<h2>Co to są User Stories?</h2>
<p>User stories to sposób opisu wymagań projektowanej aplikacji. Opisujący krótko pojedynczą funkcjonalność lub zestaw funkcjonalności, który bez siebie nawzajem nie miałby sensu. Np:</p>
<blockquote>
<p style="text-align: center;">Użytkownik może wysłać powiadomienie email o nowo stworzonym spotkaniu.</p>
</blockquote>
<blockquote>
<p style="text-align: center;">Project Manager może przydzielić zadanie do wybranego pracownika lub ich grupy.</p>
</blockquote>
<p>Koniecznie należy zwrócić uwagę, że każde zdanie historii użytkownika zaczyna się od osoby której tyczy się ta historia. Osoby te nazywamy &#8216;Rolami&#8217; i są one w zasadzie analogiczne do aktorów w przypadkach użycia (Use Cases).</p>
<p>Zwyczajowo User Stories zapisywane były na małych karteczkach, jak widać na pierwszej ilustracji tego posta. Dzięki temu zapewniona była ich zwięzła forma, a także łatwość zarządzania, poprzez możliwość dowolnego układania. Dziś popularnym w wielu firmach narzędziem pozostaje po prostu arkusz kalkulacyjny.</p>
<h2>Zalety User Stories</h2>
<ol>
<li>1.Największą zaletą przynajmniej z mojego punktu widzenia jest fakt, że dzięki User Stories patrzymy na projektowaną aplikację z punktu widzenia przyszłego użytkownika. Co bardzo często chroni nas przed absurdalnymi błędami, a z całą pewności <strong>pozwala dostarczyć wygodny i funkcjonalny produkt</strong>.</li>
<li>2.Kolejną zaletą jest na pewno zwięzła forma dzięki której zebranie takich wymagań <strong>nie zabiera wiele czasu</strong>, ale mimo wszystko dają one bardzo dobry pogląd na wygląd przyszłego systemu.</li>
<li>3.Z punktu widzenia metodyki Scrum, user stories pozwalają na bezpośrednie wpisywanie ich z Zaległości Produktowe (Backlog).</li>
</ol>
<p>Więcej o User Stories:</p>
<ul>
<li><a href="http://www.mountaingoatsoftware.com/articles/27-advantages-of-user-stories-for-requirements">http://www.mountaingoatsoftware.com/articles/27-advantages-of-user-stories-for-requirements</a></li>
<li><a href="http://www.agilers.com/teamblog/zwinne-dzialania-zaczepne/">http://www.agilers.com/teamblog/zwinne-dzialania-zaczepne/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.mcwolf.net/article/user_stories/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
