EXTREME PROGRAMMING ZAPEWNIENIE SKUTECZNEJ I WYDAJNEJ PRACY PROGRAMISTÓW

Wielkość: px
Rozpocząć pokaz od strony:

Download "EXTREME PROGRAMMING ZAPEWNIENIE SKUTECZNEJ I WYDAJNEJ PRACY PROGRAMISTÓW"

Transkrypt

1 EXTREME PROGRAMMING ZAPEWNIENIE SKUTECZNEJ I WYDAJNEJ PRACY PROGRAMISTÓW KRZYSZTOF KACZMARSKI Streszczenie. Extreme Programming stara się w szczególny sposób zwrócić uwagę na wydajność i skuteczność pracy programistów. W tym celu stosuje pewne znane od dawne praktyki oraz zupełnie nową filozofię pracy zespołu programistycznego. Pomimo nieugiętych reguł, których trzeba przestrzegać, nie nakłada na programistów dodatkowej pracy nie związanej bezpośrednio z tworzeniem i pielęgnowaniem kodu programu. Metodyka ta, zastosowana w małych i średnich zespołach, może przynieść ogromne korzyści. 1. Wstęp Jak osiągnąć sukces. Martin Fowler w pracy [5] analizuje skąd się bierze ryzyko w projektach i jak go uniknąć. Stawia tezę, że kodowanie jest tak samo procesem twórczym jak sam proces projektowania. Znaczy to, że rozdzielenie projektowania i kodowania jest błędne. Sam, nawet najlepszy, projekt nie zapewnia w tej sytuacji sukcesu, skoro nie da się dokładnie zaplanować kodowania. Sukces staje się w tej sytuacji zależny od procesu nie zawsze przewidywalnego. Na kodowanie trzeba położyć więc większy nacisk. Podkreśla też, że wymagania nieustannie się zmieniają i sztywny projekt nie będzie w stanie za nimi nadążyć. Rozwiązaniem jest opracowanie metody, która będzie mogła adaptować się do zmieniających się warunków. Stwierdza, że konieczna jest stała kontrola małych iteracyjnych działań. Takie podejście prezentują właśnie lekkie metodyki typu Extreme Programming (XP). 2. Co to jest Extreme Programming Extreme Programming to lekka metoda prowadzenia projektów informatycznych. Opiera się ona na zbiorze zasad i sugestii, które powinny być praktykowane. Zasady te nie wtłaczają programistów w stosy formularzy i niekończących się formalizmów, a jedynie mówią jak i co powinien, a czego nie powinien robić. Praca jest organizowana w taki sposób, by sukces osiągnąć możliwie najszybciej. Wake [7] pisze, że na XP trzeba patrzeć z trzech stron równocześnie: jako dyscyplinę programowania, dyscyplinę pracy grupowej oraz dyscyplinę pracy z klientem. Lekkość tej metodyki oznacza, że rezygnuje ona z formalizmów, które często nadmiernie obciążają programistów i kierowników zespołów. Tutaj nie zmusza się ludzi do tworzenia 20 września 2003 roku Słowa kluczowe: Extreme Programming, Software Engineering Adres autora: kaczmars@mini.pw.edu.pl Dziękuję Krzysztofowi Mossakowskiemu za nieocenioną pomoc przy korekcie.

2 2 KRZYSZTOF KACZMARSKI ton dokumentów, których nikt nigdy nie przeczyta. Podstawową filozofią jest robienie tylko tego, co jest w danej chwili potrzebne. Jednak lekkość ta jednocześnie niekoniecznie oznacza, że XP łatwo jest używać w praktyce. Jak wykazują nawet nieformalne analizy działań firm, mało która jest w stanie sprostać wszystkim wymaganiom stawianym przez tą metodykę [9]. Jednak utrzymanie dyscypliny pracy procentuje w tym, że osiąga się zadowolenie klienta oraz dużą satysfakcję z wykonanego zadania. Początkowo może wydać się dziwne, że pomimo wyeliminowania formalizmów obecnych w innych metodykach można osiągnąć wysoką jakość. Przecież te formalizmy powstawały przez lata właśnie po to, by ustalić standard jakości. Zgodzi się ze mną jednak większość programistów, że standardy wprowadzane w ciężkich metodykach oznaczają wiele dodatkowej pracy, której sens i wartość jest problematyczna. XP jest zaprojektowane w taki sposób, by wszystkie zasady uzupełniały się wzajemnie. Dzięki temu pomimo braku ściśle ustalonych formuł doprowadza do celu nie tylko w zamierzonym czasie, ale i z produktem najwyższej jakości. Tom DeMarco [4] twierdzi, że Extreme Programming to ruch, który przez akcentowanie talentu, pracy zespołowej, lekkiego procesu i dyscypliny bez dogmatów przyniesie odświeżenie i nową energię do zespołów programistycznych. Opracowane ostatnio ciężkie metodologie typu CMM określa jako bezrozumne. Historia XP. W 90 latach Chrysler próbował stworzyć system płacowy dla całej firmy. Projekt na skutek błędnego zarządzania i kłopotów technicznych popadł w poważne tarapaty. W roku 96 szefowie przekazują projekt Kentowi Beckowi, który szybko stwierdza, że to co powstało jest do niczego i radzi rozpocząć od nowa. Chce założyć nowy zespół i organizować pracę w zupełnie inny sposób. Istnieją już wtedy podstawy teoretyczne XP opracowane przy pomocy Warda Cunninghama. Powstaje zespół C3, który staje się polem doświadczalnym dla XP. System zostaje ukończony, jednak po pewnym czasie projekt popada w finansowe tarapaty i zostaje anulowany w 99 roku. Obecnie teoria związana z metodologią XP dynamicznie się rozwija i jest szeroko testowana na całym świecie. Przez swoje dość rewolucyjne podejście zyskała sobie tyle samo zwolenników, co przeciwników. Trudno powiedzieć jak będzie wyglądała przyszłość XP. Dziś jasne jest jedynie, że odejście od ciężkich metodyk wydaje się (w większości przypadków) nieuniknione. Nazwa. Istotę tej metody najlepiej oddaje jej nazwa. Programowanie jest, wraz z powstałym w jego wyniku kodem, najważniejszą czynnością podczas tworzenia oprogramowania. Kod jest zawsze jednoznacznym i formalnym sposobem opisu systemu. Jeśli kod nie działa jak należy system nie będzie mógł być zaakceptowany. XP dąży więc do poprawy jakości kodu. Sposobem na osiągnięcie tego celu jest ekstremalne potraktowanie pewnych znanych od dawna zasad (o których wiadomo, że są dobre, sprawdzone i skuteczne): weryfikacji kodu, testowania, iteracyjnego tworzenia małych wydań i prostoty. Praktyki te są stosowane w sposób ciągły (programowanie w parach, ciągłe testowanie, nieustanne przeprojektowywanie). Nacisk na te zasady jest tak silny, że są one posunięte niemal do granicy wytrzymałości. Takie właśnie podejście ma zapewnić XP sukces.

3 EXTREME PROGRAMMING Podstawowe praktyki Kent Beck [6] podkreśla jako kluczowe 12 praktyk, których powinno się przestrzegać, by można było powiedzieć, że realizuje się metodykę XP. W rzeczywistości trudno jest sprostać wszystkim wymaganiom. Proponowane są więc, podobnie jak w innych metodykach pewne stopnie, kolejne etapy, na drodze do pełnego stosowania XP. Trzeba podkreślić jednak, że dopiero stosowanie wszystkich praktyk jest w stanie zagwarantować sukces i zminimalizować szanse porażki. Wybór jest ekstremalny: albo pełna rewolucja i wielki sukces albo balansowanie pomiędzy zabezpieczeniami i przyjemnością Planowanie. Tworzenie oprogramowania w XP odbywa się przyrostowo przez wdrażanie kolejnych wydań produktu. Planowanie wydania odbywa się przed rozpoczęciem każdej nowej iteracji. Podstawowym celem jest oszacowanie każdej pojedynczej historii użytkownika, powstałej w wyniku gry planistycznej z klientem. Do szacowania używa się jednostek zwanych idealnymi osobo-tygodniami. Idealny osobo-tydzień to tydzień pracy wyłącznie nad programem, bez dodatkowych zajęć, ale wliczający czas testowania programu. Historie użytkownika to spisane na niedużych kartach małe specyfikacje pojedynczych zadań, jakie mają być realizowane przez system. Opis taki nie powinien przekraczać jednego, dwóch zdań. Projektanci mogą stwierdzić, że przedstawiona historia jest zbyt duża i poprosić użytkownika o podzielenie jej na mniejsze części. Podczas gry planistycznej klient określa, które historie są dla niego najważniejsze i które z nich powinny być zrealizowane w pierwszej kolejności. W rezultacie powstaje spis funkcji systemu, które będą do niego dodawane w ramach kolejnych wydań produktu. Podczas tworzenia oprogramowania odbywa się wiele iteracji, z których każda jest oddzielnie planowana, ukończona złączeniem i osiągnięciem działającej wersji systemu Małe wydania. Małe kroki to częste łączenie kodu napisanego przez programistów. Osiąga się je przez podział zadania na małe historie użytkownika. Dzięki temu pojedynczy fragment kodu może być łatwo i szybko wykonany, przetestowany i złączony z resztą systemu. Małe wydania to częste akceptacje powstałego systemu przez klienta. Dzięki ciągłym testom i łączeniu zawsze istnieje sprawnie działająca wersja, a klient nie musi długo czekać na kolejną. Ciągle istnieje też informacja zwrotna od klienta, który ocenia czy zespół realizuje to, o co mu chodziło Metafora systemu. Każdy zespół programistyczny musi kontaktować się z klientem. Często dochodzi do sytuacji, w której po godzinach rozmów nagle odkryto, że klienci i projektanci mówią o zupełnie różnych rzeczach. Wynika to oczywiście z tego, że jedni i drudzy posługiwali się innymi pojęciami. Klient patrzy na system przez pryzmat swojego działania i nie jest mu łatwo, a często nie jest w stanie, nazywać rzeczy inaczej niż przywykł. Nie będzie więc mówił o encjach bazy danych zamówień, ale o kartkach z kalendarza itd. Aby możliwe było wzajemne porozumienie potrzebne jest opracowanie wspólnego słownika używanych pojęć. Tworzenie jednak takich rozbudowanych słowników jest kosztowne i pracochłonne, a zapamiętanie wszystkich haseł może być trudne. Aby uniknąć problemów z komunikacją oraz ze słownikiem XP stosuje metaforę systemu. Jest to nic innego jak analogiczne do projektowanego oprogramowania pojęcie, które jest w

4 4 KRZYSZTOF KACZMARSKI sposób oczywisty zrozumiałe na klienta i dla programisty. Klient może np. uznać, że dobre jest dla niego określenie zakładania czapki. Taka czapka zakładana na program powoduje, że zaczyna się on inaczej zapisywać dane. Programiści doskonale wiedzą, że chodzi o filtr konwertujący dane wyjściowe do innej, potrzebnej postaci. Metafora systemu jest szczególnie ważna dla klientów, którzy nie są zapoznani z technologią komputerową i którzy nie mogą operować specyficznymi pojęciami. W takich sytuacjach programiści używają jej do wyjaśnienia działania programu bez zagłębiania się w techniczny żargon. Klient szybko pojmuje o co chodzi, a nawet może bez trudu podjąć dialog i podać swój punkt widzenia, ponieważ słownictwo i pojęcia używane w metaforze systemu są mu dobrze znane. Metafora pomaga też spojrzeć na system z innej strony, co może pomóc w postawieniu pytań, które wcześniej nie przychodziły do głowy. Skoro już np. ustaliliśmy, że mamy napisać czapkę dla jakiegoś oprogramowania, która spowoduje to i tamto, to dobrze jest sobie zadać pytanie jak ją się zakłada i jak się zdejmuje? oraz czy można założyć dwie czapki na raz? Prosty projekt. XP zakłada, że wymagania klienta, rynku i sytuacja w branży ciągle się zmieniają. Nie ma więc sensu planować rozwiązań, o których nie wiadomo, czy zostaną wykorzystane w przyszłości. Celem XP jest jak najszybsze i najprostsze osiągnięcie satysfakcji klienta przez dostarczenie oprogramowania, spełniającego postawione wymagania. Programista implementując daną historię użytkownika stara się osiągnąć sukces przy minimalnych nakładach. Jeśli klient chce dodać nową funkcjonalność musi stworzyć nową historię. Jej koszt i pozycja na liście ważności zostaje ustalona w wyniku kolejnej gry planistycznej Ciągłe testowanie. Ciągłe testowanie to podstawowe działanie podczas pisania programu w metodzie XP. Programista jeszcze przed napisaniem danej procedury tworzy kod, który ma ją testować. W ten sposób wcześniej musi pomyśleć o wszystkich rzeczach, które mogą pójść źle. Dzięki temu podczas pisania właściwego kodu procedury zabezpieczy ją przed tymi możliwościami. Pisanie procedury testowej nie powinno jednak trwać zbyt długo i nie powinna być ona zbyt rozbudowana. Zespół dąży do automatyzowania procedur testowych, które są uruchamiane po każdorazowym łączeniu kodu oraz po przerabianiu. W ten sposób istnieje pewność, że zmiany w innych częściach oraz integracja programu nie spowodowały nowych problemów. Ponadto dla każdej historii, powstałej w grze planistycznej, klient określa test akceptacyjny. Kolejne wydanie nie jest zakończone dopóki test ten nie zostanie zdany pomyślnie Przerabianie. Przerabianie (eng. refactoring) jest konieczne zaraz po przetestowaniu działającej procedury. Przerabianie to według autora sformułowania [8] poprawianie projektu istniejącego kodu. Należy pamiętać, że przerabianie nie może zmieniać zewnętrznego zachowania programu. Przerabianie może być przeprowadzone w celu uzyskania wielu różnych efektów. Jako najbardziej oczywiste wymienia się poprawienie wydajności działania procedury, oraz uzyskanie lepszej struktury systemu. Przerabianie może mieć jednak jeszcze inne cele np.

5 EXTREME PROGRAMMING... 5 uzyskanie bardziej przejrzystego kodu. Przykładowe konkretne działania podczas przerabiania to: skracanie metod, skracanie klas, przesuwanie zwalniania zasobów do bloków catch oraz finally, usuwanie prawie powtarzających się fragmentów kodu, usuwanie niepotrzebnych iteracji, usuwanie magicznych współczynników, usuwanie zbyt wielu zmiennych roboczych. Każdorazowe przerabianie, nawet jeśli jest najprostsze, musi oczywiście zakończyć się uruchomieniem testów Programowanie w parach. Jednym z bardziej krytykowanych przez szefów zespołów elementem XP jest praca w parach. Uważają oni, że w ten sposób tracą połowę siły roboczej : Którą firmę stać na to by posadzić dwóch programistów przy jednym komputerze!. Pogląd ten jest jednak tylko na pierwszy rzut oka zasadny. Każdy kto kiedykolwiek spróbował programować w parach doświadczył, że diametralnie zmienia ono sposób pisania kodu. Podczas gdy jedna osoba (trzymająca klawiaturę) pisze kod, druga na bieżąco go sprawdza, sugeruje możliwe rozwiązania, może służyć pomocą i zwraca uwagę na błędy syntaktyczne. Tak powstały kod jest nie tylko lepszy ale i łatwiej oraz szybciej się kompiluje. Według Kenta [6] pary powinny się między sobą mieszać. Również programiści wewnątrz pary powinni co jakiś czas zamieniać się miejscami. W ten sposób wysiłek jest rozłożony równomiernie. Programowanie w parach jest trudne, wymaga dobrego zgrania zespołu, ale przynosi wymierne korzyści w postaci lepszego kodu. Programowanie w parach pomaga również w dokonywaniu poprawek. Druga osoba może bowiem wiedzieć więcej o danym fragmencie kodu. Generalnie programowanie w parach pomaga propagować wiedzę o różnych fragmentach programu na całą grupę osób, pracujących przy systemie Standard kodowania. XP narzuca wszystkim programistom wspólny standard kodowania i dokumentowania. Standard taki powinien być ustalony i zaakceptowany przez całą grupę. Jeśli ktoś nie chce się zgodzić na zrezygnowanie ze swojego przyzwyczajenia, a grupa nie może zaakceptować jego propozycji, nie może uczestniczyć w projektach realizowanych przy pomocy XP. Standard powinien jednoznacznie określać wygląd kodu, ale nie powinien być zbyt długi i szczegółowy. Polecane są opracowania jednostronicowe. Standard dokumentowania zakłada, że samych komentarzy w kodzie jest jak najmniej. Klasy powinny być tak zaprojektowane by przeznaczenie poszczególnych metod było jasne, a samo działanie oczywiste. Jeśli nie da się tego osiągnąć przy pomocy przerabiania, można zamieścić skrótowe opisy. Jedyną formą komentowania jest dokumentowanie całych klas. Poleca się zwięzłe opisanie przeznaczenia klasy i jej działania. XP stara się podtrzymać naturalne skłonności programistów do upiększania i ulepszania kodu. Komentowanie tego, co jest piękne i przejrzyste może zakrawać na profanację Wspólna odpowiedzialność. Dzięki standardom kodowania każdy programista czuje się jak u siebie w każdym fragmencie systemu, nawet jeśli go nie pisał. Zbiorowa praca nad kodem, to jednak nie tylko wspólne pisanie go, ale i wspólna odpowiedzialność za niego. W niektórych zespołach nie wiadomo, kto jest odpowiedzialny za dokonanie poprawek. Kiedy trzeba szybko wykonać poprawki nie ma czasu na poszukiwania właściwej osoby.

6 6 KRZYSZTOF KACZMARSKI Taka osoba może być zresztą już nieosiągalna. W XP wszyscy są odpowiedzialni tak samo. Jeśli trzeba coś zmodyfikować nie ma problemu, bo poprawki może zrobić każdy. Częste przeorganizowywanie doprowadza kod do stanu dobrej przejrzystości, a gotowe procedury testujące zapewniają, że poprawki nie doprowadzą do katastrofy. XP preferuje umieszczenie całej grupy programistów w jednym pomieszczeniu, co ma pomagać w komunikacji i rozwijaniu życia grupy. Zostawia jednak dla każdego jego prywatną przestrzeń. Do pracy w parach powinny być wyznaczone oddzielne komputery Ciągłe łączenie. Ciągłe łączenie to integracja programu tak często, jak to tylko możliwe. Programista po wykonaniu każdego nowego fragmentu programu łączy go z systemem. Najczęściej stosuje się jedną maszynę, na której w danej chwili może pracować jedna osoba zajmująca się łączeniem kodu. Ciągłe łączenie jest ułatwione w XP dzięki prostym projektom, ciągłym testom i wspólnej odpowiedzialności za kod godzinny tydzień pracy. Swego rodzaju symbolem, znakiem rozpoznawczym XP, stało się wymaganie 40-to godzinnego tygodnia pracy. Zespoły programistów powinny być przyzwyczajone do stałej wydajności i stałego obciążenia. Może przytrafić się czasem jeden tydzień nieco większego obciążenia, ale dwa tygodnie mogą już oznaczać kłopoty z harmonogramem prac. Oczywiste jest, że dla niektórych zespołów tydzień może trwać 45 godzin, a dla innych 35. Istotne jest to, by ustalić konkretną, nienaruszalną granicę obciążenia grupy. Kent Beck tłumaczy to podejście jako zmianę filozofii z myślenia: Nie mamy dość czasu która prowadzi do wydłużania czasu pracy, na filozofię: Mamy zbyt wiele do zrobienia która zwraca uwagę raczej na przeorganizowanie zadań Ciągły kontakt z klientem. Aby zadowolić wymagania klienta należy bezwzględnie podążać za jego życzeniami. Co jednak zrobić, gdy klient zapomniał nas o czymś poinformować lub mamy problem który wymaga przekonsultowania? Potrzebny jest kontakt z klientem. Często jest on jednak nieosiągalny, co doprowadza do opóźnień w realizacji projektu. XP zakłada ciągłą możliwość konsultacji z klientem na żywo. W praktyce oznacza to codzienną obecność klienta w zespole programistów. Często bywa to jednak trudne do spełnienia. Zespoły takie mogą zrezygnować z XP, zorganizować zastępczą formę komunikacji z klientem, bądź znaleźć inne rozwiązania pozwalające na utrzymanie więzi z odbiorcą systemu. Niektórzy twierdzą, że klient nie jest poważny, jeśli nie może poświęcić wystarczająco dużo czasu dla nowego systemu. 4. Technika Pracy Skoro poznaliśmy już podstawowe zasady, jesteśmy gotowi do przejścia przez działania podejmowane podczas realizowania projektu z metodyką XP. Przyjrzymy się dokładniej poszczególnym osobom pracującym na różnych stanowiskach w zespole. XP jest przeznaczone dla małych ekip od 2 do 10 osób. Taki zespół, kiedy jest dobrze zorganizowany może być wydajniejszy od większych grup, które pracują w ciężkiej metodyce.

7 EXTREME PROGRAMMING... 7 Rysunek 1. Podstawowe czynności podczas pracy w XP 4.1. Planowanie. Pojedyncze wydanie systemu powinno powstawać od miesiąca do kilku miesięcy. Jest zaplanowane w taki sposób, by dostarczyć użytkownikom określoną ilość nowych funkcji systemu. Gra planistyczna. Klient tworzy historyjki, zapisując je na kartach. Jedna historia jest jedną funkcją, bądź cechą, która ma być zrealizowana w systemie. Może to być na przykład możliwość wybierania zakresu czasowego wyświetlanych wyników lub szybki podgląd dokumentu przed otworzeniem. Programista analizuje wszystkie karty i ocenia czy nie są nazbyt skomplikowane (wtedy prosi o podzielenie zadania na mniejsze części) oraz czy zadanie jest dla niego zrozumiałe (prosi klienta o dodatkowe wyjaśnienia). Na zakończenie powstaje zestaw kart zawierających pełną, podzieloną na małe kawałeczki, specyfikację systemu. Ważne w XP jest to, że programista czuwa nad pomysłami klienta. Zgodnie z zasadą nie robienia tego, czego klient nie będzie potrzebował, musi upewnić się, że klient dokładnie wie czego chce i naprawdę będzie tego używał. Programista może też podpowiadać pewne rzeczy, które nie muszą przyjść klientowi do głowy w pierwszej chwili. Szacowanie. Następnie programiści określają koszt zaimplementowania każdej historyjki. Koszt jest wyrażany we wspomnianych wcześniej idealnych osobo-tygodniach. Jednostki te zwykle kalibruje się do możliwości zespołu przez podzielenie przez magiczny współczynnik. Najczęściej jest to dwa lub trzy. Ustalenie kolejności. Po oszacowaniu klient wie już, które elementy systemu będą bardziej, a które mniej kosztowne. Pozwala mu to poukładać karty z wymaganiami według hierarchii ważności i potrzeb. Programiści będą realizować zadania z kart w kolejności ustalonej przez klienta, co oznacza, że system będzie na początku zawierał te funkcje, które są najbardziej potrzebne klientowi. Ważne jest, że ani klient ani programiści nie są przywiązani do ustalonej kolejności. Klient może postanowić o zmianie kolejności kart w każdym momencie.

8 8 KRZYSZTOF KACZMARSKI Rysunek 2. Przykładowa karta historii klienta Programiści mogą dodatkowo uporządkować historie według ryzyka, które określa czy dana rzecz jest trudna, czy łatwa do zrobienia. Pozwala to klientowi zapoznać się z tym co może stwarzać problemy, co jest zagrożone, a co jest łatwe i pewne. Często również zespoły programistów wolą wydzielić trudne elementy systemu, np. po to by przydzielić je bardziej doświadczonym pracownikom. Zaplanowanie wydania... Jeśli zakończono szacowanie wszystkich historyjek i klient ustalił kolejność ich wykonywania, można zaplanować kolejne wydania. Suma punktów na kartach podzielona jest przez możliwości zespołu dla pojedynczej iteracji, która trwa zwykle około dwóch, trzech tygodni. W ten sposób uzyskuje się liczbę iteracji, potrzebnych do ukończenia danego wydania. Prędkość pracy zespołu powinno się ustalić eksperymentalnie wraz z nabywanym przez zespół doświadczeniem w XP.... oraz iteracji. Po zaplanowaniu z klientem wydania zespół przystępuje do zaplanowania iteracji. Odbywa się to na bardzo podobnych zasadach do planowania wydania. Programiści decydują, nad którymi historiami będą pracować i rozbijają je na zestawy mniejszych zadań. Podział na zadania jest wynikiem burzy mózgów całego zespołu. Programiści wybierają sobie zadania do realizacji i szacują (każdy dla siebie) czas ich wykonania. Wydajność danego programisty oceniana jest na zasadzie wczorajszej pogody, zgodnie z którą najlepszym prognostykiem jest doświadczenie z przeszłości. Może też okazać się, że konieczne jest dokładniejsze określenie historii klienta, bądź rozbicie jej na mniejsze. Wykonanie projektu. Zespoły stosujące XP nie potrzebują wiele dokumentacji ze względu na bardzo rozwiniętą komunikację w grupie. Wszyscy pracują w jednym pomieszczeniu, razem podejmują istotne decyzje. Grupa może stworzyć ogólny projekt systemu, który będzie realizować. Projekt taki powinien być umieszczony (narysowany) na dobrze widocznej tablicy na ścianie. Zwykle programiści tworzą różne schematy, które pomagają im ogarnąć program. Nie należy im tego zabraniać, jeśli mają na to ochotę. Podstawowym jednak

9 EXTREME PROGRAMMING... 9 źródłem wiedzy o systemie w XP są inne osoby w grupie. Komunikacja z innymi zapewnia sukces i właściwą koordynację działań. Generalnie rzecz biorąc dokumentacja jest raczej tworzona na potrzeby świata zewnętrznego. W zespole jest zawsze szybciej i łatwiej zapytać tego, kto wie jak rozwiązać problem Typowy dzień. Poranne spotkania. Zespół zaczyna pracę od krótkiego spotkania na stojąco. Spotkanie to ma na celu zakomunikowanie problemów, które się ostatnio pojawiły i rozważenie możliwych rozwiązań. Odbywa się na stojąco, by uniknąć pokusy długiego debatowania, które prowadzi zwykle jedynie do straty czasu. Decyzje powinny być podejmowane przez kompetentne osoby, a nie przez rozdyskutowanych programistów. Spotkania takie mogą odbywać się wokół komputerów, gdzie na bieżąco można przeglądać kod i rozmawiać o konkretnych rozwiązaniach. Dobrze jest ustalić godzinę porannego spotkania na stałe, tak by zespół ciągle miał świadomość nienaruszalnych ram czasowych dnia i tygodnia. Spotkanie powinno trwać około 10 minut, Rysunek 3. Działania podczas typowego dnia pracy.xp Programowanie. Po rozdzieleniu zadań na programistów, zespół przystępuje do pracy. Każdy wybiera sobie osobę, z którą chce danego dnia pracować oraz zadanie do realizacji. Programowanie w parach może być dla niektórych uciążliwe. Wszyscy członkowie zespołu muszą je jednak zaakceptować, gdyż jest ono ważne dla XP zapewnia wysoką jakość wykonanego programu. Podobnie przerabianie i ciągłe testowanie ma na celu doprowadzenie kodu do idealnej postaci. Jeśli kod będzie niejasny, nieoptymalny pod kątem projektowym,

10 10 KRZYSZTOF KACZMARSKI zespół szybko osiągnie stan chaosu, gdy programiści będą ślęczeć nad kodem, bezskutecznie próbując zrozumieć o co w nim chodzi. Programowanie i projektowanie w XP opiera się na zasadzie, by tworzyć tylko to, co będzie potrzebne. Należy bezwzględnie unikać tworzenia funkcji i konstrukcji, których przydatność w danej chwili jest mglista. Podstawowa zasada: zaprogramuj tylko to co jest teraz potrzebne i to w możliwie najprostszy sposób. Przed zaprogramowaniem danego zadania programiści tworzą procedurę testową. Bezpośrednio po napisaniu procedura testowa nie może się skompilować, bo nie ma jeszcze procedury, która ma być testowana. Następnie tworzony jest szkielet właściwej procedury, który pozwala przekompilować procedurę testową. Jednak ciągle uruchomienie testu musi zwrócić błąd, gdyż testowana procedura jeszcze nic nie robi. Dopiero potem para przystępuje do napisania właściwego kodu procedury. W momencie, gdy procedura jest już gotowa i przetestowana, para przystępuje do jej przerobienia. Zwracana jest uwaga na wydajność, przejrzystość i piękno. Po każdorazowej zmianie uruchamiane są testy. Przerabianie i testowanie trwa aż do uzyskania idealnego kodu, nie powinno jednak trać zbyt długo. Może okazać się, że programista ma pytania do klienta. Może wtedy poprosić o pomoc i dodatkowe wyjaśnienia. Łączenie. Po stworzeniu i przetestowaniu nowej części oprogramowania dołącza się ją do działającego systemu. Całość systemu po połączeniu jest znów testowana. Zakłada się, że na raz dokonuje się tylko jedno łączenie. Dołączenie nowo powstałego kodu odbywa się możliwie często, nawet co kilka godzin. Dzięki temu maszyna, która zawiera repozytorium ma zawsze najnowszą i sprawną wersję systemu. Ułatwia to znakomicie pracę pozostałych programistów, którzy z niej korzystają. Częste łączenie pozwala również na szybkie wykrycie problemów zgodności pomiędzy częściami systemu. Może zdarzyć się, że powstały kod nie daje się łatwo zintegrować z systemem i testy systemowe zawodzą. Jeśli programista nie zdąży tego zrobić do końca dnia pracy, poleca się, by wyrzucił stworzony kod i zaczął następnego dnia od nowa. Koniec dnia. Po przepracowaniu ustalonego czasu, uśmiechnięty zespół idzie do domu. Jeśli ktoś nie skończył programować swojego zadania może skończyć następnego dnia, z tą samą, bądź z inną osobą. Zaleca się jednak, żeby każda para wykonała wybrane zadanie do końca i dokonała złączenia. W ten sposób wszyscy opuszczają biuro z głowami wolnymi od problemów zadanie zostało wykonane i wszystko gra. 5. Zespół W Extreme Programming zespół jest wspólnotą ludzi, którzy razem dążą do celu. Są nie tylko odpowiedzialni za projekt ale i troszczą się o niego. Darzą się wzajemnie szacunkiem i mają silne poczucie więzi. W zespole XP poza programistami są też inne osoby, odpowiedzialne za zarządzanie, oraz pomagające rozwiązywać szczególnie trudne problemy. Są to: trener, zarządca, tester, konsultant, szef i klient. Wszystkie one mają bardzo ściśle

11 EXTREME PROGRAMMING określone kompetencje i nie powinny wzajemnie sobie wchodzić w drogę. Wszyscy są odpowiedzialni za proces powstawania aplikacji, ale gdy zespół zdobędzie pewne doświadczenie nie wszyscy będą potrzebni. Poniżej omówię zadania każdej z tych osób. Programista. Zadania programisty są generalnie te same co zawsze. Celem jego pracy jest stworzenie oprogramowania. Tutaj jednak jego odpowiedzialność jest szersza. Bierze on czynny udział w procesie projektowania oraz sterowania wykonaniem. Musi też mieć świadomość pracy w zespole, w którym jest współodpowiedzialny za powstający system. Powinny więc być praktykowane działania pozwalające odczuć mu tą odpowiedzialność i wspólnotę z innymi. Programista musi w związku z tym posiąść pewne umiejętności, które nie są wymagane w innych metodykach, nie tylko takie jak testowanie oraz refaktoring, ale i również zdolność łatwego komunikowania się oraz posiadać wrodzony nawyk prostoty. Wiedza o systemie rozłożona jest na wszystkich członków zespołu. Każda osoba, również programista, musi więc potrafić zrezygnować z własnej dumy by zapytać innych o radę. Klient. Klient w XP zajmuje szczególnie ważne miejsce. Zajmuje on stałe miejsce przy projektowaniu (gra w planowanie) oraz przy testowaniu (testy akceptacyjne). Ponadto kontroluje wykonanie aplikacji (choć nie może nim sterować) i podejmuje decyzje o kolejności realizacji modułów. Aby mógł sprostać tym zadaniom powinien nauczyć się pisać testy funkcjonalne oraz tworzyć opisy (historie użytkownika). W czasie realizacji projektu może okazać się potrzebny by rozstrzygać kwestie sporne i wyjaśniać problemy. Jest on najlepszą osobą, która może to zrobić ponieważ posiada dokładną wiedzę jak system powinien działać. Tester. Tester spełnia funkcję kontrolną wobec programisty, ale nie na zasadzie ustawianie się w opozycji do niego. Jego zadaniem jest regularne uruchamianie testów i publiczne ogłaszanie ich wyników. Jego podstawowym współpracownikiem jest klient, któremu pomaga tworzyć i wykonywać testy funkcjonalne. Z czasem, jeśli klient nabiera doświadczenia jego rola może maleć. Koncentruje się wtedy na potwierdzaniu testów. Konsultant. Czasem potrzebna jest określona wiedza specjalistyczna. Zespół nie powinien w takiej sytuacji tracić czasu na poszukiwanie rozwiązania, lecz powinien uzyskać je od konsultanta. Aby praca była maksymalnie wydajna zespół musi rzetelnie i precyzyjnie opisać problem. Konsultant rozwiązuje problem samodzielnie, a zespół może co najwyżej się przyglądać. W ten sposób może nabyć wiedzę, która pozwoli mu w przyszłości rozwiązać problem samodzielnie. Może też zdarzyć się, że zespół po poznaniu rozwiązania stworzy własne, alternatywne w stosunku do zaproponowanego. Trener(coach) i Zarządca(tracker). Trener jest osobą, która ponosi odpowiedzialność za cały proces tworzenia systemu. Musi utrzymać zespół na właściwej drodze do rozwiązania. Aby to zrobić musi posiadać spore doświadczenie, musi głęboko rozumieć istotę XP i potrafić dobrze nim sterować. Jego działanie często jest pośrednie przez zasugerowanie zmiany kierunku pracy przy pomocy określonego testu, bądź przypadku. Pomaga w ten sposób zespołowi w samodzielnym dojściu do poprawnych decyzji. Powinien też wiedzieć

12 12 KRZYSZTOF KACZMARSKI ile czasu potrzeba na zrobienie danego zadania. Zna też sposoby zaradzenia pojawiającym się problemom. Często trener musi być dostępny jako partner do programowania dla mniej doświadczonych. Pomaga w tworzeniu testów i refaktoringu. Jego rola może maleć wraz z rozwijaniem się zespołu i dochodzenia do wspólnej odpowiedzialności za projekt. Zarządca jest swego rodzaju sumieniem zespołu. Jest on odpowiedzialny za właściwe szacowania. Kontroluje czy oczekiwania mają odzwierciedlenie w rzeczywistości. Śledzi obciążenie i jakość oszacowań (na podstawie danych z przeszłości) każdego programisty. Jako historyk zespołu prowadzi dziennik testów funkcjonalnych, wykrytych wad, osób za nie odpowiedzialnych i testów, które pozwoliły je wykryć. Jego praca nie może jednak zbytnio obciążać zespołu. Potrzebne mu dane powinien zbierać w sposób maksymalnie niezauważalny. Szef. Szef ma prawo wymagać rzetelnej komunikacji z zespołem. Jeżeli coś idzie nie tak powinien być natychmiast poinformowany. Może wtedy zaproponować pewne rozwiązania, ale nie ma władzy nad terminarzem projektu. To zespół określa warunki realizacji na podstawie środków zapewnionych przez szefa. Zespół ma prawo oczekiwać od niego odwagi, zaufania, zrozumienia i szybkich, kompetentnych reakcji. Taki szef będzie dobrze kierował zespołem XP, a jego zespół będzie zadowolony z pracy. Może się jednak zdarzyć, że szef będzie musiał zatrzymać bezsensowne działania zespołu, które nie przynoszą efektu. Zapewnienie właściwych warunków pracy. Aby zespół mógł dobrze funkcjonować musi mieć zapewnione odpowiednie warunki pracy. Pomieszczenie powinno być wspólne dla wszystkich, tak by zapewnić swobodną komunikację. Jednocześnie powinny istnieć (być może pod ścianami) miejsca na prywatne rozmowy, odgrodzenie się od reszty w razie potrzeby oraz przechowywanie prywatnych rzeczy. Wyniki pracy i śledzenie postępów powinny być widoczne na zawieszonych na ścianach tablicach. Komputery do pracy w parach umieszczone są w centrum. W ten sposób łatwiej siadać przy nich w dwie osoby. Całość powinna być zaakceptowana i lubiana przez cały zespół. Musi się on czuć dobrze, przydatne mogą być odpowiednie gadżety i lubiane przez nich przedmioty. Miejsce wspólne z kanapą i ekspresem do kawy powinno być maksymalnie sympatyczne i przyjemne. Czasem potrzebna jest chwila relaksu, gdy coś idzie nie tak i nie wiadomo jak ruszyć z miejsca. Pomieszczenie jest nierozerwalnie związane z zespołem, który nie będzie funkcjonował poprawnie, jeśli nie będzie się w nim dobrze czuł. Zapewnienie dobrych warunków pracy ma zdecydowane pierwszeństwo wobec innych prac firmy. 6. Podsumowanie 6.1. Co to znaczy wybrać XP. Szefowie, którzy zdecydują się na wprowadzenie XP muszą być świadomi jakie to rodzi konsekwencje. Przede wszystkim muszą zgodzić się na oddanie programistom władzy nad sterowaniem projektem. Muszą ograniczyć zespół do maksymalnie 10 osób. Autorzy metody podkreślają, że zespół tej wielkości sprawnie pracujący w XP może być o wiele wydajniejszy niż o wiele większe grupy pracujące w ciężkich metodykach. Szefowie muszą również potrafić sterować wspólnym życiem grupy ludzi w zespole. Muszą potrafić zorganizować miejsce pracy tak by było przyjazne, pomagało w komunikacji oraz

13 EXTREME PROGRAMMING pozwalało na celebrowanie wspólnych spotkań, posiłków i rozmów, a jednocześnie zapewniało niezbędną prywatność i spokój. Dobrym przykładem jest tu zespół C3 i jego pokoje pokazane na stronach [3]. Szefowie muszą wreszcie potrafić podejmować niepopularne ale konieczne decyzje oraz mieć odwagę skoczyć na głęboką wodę Czemu zapobiega XP. Przy przestrzeganiu zasad wydaje się oczywiste, że stosując to metodę można zapobiec wykonywaniu pracy która nie ma znaczenia (bo zgodnie z zasadą minimalizacji rozwiązania robimy tylko to co jest potrzebne), częstemu anulowaniu projektów (bo ciągły kontakt z klientem zapewnia spełnienie jego wymagań, a jego udział w procesie projektowania zapewnia dobranie właściwego harmonogramu prac) i wykonywaniu pracy z której nie jest się dumnym (bo tworzony kod jest najwyższej jakości, a zespół cały zespół pracuje nad osiągnięciem perfekcyjnego produktu) Co daje XP. Zyski z wprowadzenia XP są oczywiste, nie da się ich jednak dobrze opisać i pojąć bez własnoręcznego wypróbowania. Wprowadzenie XP daje nie tylko bardzo dobrą aplikację, ale i dużo satysfakcji z własnej pracy. Kent Beck podkreśla, że nie bez znaczenia jest również stałe obciążenie zespołu i postawienie nacisku na nieprzemęczanie go. Doprowadza to oczywiście do mniejszego stresu i w rezultacie również zwraca się w podniesieniu jakości pracy. Nie jest łatwo zaufać i wprowadzić w życie wszystkie zasady XP. Jeśli jednak zarzuci się któreś z nich, można stracić wiele z potencjalnych zysków. Pamiętać należy również, że XP nie jest sztywne, ale może dostosowywać się do potrzeb i danego otoczenia. Przedstawione praktyki i sposób pracy to jedynie początek. Zachętą do podjęcia wyzwania może być to, że wiele zespołów na świecie stosuje je z sukcesem. Osiągają oni duże zadowolenie klienta i satysfakcję z dobrze wykonanej pracy. Współtwórca XP Kent Beck mówi, że XP jest proste w szczegółach, ale trudne w realizacji. Podstawowe zasoby [1] XProgramming.com - an Extreme Programming Resource [2] Extreme Programming: A gentle introduction [3] WikiWikiWeb: Extreme Programming Roadmap [4] ObjectMentor.com [5] Martin Fowler The New Methodology [6] Kent Beck: Extreme Programming Explained, Addison-Wesley, [7] W.C.Wake: Extreme Programming Explored, Addison-Wesley, [8] Martin Fowler et al.: Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999.

14 14 KRZYSZTOF KACZMARSKI [9] J. R. Nawrocki, B.Walter, A.Wojciechowski: Propozycja modelu dojrzałości dla Programowania Ekstremalnego III.KKIO 2001

Programowanie extremalne. Adrian Gadzina

Programowanie extremalne. Adrian Gadzina Programowanie extremalne Adrian Gadzina XP czym jest? Programowanie ekstremalne (ang. extreme Programming, XP) to paradygmat i metodyka programowania mająca na celu wydajne tworzenie małych i średnich

Bardziej szczegółowo

EXTREME PROGRAMMING ZAPEWNIENIE SKUTECZNEJ I WYDAJNEJ PRACY PROGRAMISTÓW

EXTREME PROGRAMMING ZAPEWNIENIE SKUTECZNEJ I WYDAJNEJ PRACY PROGRAMISTÓW EXTREME PROGRAMMING ZAPEWNIENIE SKUTECZNEJ I WYDAJNEJ PRACY PROGRAMISTÓW KRZYSZTOF KACZMARSKI Streszczenie. Extreme Programming stara się w szczególny sposób zwrócić uwagę na wydajność i skuteczność pracy

Bardziej szczegółowo

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming Jarosław Kuchta Wymagania jakości w Agile Programming Wady klasycznych metod zapewnienia jakości Duży narzut na dokumentowanie Późne uzyskiwanie konkretnych rezultatów Trudność w odpowiednio wczesnym definiowaniu

Bardziej szczegółowo

Główne założenia XP. Prostota (Simplicity) Komunikacja (Communication) Sprzężenie zwrotne (Feedback) Odwaga (Agressiveness)

Główne założenia XP. Prostota (Simplicity) Komunikacja (Communication) Sprzężenie zwrotne (Feedback) Odwaga (Agressiveness) Extreme programming Główne założenia XP Prostota (Simplicity) Komunikacja (Communication) Sprzężenie zwrotne (Feedback) Odwaga (Agressiveness) Praktyki Planowanie: Planowanie releasu Planowanie iteracji

Bardziej szczegółowo

Programowanie zespołowe

Programowanie zespołowe Programowanie zespołowe Laboratorium 4 - modele tworzenia oprogramowania, manifest Agile i wstęp do Scruma mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 14 marca 2017 1 / 21 mgr inż. Krzysztof

Bardziej szczegółowo

Wszystkie problemy leżą w testach. ForProgress spółka z ograniczoną odpowiedzialnością sp.k.

Wszystkie problemy leżą w testach. ForProgress spółka z ograniczoną odpowiedzialnością sp.k. Wszystkie problemy leżą w testach O czym będziemy rozmawiać Coś nie wyszło Jak wygląda proces wytwórczy Każdy widzi to inaczej Jakie wnioski wyciągamy z testów Analiza problemów Możliwe rozwiązania O czym

Bardziej szczegółowo

Testowanie oprogramowania

Testowanie oprogramowania Testowanie oprogramowania 1/17 Testowanie oprogramowania Wykład 01 dr inż. Grzegorz Michalski 13 października 2015 Testowanie oprogramowania 2/17 Dane kontaktowe: Kontakt dr inż. Grzegorz Michalski pokój

Bardziej szczegółowo

Metody wytwarzania oprogramowania. Metody wytwarzania oprogramowania 1/31

Metody wytwarzania oprogramowania. Metody wytwarzania oprogramowania 1/31 Metody wytwarzania oprogramowania Metody wytwarzania oprogramowania 1/31 Metody wytwarzania oprogramowania 2/31 Wprowadzenie Syndrom LOOP Late Późno Over budget Przekroczono budżet Overtime nadgodziny

Bardziej szczegółowo

Programowanie ekstremalne

Programowanie ekstremalne Programowanie ekstremalne Bartłomiej Zieliński Spis treści 1 Wstęp 2 2 Programowanie ekstremalne w praktyce 3 2.1 Ogólne zasady........................... 3 3 Zalety i wady programowania ekstremalnego

Bardziej szczegółowo

KILKA SŁÓW O ROLI PRODUCT MANAGERA

KILKA SŁÓW O ROLI PRODUCT MANAGERA CZĘŚĆ I. KILKA SŁÓW O ROLI PRODUCT MANAGERA Product manager pracuje na styku świata IT i biznesu. Analizuje potrzeby użytkowników i klientów, współpracuje ze wszystkimi działami firmy maksymalizując wartość

Bardziej szczegółowo

I Twój zespół może być zwinny (choć to może trochę potrwać) Paweł Lipiński

I Twój zespół może być zwinny (choć to może trochę potrwać) Paweł Lipiński I Twój zespół może być zwinny (choć to może trochę potrwać) Paweł Lipiński pawel@warsjawa:/etc$whoami Ja: ponad 10 lat pracy w Javie SCJP, SCWCD, SCBCD, SCEA brałem udział w: rozwój oprogramowania, consulting,

Bardziej szczegółowo

Bezpieczeństwo systemów komputerowych

Bezpieczeństwo systemów komputerowych Bezpieczeństwo systemów komputerowych Jak pisać poprawne programy? Aleksy Schubert (Marcin Peczarski) Instytut Informatyki Uniwersytetu Warszawskiego 6 listopada 2018 Na podstawie: David A. Wheeler Secure

Bardziej szczegółowo

USTALENIE SYSTEMU WYNAGRODZEŃ

USTALENIE SYSTEMU WYNAGRODZEŃ USTALENIE SYSTEMU WYNAGRODZEŃ Administracja systemu wynagrodzeń jest ważnym elementem prowadzenia biznesu. Gdy mamy działający formalny system płac, pomaga to w kontrolowaniu kosztów personelu, podnosi

Bardziej szczegółowo

Etapy życia oprogramowania

Etapy życia oprogramowania Modele cyklu życia projektu informatycznego Organizacja i Zarządzanie Projektem Informatycznym Jarosław Francik marzec 23 w prezentacji wykorzystano również materiały przygotowane przez Michała Kolano

Bardziej szczegółowo

Inżynieria oprogramowania II

Inżynieria oprogramowania II Wymagania funkcjonalne, przypadki użycia Inżynieria oprogramowania II Problem i cel Tworzenie projektów bez konkretnego celu nie jest dobre Praktycznie każdy projekt informatyczny powstaje z uwagi na jakiś

Bardziej szczegółowo

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania Etapy życia oprogramowania Modele cyklu życia projektu informatycznego Organizacja i Zarządzanie Projektem Informatycznym Jarosław Francik marzec 23 Określenie wymagań Testowanie Pielęgnacja Faza strategiczna

Bardziej szczegółowo

Feature Driven Development

Feature Driven Development Feature Driven Development lekka metodyka tworzenia oprogramowania Kasprzyk Andrzej IS II Wstęp Feature Driven Development (FDD) to metodyka tworzenia oprogramowania, która wspomaga zarządzanie fazami

Bardziej szczegółowo

Cykle życia systemu informatycznego

Cykle życia systemu informatycznego Cykle życia systemu informatycznego Cykl życia systemu informatycznego - obejmuję on okres od zgłoszenia przez użytkownika potrzeby istnienia systemu aż do wycofania go z eksploatacji. Składa się z etapów

Bardziej szczegółowo

Wykład VII. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład VII. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład VII - semestr III Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Wytwarzanie oprogramowania Model tworzenia oprogramowania

Bardziej szczegółowo

Sposoby sprawdzania osiągnięć edukacyjnych uczniów

Sposoby sprawdzania osiągnięć edukacyjnych uczniów 1 Sposoby sprawdzania osiągnięć edukacyjnych uczniów Dla uczniów zainteresowanych przygotowywane są ćwiczenia trudniejsze, aby mogli wykazać się swoimi umiejętnościami i wiedzą. Uczniom mającym trudności

Bardziej szczegółowo

AKADEMIA DLA MŁODYCH. Osiąganie celów. moduł 3 PODRĘCZNIK PROWADZĄCEGO. praca, życie, umiejętności. Akademia dla Młodych

AKADEMIA DLA MŁODYCH. Osiąganie celów. moduł 3 PODRĘCZNIK PROWADZĄCEGO. praca, życie, umiejętności. Akademia dla Młodych Osiąganie moduł 3 Temat 3, Poziom 1 PODRĘCZNIK PROWADZĄCEGO Akademia dla Młodych Moduł 3 Temat 3 Poziom 1 Zarządzanie czasem Przewodnik prowadzącego Cele szkolenia Efektywność osobista pozwala Uczestnikom

Bardziej szczegółowo

ĆWICZENIE: MAPA DZIENNYCH PRIORYTETÓW

ĆWICZENIE: MAPA DZIENNYCH PRIORYTETÓW ELASTYCZNE ZARZĄDZANIE CZASEM ĆWICZENIE: MAPA DZIENNYCH PRIORYTETÓW www.izakrejcapawski.pl Doba jest dla Ciebie za krótka? Ciągle brakuje Ci czasu? Gonisz zaległości? Nazywam się Iza Krejca-Pawski i swoim

Bardziej szczegółowo

omnia.pl, ul. Kraszewskiego 62A, 37-500 Jarosław, tel. +48 16 621 58 10 www.omnia.pl kontakt@omnia.pl

omnia.pl, ul. Kraszewskiego 62A, 37-500 Jarosław, tel. +48 16 621 58 10 www.omnia.pl kontakt@omnia.pl .firma Dostarczamy profesjonalne usługi oparte o nowoczesne technologie internetowe Na wstępie Wszystko dla naszych Klientów Jesteśmy świadomi, że strona internetowa to niezastąpione źródło informacji,

Bardziej szczegółowo

Zapisywanie algorytmów w języku programowania

Zapisywanie algorytmów w języku programowania Temat C5 Zapisywanie algorytmów w języku programowania Cele edukacyjne Zrozumienie, na czym polega programowanie. Poznanie sposobu zapisu algorytmu w postaci programu komputerowego. Zrozumienie, na czym

Bardziej szczegółowo

7 KWESTII DO ROZWAŻENIA W TRAKCIE SPORZĄDZANIA PLANU ICT

7 KWESTII DO ROZWAŻENIA W TRAKCIE SPORZĄDZANIA PLANU ICT 7 KWESTII DO ROZWAŻENIA W TRAKCIE SPORZĄDZANIA PLANU ICT Sierpień 2017 Sponsorowane przez SMART Technologies, Inc. WPROWADZENIE Sporządzanie kompleksowego planu technologicznego dla szkoły należy rozpocząć

Bardziej szczegółowo

Zagadnienia. Inżynieria Oprogramowania

Zagadnienia. Inżynieria Oprogramowania Zagadnienia Co to jest extreme Programming (XP) Czym charakteryzują się tzw. lekkie metodyki zarządzania procesem produkcji oprogramowania Reguły i praktyki XP Dlaczego i kiedy można a w jakich przypadkach

Bardziej szczegółowo

REFERENCJE. Instruktor Soul Fitness DAWID CICHOSZ

REFERENCJE. Instruktor Soul Fitness DAWID CICHOSZ Swoją przygodę z siłownią zaczęłam kilka lat temu. Podstawowym błędem, który wtedy zrobiłam było rozpoczęcie treningów bez wiedzy i konsultacji z profesjonalistą. Nie wiedziałam co mam robię, jak ćwiczyć,

Bardziej szczegółowo

REFERAT PRACY DYPLOMOWEJ

REFERAT PRACY DYPLOMOWEJ REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany

Bardziej szczegółowo

PROJEKT WYZWANIE Responer Responer

PROJEKT WYZWANIE Responer Responer C A S E STUDY PROJEKT WYZWANIE Responer jest jednym z projektów prowadzonych wewnątrz MSERWIS. Responer to system, który pozwala na sprawne zarządzanie mailami przychodzącymi i pomaga w codziennej obsłudze

Bardziej szczegółowo

Zarządzanie projektami w NGO

Zarządzanie projektami w NGO Zarządzanie projektami w NGO Warsztaty dla Grupy Nowe Technologie Federacja Organizacji Służebnych MAZOWIA 4 września 2012 Projekt współfinansowany jest ze środków Unii Europejskiej w ramach Europejskiego

Bardziej szczegółowo

Agile vs PRINCE2. 2014/2015 I rok st. magisterskie Informatyka

Agile vs PRINCE2. 2014/2015 I rok st. magisterskie Informatyka Agile vs PRINCE2 Ewa Solecka - specjalność ogólna- 1117627 Przemysław Mrozowski specjalność ogólna- 1121130 Michał Roztoczyński specjalność ogólna - 1118910 2014/2015 I rok st. magisterskie Informatyka

Bardziej szczegółowo

Danuta Sterna: Strategie dobrego nauczania

Danuta Sterna: Strategie dobrego nauczania : Strategie dobrego nauczania Strategie dobrego nauczania Strategie oceniania kształtującego I. Określanie i wyjaśnianie uczniom celów uczenia się i kryteriów sukcesu. II. Organizowanie w klasie dyskusji,

Bardziej szczegółowo

SCRUM niełatwe wdrażanie metodyki w praktyce. Adam Krosny

SCRUM niełatwe wdrażanie metodyki w praktyce. Adam Krosny SCRUM niełatwe wdrażanie metodyki w praktyce Adam Krosny 1 Czym się zajmujemy Realizujemy projekty informatyczne średniej wielkości Ilość osób w projekcie 10-50 Architektura SOA, EBA Wiele komponentów

Bardziej szczegółowo

AKADEMIA DLA MŁODYCH PRZEWODNIK TRENERA. PRACA ŻYCIE UMIEJĘTNOŚCI

AKADEMIA DLA MŁODYCH PRZEWODNIK TRENERA.  PRACA ŻYCIE UMIEJĘTNOŚCI PRACA ŻYCIE UMIEJĘTNOŚCI www.akademiadlamlodych.pl PODRĘCZNIK WPROWADZENIE Akademia dla Młodych to nowa inicjatywa mająca na celu wspieranie ludzi młodych w rozwijaniu umiejętności niezbędnych w ich miejscu

Bardziej szczegółowo

SYSTEMY INFORMATYCZNE ćwiczenia praktyczne

SYSTEMY INFORMATYCZNE ćwiczenia praktyczne SYSTEMY INFORMATYCZNE ćwiczenia praktyczne 12.03.2019 Piotr Łukasik p. 373 email: plukasik@agh.edu.pl / lukasik.pio@gmail.com www.lukasikpiotr.com Zakres tematyczny implementacji projektu informatycznego

Bardziej szczegółowo

Programowanie i techniki algorytmiczne

Programowanie i techniki algorytmiczne Temat 2. Programowanie i techniki algorytmiczne Realizacja podstawy programowej 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych 2) formułuje ścisły opis prostej

Bardziej szczegółowo

Temat: Programujemy historyjki w języku Scratch tworzymy program i powtarzamy polecenia.

Temat: Programujemy historyjki w języku Scratch tworzymy program i powtarzamy polecenia. Prowadzący: Dariusz Stefańczyk Szkoła Podstawowa w Kurzeszynie Konspekt lekcji z informatyki w klasie IV Dział programowy: Programowanie. Podstawa programowa 1. Treści nauczania: Rozumienie, analizowanie

Bardziej szczegółowo

Wprowadzenie do systemów informacyjnych

Wprowadzenie do systemów informacyjnych Wprowadzenie do systemów informacyjnych Kryteria oceny systemu Podstawowe metody projektowania UEK w Krakowie Ryszard Tadeusiewicz 1 UEK w Krakowie Ryszard Tadeusiewicz 2 Technologia informatyczna dzisiaj

Bardziej szczegółowo

Programowanie Zespołowe

Programowanie Zespołowe Programowanie Zespołowe Dobre Praktyki dr Rafał Skinderowicz mgr inż. Michał Maliszewski Parafrazując klasyka: Jeśli piszesz w Javie pisz w Javie - Rafał Ciepiela Principal Software Developer Cadence Design

Bardziej szczegółowo

szkolenia pod drzewem Wybrane Techniki XP bnd 2008 Tomasz Włodarek. Materiał udostępniany na podstawie licencji Creative Commons (by-nc-nd) 1.00.

szkolenia pod drzewem Wybrane Techniki XP bnd 2008 Tomasz Włodarek. Materiał udostępniany na podstawie licencji Creative Commons (by-nc-nd) 1.00. szkolenia pod drzewem Wybrane Techniki XP 1.00.00 bnd Wybrane techniki XP współwłasność kodu źródłowego (collective code ownership) częsta/ciągła integracja (continuous integration) programowanie w parach

Bardziej szczegółowo

6 kroków do skutecznego planowania na postawie wskaźników KPI

6 kroków do skutecznego planowania na postawie wskaźników KPI 6 kroków do skutecznego planowania na postawie wskaźników KPI Urzeczywistnianie celów biznesowych w praktyce Planowanie i optymalizacja łańcucha dostaw Odkryj brakujące połączenie pomiędzy celami biznesowymi

Bardziej szczegółowo

10 kluczowych zasad efektywnego uczenia się tradingu

10 kluczowych zasad efektywnego uczenia się tradingu 10 kluczowych zasad efektywnego uczenia się tradingu Prowadzący: Agenda 1. 5 najpoważniejszych błędów traderów podczas nauki tradingu 2. Uczenie się na błędach - czy na pewno to jest dobre? 3. Dlaczego

Bardziej szczegółowo

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa Autorzy scenariusza: SCENARIUSZ LEKCJI OPRACOWANY W RAMACH PROJEKTU: INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA. PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH

Bardziej szczegółowo

Zarządzanie projektami. Wykład 2 Zarządzanie projektem

Zarządzanie projektami. Wykład 2 Zarządzanie projektem Zarządzanie projektami Wykład 2 Zarządzanie projektem Plan wykładu Definicja zarzadzania projektami Typy podejść do zarządzania projektami Cykl życia projektu/cykl zarządzania projektem Grupy procesów

Bardziej szczegółowo

DLA SEKTORA INFORMATYCZNEGO W POLSCE

DLA SEKTORA INFORMATYCZNEGO W POLSCE DLA SEKTORA INFORMATYCZNEGO W POLSCE SRK IT obejmuje kompetencje najważniejsze i specyficzne dla samego IT są: programowanie i zarządzanie systemami informatycznymi. Z rozwiązań IT korzysta się w każdej

Bardziej szczegółowo

1 Prezentacja oferty StudioGS

1 Prezentacja oferty StudioGS 1 Prezentacja oferty StudioGS 2 Prezentacja oferty StudioGS Kim jesteśmy Powstanie naszej firmy to efekt połączenia sił kilku osób związanych z różnymi gałęziami informatyki programiści, webmasterzy, graficy

Bardziej szczegółowo

Wzór na rozwój. Karty pracy. Kurs internetowy. Nauki ścisłe odpowiadają na wyzwania współczesności. Moduł 3. Data rozpoczęcia kursu

Wzór na rozwój. Karty pracy. Kurs internetowy. Nauki ścisłe odpowiadają na wyzwania współczesności. Moduł 3. Data rozpoczęcia kursu 2 slajd Cele modułu 3 Kurs internetowy Wzór na rozwój Nauki ścisłe odpowiadają na wyzwania współczesności Poznasz przykładowy przebieg działań w projekcie edukacyjnym zrealizowanym w ramach projektu Wzór

Bardziej szczegółowo

BADANIE KLIENTÓW SATYSFAKCJI JAK KLIENCI OCENIAJĄ LIVESPACE CRM? Raport LiveSpace

BADANIE KLIENTÓW SATYSFAKCJI JAK KLIENCI OCENIAJĄ LIVESPACE CRM? Raport LiveSpace BADANIE SATYSFAKCJI KLIENTÓW JAK KLIENCI OCENIAJĄ LIVESPACE CRM? Raport LiveSpace LiveSpace CRM, styczeń 2015 Badanie satysfakcji klientów Badanie satysfakcji klientów zostało przeprowadzone w styczniu

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

Faza Określania Wymagań

Faza Określania Wymagań Faza Określania Wymagań Celem tej fazy jest dokładne określenie wymagań klienta wobec tworzonego systemu. W tej fazie dokonywana jest zamiana celów klienta na konkretne wymagania zapewniające osiągnięcie

Bardziej szczegółowo

Punkt 2: Stwórz listę Twoich celów finansowych na kolejne 12 miesięcy

Punkt 2: Stwórz listę Twoich celów finansowych na kolejne 12 miesięcy Miesiąc:. Punkt 1: Wyznacz Twoje 20 minut z finansami Moje 20 minut na finanse to: (np. Pn-Pt od 7:00 do 7:20, So-Ni od 8:00 do 8:20) Poniedziałki:.. Wtorki:... Środy:. Czwartki: Piątki:. Soboty:.. Niedziele:...

Bardziej szczegółowo

Organizacja czasu 1

Organizacja czasu 1 Organizacja czasu 1 Organizacja czasu Czyli jak optymalnie wykorzystać czas. Michał Mielniczuk 2 Do dzieła!!! W tym poradniku, podam Ci kilka sposobów na to jak optymalnie organizować zadania, by zyskać

Bardziej szczegółowo

WYMAGANIA EDUKACYJNE Z ZAJĘĆ KOMPUTEROWYCH / EDUKACJI INFORMATYCZNEJ KLAS I III

WYMAGANIA EDUKACYJNE Z ZAJĘĆ KOMPUTEROWYCH / EDUKACJI INFORMATYCZNEJ KLAS I III WYMAGANIA EDUKACYJNE Z ZAJĘĆ KOMPUTEROWYCH / EDUKACJI INFORMATYCZNEJ KLAS I III Zgodnie z wytycznymi nowej podstawy programowej zajęcia komputerowe/ edukację informatyczną należy prowadzić w korelacji

Bardziej szczegółowo

KRYTERIA OCENIANIA Z JĘZYKA ANGIELSKIEGO W KLASACH IV - VI

KRYTERIA OCENIANIA Z JĘZYKA ANGIELSKIEGO W KLASACH IV - VI KRYTERIA OCENIANIA Z JĘZYKA ANGIELSKIEGO W KLASACH IV - VI Ocena celująca: uczeń swobodnie operuje strukturami gramatycznymi określonymi w rozkładzie materiału z łatwością buduje spójne zdania proste i

Bardziej szczegółowo

Od juniora do seniora Program Edukacji Ekonomicznej

Od juniora do seniora Program Edukacji Ekonomicznej Od juniora do seniora Program Edukacji Ekonomicznej Roman Pomianowski Program realizowany jest przy wsparciu Czym jest edukacja ekonomiczna (EE) Znaczenie umiejętności odraczania nagrody Dziecko klientem

Bardziej szczegółowo

www.omec.pl 1 Konferencja "Bezpieczny Projekt" Wrocław 22 czerwca 2010

www.omec.pl 1 Konferencja Bezpieczny Projekt Wrocław 22 czerwca 2010 Od kartki i ołówka do systemu informatycznego, czyli jak wdrażano zarządzanie projektami u klienta Rinf Sp. z o.o. www.omec.pl 1 Co my rozumiemy pod pojęciem: PROJEKT Projekt: Ciąg zadań nastawionych na

Bardziej szczegółowo

ĆWICZENIE Lody na drodze Ent-teach Rozdział 6 Zarządzanie Projektami

ĆWICZENIE Lody na drodze Ent-teach Rozdział 6 Zarządzanie Projektami ĆWICZENIE Lody na drodze Ent-teach Rozdział 6 Zarządzanie Projektami Opis ćwiczenia W poniższym zadaniu, uczestnicy muszą zaplanować tydzień sprzedaży lodów na ulicy w ich rodzinnym mieście (centrum).

Bardziej szczegółowo

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Projekt zespołowy D1_10

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Projekt zespołowy D1_10 KARTA PRZEDMIOTU 1. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Nazwa przedmiotu (j. ang.): Kierunek studiów: Specjalność/specjalizacja: Poziom kształcenia: Profil kształcenia: Forma studiów:

Bardziej szczegółowo

Dziękuję za zainteresowanie Pracownią Projektowania Wnętrz Viva Design.

Dziękuję za zainteresowanie Pracownią Projektowania Wnętrz Viva Design. Dzień dobry, Dziękuję za zainteresowanie Pracownią Projektowania Wnętrz Viva Design. Siłą każdej firmy są ludzie. Mam szczęście pracować z osobami obdarzonymi ambicją, wytrwałością oraz tym co potocznie

Bardziej szczegółowo

Co to jest niewiadoma? Co to są liczby ujemne?

Co to jest niewiadoma? Co to są liczby ujemne? Co to jest niewiadoma? Co to są liczby ujemne? Można to łatwo wyjaśnić przy pomocy Edukrążków! Witold Szwajkowski Copyright: Edutronika Sp. z o.o. www.edutronika.pl 1 Jak wyjaśnić, co to jest niewiadoma?

Bardziej szczegółowo

Celem tego projektu jest stworzenie

Celem tego projektu jest stworzenie Prosty kalkulator Celem tego projektu jest stworzenie prostego kalkulatora, w którym użytkownik będzie podawał dwie liczby oraz działanie, które chce wykonać. Aplikacja będzie zwracała wynik tej operacji.

Bardziej szczegółowo

Priorytetyzacja przypadków testowych za pomocą macierzy

Priorytetyzacja przypadków testowych za pomocą macierzy Priorytetyzacja przypadków testowych za pomocą macierzy W niniejszym artykule przedstawiony został problem przyporządkowania priorytetów do przypadków testowych przed rozpoczęciem testów oprogramowania.

Bardziej szczegółowo

Rekrutacja List Motywacyjny

Rekrutacja List Motywacyjny - Początek Formalny, odbiorcą jest mężczyzna, którego nazwiska nie znamy. Zamiennie możemy użyć jednego z dwóch zwrotów formalnych Formalny, odbiorcą jest kobieta, której nazwiska nie znamy. Zamiennie

Bardziej szczegółowo

Kto to zrobi? Co jest do tego potrzebne?

Kto to zrobi? Co jest do tego potrzebne? USTALANIE ZASAD PRACY W ZESPOLE 1. Kto będzie naszym liderem/przewodniczącym zespołu?... 2. Jak podzielimy odpowiedzialność za realizację zadań?... 3. jak będziemy podejmować decyzje?... 4. W jaki sposób

Bardziej szczegółowo

Jak ustalać cele dla poziomu braków w procesach produkcyjnych?

Jak ustalać cele dla poziomu braków w procesach produkcyjnych? Jak ustalać cele dla poziomu braków w procesach produkcyjnych? Wydanie 1 Zbigniew Huber Maj 2006 Artykuł dostępny na stronie autora: http://wwwhuberpl Copyright by Zbigniew Huber Strona 1 z 6 W każdym

Bardziej szczegółowo

Sprawozdanie z realizacji Pilotażowego wdrażania nauki programowania w edukacji formalnej w oparciu o innowacje pedagogiczne w szkołach

Sprawozdanie z realizacji Pilotażowego wdrażania nauki programowania w edukacji formalnej w oparciu o innowacje pedagogiczne w szkołach Sprawozdanie z realizacji Pilotażowego wdrażania nauki programowania w edukacji formalnej w oparciu o innowacje pedagogiczne w szkołach Szkoła Podstawowa im. Jana z Ludziska w Ludzisku Autor i realizator

Bardziej szczegółowo

Wymagania edukacyjne z języka angielskiego klasy 4-6

Wymagania edukacyjne z języka angielskiego klasy 4-6 klasy - Ocena Gramatyka i słownictwo uczeń swobodnie operuje strukturami gramatycznymi określonymi w rozkładzie z łatwością buduje spójne zdania proste i złożone, poprawne pod względem gramatycznym i logicznym

Bardziej szczegółowo

Dwie szkoły oceny 360 stopni. Sprawdź różnicę pomiędzy klasycznym a nowoczesnym podejściem

Dwie szkoły oceny 360 stopni. Sprawdź różnicę pomiędzy klasycznym a nowoczesnym podejściem Sprawdź różnicę pomiędzy klasycznym a nowoczesnym podejściem Czy stosowanie tradycyjnego podejścia do metody 360 stopni jest jedynym rozwiązaniem? Poznaj dwa podejścia do przeprowadzania procesu oceny

Bardziej szczegółowo

Nasz klient, nasz Pan?

Nasz klient, nasz Pan? przemyślane rozwiązania Nasz klient, nasz Pan? Nazwa przykładowego klienta Nie Propozycja ściemniaj! współpracy Co podać? 5 powodów dla których miałbym tu coś zamówić Mniejszy lub większy kryzys spotka

Bardziej szczegółowo

Projektowanie oprogramowania. Wykład Weryfikacja i Zatwierdzanie Inżynieria Oprogramowania Kazimierz Michalik

Projektowanie oprogramowania. Wykład Weryfikacja i Zatwierdzanie Inżynieria Oprogramowania Kazimierz Michalik Projektowanie oprogramowania Wykład Weryfikacja i Zatwierdzanie Inżynieria Oprogramowania Kazimierz Michalik Agenda Weryfikacja i zatwierdzanie Testowanie oprogramowania Zarządzanie Zarządzanie personelem

Bardziej szczegółowo

Maciej Oleksy Zenon Matuszyk

Maciej Oleksy Zenon Matuszyk Maciej Oleksy Zenon Matuszyk Jest to proces związany z wytwarzaniem oprogramowania. Jest on jednym z procesów kontroli jakości oprogramowania. Weryfikacja oprogramowania - testowanie zgodności systemu

Bardziej szczegółowo

Wzorce projektowe i refaktoryzacja

Wzorce projektowe i refaktoryzacja Wzorce projektowe i refaktoryzacja Paweł Kozioł p.koziol@students.mimuw.edu.pl 18.01.2005 Moja praca magisterska Narzędzie dla środowiska Eclipse wspierające stosowanie wzorców projektowych J2EE Prowadzący:

Bardziej szczegółowo

KARTA PRZEDMIOTU. Projekt zespołowy D1_10

KARTA PRZEDMIOTU. Projekt zespołowy D1_10 KARTA PRZEDMIOTU 1. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Projekt zespołowy D1_10 Nazwa przedmiotu (j. ang.): Team Project Kierunek studiów: Specjalność/specjalizacja: Poziom kształcenia:

Bardziej szczegółowo

Lekkie metodyki. tworzenia oprogramowania

Lekkie metodyki. tworzenia oprogramowania Lekkie metodyki tworzenia oprogramowania Programowanie zwinne ( Agile software development) grupa metodyk wytwarzania oprogramowania opartego o programowanie iteracyjne (model przyrostowy). Wymagania oraz

Bardziej szczegółowo

MODELE CYKLU ŻYCIA OPROGRAMOWANIA (1) Model kaskadowy (często stosowany w praktyce do projektów o niewielkiej złożonoś

MODELE CYKLU ŻYCIA OPROGRAMOWANIA (1) Model kaskadowy (często stosowany w praktyce do projektów o niewielkiej złożonoś OPROGRAMOWANIA (1) Model kaskadowy (często stosowany w praktyce do projektów o niewielkiej złożonoś (często stosowany w praktyce do projektów o niewielkiej złożoności) wymagania specyfikowanie kodowanie

Bardziej szczegółowo

Zacznijmy więc pracę z repozytorium. Pierwsza konieczna rzecz do rozpoczęcia pracy z repozytorium, to zalogowanie się w serwisie:

Zacznijmy więc pracę z repozytorium. Pierwsza konieczna rzecz do rozpoczęcia pracy z repozytorium, to zalogowanie się w serwisie: Repozytorium służy do przechowywania plików powstających przy pracy nad projektami we w miarę usystematyzowany sposób. Sam mechanizm repozytorium jest zbliżony do działania systemu plików, czyli składa

Bardziej szczegółowo

Organizacja informacji

Organizacja informacji Organizacja informacji 64 CZYTANIE ARTYKUŁU Z GAZETY To zadanie ma nauczyć jak: wybierać tematy i rozpoznawać słowa kluczowe; analizować tekst, aby go zrozumieć i pamiętać; przygotowywać sprawozdanie;

Bardziej szczegółowo

Jak wykorzystać design thinking w swojej firmie Doświadczenia praktyka.

Jak wykorzystać design thinking w swojej firmie Doświadczenia praktyka. Jak wykorzystać design thinking w swojej firmie Doświadczenia praktyka. Rafał Kołodziej 05/2015 Wszystko co robimy dotyczy człowieka. Design Thinking Design Thinking is a human-centered is a human-centered

Bardziej szczegółowo

Innowacja pedagogiczna dla uczniów pierwszej klasy gimnazjum Programowanie

Innowacja pedagogiczna dla uczniów pierwszej klasy gimnazjum Programowanie Innowacja pedagogiczna dla uczniów pierwszej klasy gimnazjum Programowanie Opracował Ireneusz Trębacz 1 WSTĘP Dlaczego warto uczyć się programowania? Żyjemy w społeczeństwie, które coraz bardziej się informatyzuje.

Bardziej szczegółowo

Scenariusz projektu edukacyjnego Komputer bez tajemnic 5/I Tytuł: Komputer bez tajemnic

Scenariusz projektu edukacyjnego Komputer bez tajemnic 5/I Tytuł: Komputer bez tajemnic Scenariusz projektu edukacyjnego Komputer bez tajemnic 5/I Tytuł: Komputer bez tajemnic Klasa: Kształtowane kompetencje: Efekty kształcenia: Czas trwania: pierwsza - informatyczne - intrapersonalne i interpersonalne

Bardziej szczegółowo

X SPOTKANIE EKSPERCKIE. System ocen pracowniczych metodą 360 stopni

X SPOTKANIE EKSPERCKIE. System ocen pracowniczych metodą 360 stopni X SPOTKANIE EKSPERCKIE System ocen pracowniczych metodą 360 stopni Warszawa, 16.09.2011 Ocena wieloźródłowa od koncepcji do rezultatów badania dr Anna Bugalska Najlepsze praktyki Instytutu Rozwoju Biznesu

Bardziej szczegółowo

JAK POMÓC DZIECKU KORZYSTAĆ Z KSIĄŻKI

JAK POMÓC DZIECKU KORZYSTAĆ Z KSIĄŻKI JAK POMÓC DZIECKU KORZYSTAĆ Z KSIĄŻKI ŻEBY WYNIOSŁO Z NIEJ JAK NAJWIĘCEJ KORZYŚCI www.sportowywojownik.pl KORZYŚCI - DLA DZIECI: Korzyści, jakie książka Sportowy Wojownik zapewnia dzieciom, można zawrzeć

Bardziej szczegółowo

GUI - projektowanie interfejsów

GUI - projektowanie interfejsów Katedra Inżynierii Wiedzy, Uniwersytet Ekonomiczny w Katowicach Wykład 3 Prototypowanie - definicja Rozwój oprogramowania/aplikacji (gry) poprzez tworzenie kolejnych wersji prototypów. Prototypowanie szybkie

Bardziej szczegółowo

Programowanie Zespołowe

Programowanie Zespołowe Programowanie Zespołowe Programowanie zwinne dr Rafał Skinderowicz mgr inż. Michał Maliszewski Programowanie zwinne Grupa metodyk wytwarzania oprogramowania oparta na modelu iteracyjno-obiektowym Powstała

Bardziej szczegółowo

Zarządzanie zmianą. Czyli jak skutecznie minimalizować opór pracowników wobec zmian

Zarządzanie zmianą. Czyli jak skutecznie minimalizować opór pracowników wobec zmian Zarządzanie zmianą Czyli jak skutecznie minimalizować opór pracowników wobec zmian Plan prezentacji 1. Strefa komfortu i jej wpływ na gotowość do zmian. 2. Kluczowe przyczyny oporu wobec zmian i sposoby

Bardziej szczegółowo

e R gulamin Kuźni Talentów

e R gulamin Kuźni Talentów Regulamin Kuźni Talentów Misja Kuźnia powstała by dostarczać młodym Talentom wiedzę, doświadczenie oraz miejsce i środki do ich rozwoju, w tak wielu aspektach tyczących się przyszłej pracy zawodowej, jak

Bardziej szczegółowo

Tworzenie gier na urządzenia mobilne

Tworzenie gier na urządzenia mobilne Katedra Inżynierii Wiedzy Wykład 3 O czym dzisiaj? Metodyki tworzenia oprogramowania; Praca w zespole; Zarządzanie projektem; Narzędzia wspomagające i dobre praktyki; Zabezpieczenie kodu. Jaki model wybrać?

Bardziej szczegółowo

Piotr Ślęzak. Gdzie się podziała jakość

Piotr Ślęzak. Gdzie się podziała jakość Piotr Ślęzak Gdzie się podziała jakość Działamy na styku Biznesu i IT Analiza biznesowa Kontrola jakości Doradztwo Projekty Szkolenia ForProgress spółka z ograniczoną odpowiedzialnością sp.k. kontakt@forprogress.com.pl

Bardziej szczegółowo

Skala Postaw Twórczych i Odtwórczych dla gimnazjum

Skala Postaw Twórczych i Odtwórczych dla gimnazjum Krakowska kademia im. ndrzeja Frycza Modrzewskiego Skala Postaw Twórczych i Odtwórczych dla gimnazjum utor: gnieszka Guzik, Patrycja Huget Instrukcja: Poniżej przedstawione zostały do wyboru po dwa stwierdzenia

Bardziej szczegółowo

Praktyka testowania dla początkujących testerów

Praktyka testowania dla początkujących testerów Praktyka testowania dla początkujących testerów Warsztaty stanowią 100% praktykę testowania i skupiają się zwłaszcza na tych aspektach, które przydatne są w codziennej pracy testera. Przeznaczone są dla

Bardziej szczegółowo

...według obecnych Klientów wpływa na zwiększenie sprzedaży szkoleń...

...według obecnych Klientów wpływa na zwiększenie sprzedaży szkoleń... CRM dla firm szkoleniowych...według obecnych Klientów wpływa na zwiększenie sprzedaży szkoleń... Łatwy dostęp do informacji Budowanie dobrych relacji z Klientami jest podstawową zasadą działania firmy

Bardziej szczegółowo

Tytuł ebooka Przyjmowanie nowego wpisujesz i zadajesz styl

Tytuł ebooka Przyjmowanie nowego wpisujesz i zadajesz styl Tytuł ebooka Przyjmowanie nowego wpisujesz i zadajesz styl pracownika Tytuł do pracy ebooka Jak prowadzić rozmowę kwalifikacyjną Jak powinny brzmieć pytania rekrutacyjne w razie potrzeby podtytuł Jak zorganizować

Bardziej szczegółowo

Usługa: Audyt kodu źródłowego

Usługa: Audyt kodu źródłowego Usługa: Audyt kodu źródłowego Audyt kodu źródłowego jest kompleksową usługą, której głównym celem jest weryfikacja jakości analizowanego kodu, jego skalowalności, łatwości utrzymania, poprawności i stabilności

Bardziej szczegółowo

MODUŁ V: ETAPY PRZYGOTOWANIA DO ROZMOWY KWALIFIKACYJNEJ

MODUŁ V: ETAPY PRZYGOTOWANIA DO ROZMOWY KWALIFIKACYJNEJ MODUŁ V: ETAPY PRZYGOTOWANIA DO ROZMOWY KWALIFIKACYJNEJ Cel: Uczniowie potrafią zaplanować i przygotować się do rozmów kwalifikacyjnych, w przyszłych miejscach pracy. Przykładowe możliwości wykorzystania

Bardziej szczegółowo

Przedmiotowe Zasady Oceniania z Informatyki w Szkole Podstawowej nr 4 z Oddziałami Dwujęzycznymi im. Wojciecha Korfantego w Mysłowicach

Przedmiotowe Zasady Oceniania z Informatyki w Szkole Podstawowej nr 4 z Oddziałami Dwujęzycznymi im. Wojciecha Korfantego w Mysłowicach Przedmiotowe Zasady Oceniania z Informatyki w Szkole Podstawowej nr 4 z Oddziałami Dwujęzycznymi im. Wojciecha Korfantego w Mysłowicach Przedmiotowe Zasady Oceniania uwzględniają główne ramy i wartości

Bardziej szczegółowo

Lekcja : Tablice + pętle

Lekcja : Tablice + pętle Lekcja : Tablice + pętle Wprowadzenie Oczywiście wiesz już jak dużo można osiągnąć za pomocą tablic oraz jak dużo można osiągnąć za pomocą pętli, jednak tak naprawdę prawdziwe możliwości daje połączenie

Bardziej szczegółowo

Koncentracja w Akcji. CZĘŚĆ 4 Zasada Relewantności Działania

Koncentracja w Akcji. CZĘŚĆ 4 Zasada Relewantności Działania Koncentracja w Akcji CZĘŚĆ 4 Zasada Relewantności Działania SzybkaNauka.pro Koncentracja w Akcji 1 Zasada Relewantności Działania Jesteś gotowy. Jesteś skoncentrowany na zadaniu np. szukaniu informacji

Bardziej szczegółowo

Rozdział 5: Zarządzanie testowaniem. Pytanie 1

Rozdział 5: Zarządzanie testowaniem. Pytanie 1 Pytanie 1 Dlaczego niezależne testowanie jest ważne: A) Niezależne testowanie jest w zasadzie tańsze niż testowanie własnej pracy B) Niezależne testowanie jest bardziej efektywne w znajdywaniu defektów

Bardziej szczegółowo

RAPORT Z TESTOWANIA USŁUG NA PLATFORMIE ELA-ENT

RAPORT Z TESTOWANIA USŁUG NA PLATFORMIE ELA-ENT Miejscowość Lublin, dnia 17.12.2009 RAPORT Z TESTOWANIA USŁUG NA PLATFORMIE ELA-ENT 1. Dane podstawowe W poniższych polach należy wpisać informacje o testującym, szkolącym, sprawdzanych przez niego usługach,

Bardziej szczegółowo

4. Wprowadzanie Scruma w ImmobilienScout24 4.1. Opis sytuacji

4. Wprowadzanie Scruma w ImmobilienScout24 4.1. Opis sytuacji Spis treści Przedmowa 1. Wstęp 1.1. Jak czytać tę książkę 1.2. Studia projektów 1.3. Dodatek 2. Zwinny projekt to nie bułka z masłem 2.1. Pobudka 2.2. Zespół się formuje 2.3. Właściwe zlecenie 2.4. Od

Bardziej szczegółowo