inżynieria oprogramowani22 UNL5WXSF6VZVAGVY4FC5Z6QGGEWTQXBKHAQLVAQ


Inżynieria oprogramowania - 22 Slide 1

Zarządzanie personelem

. Zarządzenie ludźmi

pracującymi indywidualnie i w

grupach

Inżynieria oprogramowania - 22 Slide 2

Cele

. Poznanie prostych modeli ludzkiej pamięci,

rozwiązywania problemów i motywacji oraz ich

konsekwencji dla menedżerów tworzenia

oprogramowania

. Wyjaśnienie kluczowych kwestii determinujących

sukces czyli innymi słowy kwestie pracy

zespołowej

. Omówienie kwestii związanej z wyborem i

zatrzymaniem technicznego personelu

Inżynieria oprogramowania - 22 Slide 3

Zawartość

. Ograniczenia myślenia

. Praca zespołowa

. Wybieranie i zatrzymywanie personelu

Inżynieria oprogramowania - 22 Slide 4

Personel w procesie tworzenia

oprogramowania

. Personel jest największym majątkiem firmy

. Główne zadania menedżera to zarządzanie

personelem. Jeśli brak jest porozumienia

pomiędzy ludźmi zarządzanie jest nieskuteczne

. Inżynieria oprogramowania jest głównie

działaniem poznawczym. Ograniczenia

możliwości poznawczych skutecznie wpływają na

ograniczenia w procesie tworzenia

oprogramowania

Inżynieria oprogramowania - 22 Slide 5

Działania zarządzania

. Rozwiązywanie problemów (przy użyciu

dostępnego personelu)

. Motywowanie (ludzi pracujących w projekcie)

. Planowanie (co ludzie mają robić)

. Szacowanie (jak szybko personel będzie

pracował)

. Kontrolowanie (działań personelu)

. Organizowanie (sposobu pracy personelu)

Inżynieria oprogramowania - 22 Slide 6

Ograniczenia myślenia

. Nie wszyscy ludzie myślą w ten sam sposób lecz

każdy podlega pewnym ograniczeniom w ich

myśleniu z powodu:

. Organizacji pamięci ludzkiej

. Reprezentacji wiedzy

. Wpływu motywacji

. Jeśli rozumiemy te ograniczenia to wiemy jak one

wpływają na udział personelu w procesie

tworzenia oprogramowania

Inżynieria oprogramowania - 22 Slide 7

Organizacja ludzkiej pamięci

Pamięć robocza

Pamięć długa

(dużą pojemność, powolny dostęp)

Pamięć

krótka

Bodźce wejściowe

Inżynieria oprogramowania - 22 Slide 8

Pamięć krótka

. Szybki dostęp, ograniczona pojemność

. Od 5 do 7 lokalizacji

. Przetrzymuje .kawałki. informacji, rozmiar tych

kawałków może byćżny w zależności od ich

charakteru

. Szybki czas znikania (utraty) informacji

Inżynieria oprogramowania - 22 Slide 9

Pamięć robocza

. Większa pojemność, dłuższy czas dostępu

. Obszar pamięci wykorzystywany do integracji

informacji z pamięci krótkiej i pamięci długiej

. Relatywnie szybki czas znikania (utraty)

informacji

Inżynieria oprogramowania - 22 Slide 10

Pamięć długa

. Wolny dostęp, wielka pojemność

. Zawodny mechanizm wyszukiwania

. Wolny lecz skończony czas znikania (utraty) .

informacja wymaga aktualizacji

. Relatywnie wysoki próg . w celu uzyskania

informacji z pamięci długiej należy wykonać

odpowiednią pracę

Inżynieria oprogramowania - 22 Slide 11

Transfer informacji

. Rozwiązywanie problemów zwykle wymaga

przekazywania informacji pomiędzy pamięcią

krótką a pamięcią roboczą

. Podczas tego transferowania informacja może

zostać utracona lub ulec uszkodzeniu

. Przetwarzanie informacji ma miejsce podczas

transferu z pamięci krótkiej do pamięci długiej

Inżynieria oprogramowania - 22 Slide 12

Poznawcze .klocki. w programie

sortującym

Porównaj sąsiednie elementy

Przestaw je, jeśli jest to konieczne, aby mniejszy był wcześniej

Pętla (przetwórz nieposortowana część tablicy)

Pętla (przetwórz całą tablicę)

Inżynieria oprogramowania - 22 Slide 13

Modelowanie wiedzy

. Wiedza znaczeniowa . wiedza o pojęciach takich

jak instrukcja przypisania, pojęcie przekazywania

parametrów itd.

. Wiedza składniowa . szczegółowa wiedza o

reprezentacji, np. jak napisać opis obiektu w

języku UML

. Wiedza znaczeniowa ma pewną strukturę i

wydaje się być przechowywana w sposób

niezależny od reprezentacji

Inżynieria oprogramowania - 22 Slide 14

Wiedza składniowa i znaczeniowa

Wiedza zadaniowa Wiedza komputerowa

Wiedza znaczeniowa Wiedza składniowa

Inżynieria oprogramowania - 22 Slide 15

Nabywanie wiedzy

. Wiedzę znaczeniową nabywa się poprzez

doświadczenie i aktywne uczenie

. Wiedzę składniową nabywa się poprzez uczenie

na pamięć

. Nowa wiedza składniowa może kolidować z

istniejąca już wiedzą składniową

. Dla doświadczonych programistów problem jest jeszcze

większy ponieważ myli im się składnia różnych języków

programowania

Inżynieria oprogramowania - 22 Slide 16

Wiedza znaczeniowa

. Koncepcje obliczania . notacja pisemnego

przechowywania, iteracji, koncepcja obiektów itd.

. Koncepcje pracy - głównie algorytm . jak rozwiązać

poszczególne zadania

. Zdolność tworzenia oprogramowania jest to

umiejętność integracji nowej wiedzy z istniejącą

wiedzą o komputerze i pracy i w związku z tym

wydobycie odpowiedniego rozwiązania problemu

. Tak więc rozwiązywanie problemu dokonywane jest

niezależnie od języka programowania

Inżynieria oprogramowania - 22 Slide 17

Rozwiązywanie problemów

. Wymaga integracji różnych typów wiedzy

(komputerowej, zadaniowej, dziedzinowej,

organizacyjnej)

. Tworzenie modelu znaczeniowego rozwiązania i

testowanie tego modelu względem problemu

. Reprezentacja tego modelu w odpowiedniej

notacji lub języku programowania

Inżynieria oprogramowania - 22 Slide 18

Rozwiązywanie problemów

Problem Częściowe

rozwiązanie Rozwiązanie

Nowa wiedza

Istniejąca wiedza

Pamięć długa

Pamięć

robocza

Inżynieria oprogramowania - 22 Slide 19

Motywacja

. Ważną rolą menedżera jest motywowanie ludzi

pracujących w projekcie

. Motywacja jest kwestią złożoną, występują trzy

typy motywacji bazujące na

. Podstawowych potrzebach (np. jedzenie, spanie, itd.)

. Potrzebach osobistych (np. szacunek, poczucie własnej

wartości)

. Potrzebach społecznych (np. poczucie akceptacji jako część

grupy)

Inżynieria oprogramowania - 22 Slide 20

Hierarchia potrzeb człowieka

Potrzeby szacunku

Potrzeby społeczne

Potrzeby bezpieczeństwa

Potrzeby fizjologiczne

Potrzeby

samorealizacji

Inżynieria oprogramowania - 22 Slide 21

Motywowanie ludzi

. Motywacje wiążą się z potrzebami dającymi

zadowolenie

. Największy priorytet maja potrzeby fizjologiczne

i bezpieczeństwa i często ich spełnienie daje

ogólne zadowolenie

. Potrzeby społeczne, szacunku i samorealizacji są

najbardziej znaczące z menedżerskiego punktu

widzenia

Inżynieria oprogramowania - 22 Slide 22

Potrzeby satysfakcji

. Społeczne

. Zapewnianie miejsc do spotkań

. Pozwalają na nieformalną komunikację

. Szacunku

. Docenianie osiągnięć

. Recognition of achievements

. Odpowiednie wynagrodzenie

. Samorealizacji

. Szkolenia . ludzie chcą się uczyć, szkolić

. Odpowiedzialność

Inżynieria oprogramowania - 22 Slide 23

Typy osobowości

. Hierarchia potrzeb jest pewnym uproszczeniem

. Motywacja powinna brać pod uwagężne typy

osobowości:

. Nastawienie na zadania

. Nastawienie na siebie

. Nastawieni na interakcję

Inżynieria oprogramowania - 22 Slide 24

Typy osobowości

. Nastawieni na zadania

. Dla nich motywacją jest wykonywana przez nich praca

. Nastawieni na siebie

. Dla nich praca jest sposobem do osiągnięcia celu którym są

indywidualne korzyści . np. stanie się bogatym, podróżowanie

. Nastawieni na interakcję

. Główna motywacją jest obecność i działania

współpracowników. Ludzie chodzą do pracy ponieważ to lubią

Inżynieria oprogramowania - 22 Slide 25

Bilans motywacji

. Na motywację każdej osoby składają się elementy

każdej klasy

. Bilans może ulegać zmianie z zależności od

osobistych okoliczności i zewnętrznych wydarzeń

. Ludzie są nie tylko zmotywowani potrzebami

osobistymi lecz także poprzez bycie częścią grupy

i pewnej kultury

. Ludzie chodzą do pracy ponieważ motywują ich

ludzie z którymi pracują

Inżynieria oprogramowania - 22 Slide 26

Praca zespołowa

. Inżynieria oprogramowania to w większości

działanie grupowe

. Harmonogram tworzenia dla większości nietrywialnych

projektów oprogramowania jest taki że nie istnieje możliwość

ukończenia projektu przez jedną osobę pracującą samotnie

. Interakcje w grupach są kluczem wydajności

grupy

. Elastyczność w składzie grupy jest ograniczona

. Menażerowie muszą robić wszystko przy pomocy dostępnego

personelu

Inżynieria oprogramowania - 22 Slide 27

Podział czasu

50%

Interakcje z

innymi

ludźmi

30%

Praca

samodzielna

20%

Działanie

nieproduktywne

Inżynieria oprogramowania - 22 Slide 28

Skład grupy

. Grupa składa się z członków którzy nie zawsze mają taką

samą motywację

. Nastawieni na zadania . każdy chce robić swoją własną rzecz

. Nastawieni na siebie . każdy chce być szefem

. Nastawieni na interakcję . zbyt wiele rozmów, za mało pracy

. Grupa efektywna składa się z ludzi o uzupełniających się

osobowościach

. Może to być trudne do osiągnięcia ponieważ większość

inżynierów jest nastawionych na zadania

. Wszyscy członkowie powinni brać udział w

podejmowaniu decyzji które wpływają na grupę

Inżynieria oprogramowania - 22 Slide 29

. Przywództwo zależy od szacunku wynikającego z

umiejętności pozatechnicznych

. Może istnieć zarówno lider techniczny jak i

administrator przedsięwzięcia

. Narzucenie niechcianego przywództwa jest dużo

mniej efektywnym rozwiązaniem niż wybór

demokratycznie popieranego lidera

. Ścieżka kariery oparta na technicznych

kompetencjach powinna być wspierana

Przywództwo grupy

Inżynieria oprogramowania - 22 Slide 30

Spójność grupy

. Członkowie grupy spójnej uważają ją za bardziej

istotną od osób do niej nie należących

. Zalety spójnej grupy to:

. Można wypracować grupowy standard jakości

. Członkowie grupy blisko ze sobą współpracują tak więc

zahamowania wynikające z niewiedzy są zminimalizowane

. Członkowie grupy uczą się od siebie nawzajem i poznają pracę

swoich kolegów

. Można urzeczywistniać programowanie pozbawione

indywidualizmu

Inżynieria oprogramowania - 22 Slide 31

Spójność tworzenia

. Na spójność wpływają takie czynniki jak kultura

firmowa i osobowości w grupie

. Spójność może być zwiększana poprzez:

. Towarzyskie wydarzenia

. Wypracowanie tożsamości grupy i określenie jej terytorium

. Jawną działalność związaną z budowaniem grupy

. Udostępnianie informacji członkom grupy jest

prostym sposobem zapewnienia że wszyscy

członkowie grupy czują się jej częścią

Inżynieria oprogramowania - 22 Slide 32

. Członkowie grupy dążą do tego by być lojalnymi

wobec spójnej grupy

. .Grupowe myślenie. jest zachowaniem grupy bez

względu na techniczne lub firmowe okoliczności

Lojalność grupy

Inżynieria oprogramowania - 22 Slide 33

Komunikacja w grupie

. Dobra komunikacja jest zasadniczym czynnikiem

wpływającym na efektywność pracy grupy

. Członkowie grupy muszą wymieniać informacje

o stanie swoich prac, podjętych decyzjach

projektowych i koniecznych zmianach

poprzednich decyzji

. Dobra komunikacja wzmacnia także spójność

grupy i poprawia wzajemne zrozumienie

Inżynieria oprogramowania - 22 Slide 34

. Status członków grupy

. Wyższy status członków przyczynia się do poprawy

konwersacji

. Osobowości w grupie

. Zbyt wiele ludzi o tej samej osobowości może być pewnego

rodzaju problemem

. Mieszany skład grupy ze względu na płeć

. Lepsza komunikacja istnieje w grupach mieszanych

. Kanały komunikacji

. Centralna koordynacja komunikacji jest mało efektywna

Dobra komunikacja

Inżynieria oprogramowania - 22 Slide 35

Organizacja grupy

. Rozmiar grup zajmujących się inżynierią

oprogramowania powinien być relatywnie mały

(< ośmiu członków)

. Podział dużego projektu na kilka mniejszych

projektów

. Małe grupy mogą być zorganizowane w sposób

nieformalny i demokratyczny

. Szef grupy programowej próbuje wykorzystać

umiejętności i doświadczenie w sposób

najbardziej efektywny

Inżynieria oprogramowania - 22 Slide 36

Demokratyczna organizacja grupy

. Grupa występuje jako całość i podejmuje

jednomyślne decyzje wpływające na system

. Lider grupy pełni funkcję zewnętrznego interfejsu

grupy lecz nie przydziela zadań do wykonania

. Praca do wykonania omawiana jest w ramach

grupy jako całości i przydzielane są zadania

zgodnie z umiejętnościami i doświadczeniem

. To podejście jest skuteczne gdy wszyscy

członkowie grupy są ludźmi doświadczonymi i

kompetentnymi

Inżynieria oprogramowania - 22 Slide 37

Ekstremalne grupy programistyczne

. Ekstremalne grupy programistyczne to warianty

organizacji demokratycznej grupy

. W ekstremalnych grupach programistycznych,

grupa podejmuje wiele decyzji uważanych za

menedżerskie

. Programiści pracują parami i biorą wspólną

odpowiedzialność za tworzone programy

Inżynieria oprogramowania - 22 Slide 38

Zespół szefa programisty

Administrator

Narzędziowiec

Specjalista od SO

Specjalista od testów

Autor dokumentacji

technicznej

Szef-

programista

Programista

zapasowy

Bibliotekarz

Komunikacja z

otoczeniem

Jądro zespołu szefa programisty

Pula specjalistów

Inżynieria oprogramowania - 22 Slide 39

Grupa szefa programisty

. Składa się z jądra specjalistów wspomaganych

przez innych dodanych do projektu w miarę

potrzeby

. Motywacja do ich tworzenia są duże różnice w

umiejętnościach różnych programistów

. Grupa szefa programisty zapewnia drugoplanowe

otoczenie dla bardzo zdolnych programistów

będących odpowiedzialnymi za tworzenie

systemu

Inżynieria oprogramowania - 22 Slide 40

Problemy

. Podejście szefa programisty, w różnych formach

jest podejściem niewątpliwie bardzo udanym

. Istnieją jednak pewne problemy:

. Ciężko znaleźć utalentowanych projektantów i programistów.

Bez wyjątkowych ludzi to podejście nie zda egzaminu

. Inni członkowie grupy mogą czuć się urażeni że wszystkie

zasługi przypisywane są szefowi, więc umyślnie mogą

próbować osłabiać jego rolę

. Jeśli zarówno szef jak i jego zastępca są np. chorzy wtedy

przedsięwzięcie jest zagrożone

. Struktury organizacyjne mogą nie być zdolne do przyjęcia grupy

takiego rodzaju

Inżynieria oprogramowania - 22 Slide 41

Wybieranie i zatrzymywanie

personelu

. Wybór personelu do pracy nad projektem jest

podstawową rolą menadżera

. Wybór zwykle opiera się na

. Informacjach dostarczonych przez kandydatów (ich życiorys lub

CV)

. Informacjach zdobytych podczas wywiadów z kandydatami

. Rekomendacjach od innych osób które znają kandydata

. Niektóre firmy korzystają z testów

psychologicznych i testów uzdolnień

. Nie istnieje jednoznaczne zdanie czy testy te są przydatne czy

bezużyteczne

Czynniki wpływające na wybór personelu

Czynnik Wyjaśnienie

Doświadczenie w dziedzinie

zastosowania

Jeśli przedsięwzięcie ma doprowadzić do zbudowania udanego systemu,

to jego twórcy muszą rozumieć dziedziną zastosowania

Doświadczenie w pracy z

platformą

Może być istotne, jeśli prace obejmują programowanie na niskim poziomie.

W przeciwnym wypadku zwykle nie jest krytycznym atrybutem

Doświadczenie w pracy z

językiem programowania

Zwykle jest istotne jeśli w wypadku krótkotrwałych przedsięwzięć przy

których nie ma czasu na naukę nowego języka

Zdobyte wykształcenie Może być podstawową wskazówką co do tego, co kandydat powinien

umieć i o jego zdolności do uczenia się. Ten czynnik jest coraz mniej

istotny gdyż inżynierowie zdobywają coraz więcej doświadczenia w wielu

przedsięwzięciach

Zdolności komunikacyjne Są ważne ponieważ personel przedsięwzięcia musi się porozumiewać

ustnie i pisemnie z innymi inżynierami menadżerami i klientami

Zdolność do przystosowania

się

Tę zdolność można ocenić przyglądając siężnym rodzajom doświadczeń

zdobytych przez kandydata. To ważny atrybut ponieważ wynika z niego

zdolność do uczenia się

Nastawienie Personel przedsięwzięcia powinien być pozytywnie nastawiony do

wykonywanej pracy i chcieć zdobywać nowe umiejętności. To bardzo

ważny atrybut ale zwykle bardzo trudny do oceny

Osobowość To bardzo ważny atrybut ale zwykle trudny do oceny. Kandydaci muszą

być racjonalnie zgodni z innymi członkami zespołu. Żaden konkretny typ

osobowości nie jest bardziej lub mniej odpowiedni do inżynierii

oprogramowania

Inżynieria oprogramowania - 22 Slide 43

. Miejsce pracy ma istotny wpływ na ludzką

wydajność i zadowolenie z pracy

. Komfort

. Prywatność

. Pomieszczenia

. Zdrowie i bezpieczeństwo pracownika musi być

brane pod uwagę

. Oświetlenie

. Ogrzewanie

. Umeblowanie pomieszczenia pracy

Środowiska pracy

Inżynieria oprogramowania - 22 Slide 44

. Prywatność - każdy inżynier potrzebuje miejsca

gdzie mógłby się skupić i prowadzić swoje prace

. Świadomość otoczenia - ludzie preferują pracę w

warunkach naturalnego oświetlenia

. Dostosowanie do osobistych potrzeb - ludzie

przyjmujążne style pracy i maja odmienne

opinie o wystroju wnętrza

Czynniki środowiskowe

Inżynieria oprogramowania - 22 Slide 45

Organizacja przestrzeni pracy

. Miejsce pracy powinno sprzyjać prywatności i

być miejscem gdzie pracownicy mogą pracować

bez przeszkód

. Zapewnienie oddzielnych pokoi dla personelu może

spowodować wzrost produktywności

. Jednakże, niezbędne są miejsca gdzie można

przeprowadzać formalne i nieformalne spotkania

grupowe wymagane przy pracy zespołowej

Inżynieria oprogramowania - 22 Slide 46

Rozkład pokoi

Pokój

Pokój

Pokój

Pokój Pokój

Pokój

Pokój

Pokój

Pokój

spotkań

Wspólna

przestrzeń

Okno

Dzielona

dokumentacja

Inżynieria oprogramowania - 22 Slide 47

Główne tezy

. Menadżerowie powinni rozumieć pewne czynniki

ludzkie aby nie stawiać personelowi nierealnych

żądań

. Rozwiązywanie problemów wymaga integracji

informacji z pamięci długiej z nowymi

informacjami z pamięci krótkiej

. Czynniki brane pod uwagę przy wyborze

personelu to m.in. Wykształcenie, doświadczenie

z dziedziny zastosowania, zdolności do

przystosowania się i osobowość

Inżynieria oprogramowania - 22 Slide 48

Główne tezy

. Grupy tworzące oprogramowanie powinny być małe

i spójne

. Na porozumiewanie się w ramach grupy wpływają

takie czynniki, jak status członków grupy, wielkość

grupy, organizacja i skład płciowy grupy

. Środowisko pracy ma znaczący wpływ na wydajność



Wyszukiwarka

Podobne podstrony:
Inzynieria oprogramowania w ujeciu obiektowym UML wzorce projektowe i Java iowuje
ZadanieNaZaliczenie, WAT, semestr IV, Inżynieria oprogramowania
Rafał Polak 12k2 lab8, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Spr
zagadnienia egzaminacyjne z przedmiotu inżynieria oprogramowania zIO
Inżynieria oprogramowania Diagramy ERD
2006 06 Wstęp do Scrum [Inzynieria Oprogramowania]
sciąga moja, Informatyka SGGW, Semestr 4, Inżynieria oprogramowania, Od starszego rocznika
Tworzenie oprogramowania, Semestr 5, Inżynieria oprogramowania
2007 05 Mechanizm koncepcji w języku C nowe oblicze szablonów [Inzynieria Oprogramowania]
Inżynieria oprogramowania syllabus IV niestac 07 08, Prywatne, WAT, SEMESTR IV, IO, io, Materiały od
Rafał Polak 12k2 lab9, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Spr
inżynieria oprogramowani5s 3D2LFW6JYNMO6D276CSZQV5ONUNVXOTKWFXHA3A
inżynieria oprogramowani1 2EM7Y2ON72DKTCAQF3UOSCLXHY5636FZE7C7PUQ
inżynieria oprogramowani5 G46UQE27RE6UDINZWBW2TXNEOUUYOYV2MMVZ2NI
2008 06 Java Microedition – metody integracji aplikacji [Inzynieria Oprogramowania]
Inżynieria oprogramowania II
Opracowanie na Inżynierie Oprogramowania
Przykład diagramu sekwencji, Inżynieria oprogramowania
Inżynieria oprogramowania, Studia, Informatyka, Informatyka, Informatyka

więcej podobnych podstron