Software Developer's Journal Extra 01.2011..pdf

(9991 KB) Pobierz
407056426 UNPDF
407056426.253.png 407056426.264.png 407056426.275.png 407056426.286.png 407056426.001.png 407056426.012.png 407056426.023.png 407056426.034.png 407056426.045.png 407056426.056.png 407056426.067.png 407056426.078.png 407056426.089.png 407056426.100.png 407056426.111.png 407056426.122.png 407056426.133.png 407056426.144.png 407056426.155.png 407056426.166.png 407056426.177.png 407056426.188.png 407056426.199.png 407056426.210.png 407056426.221.png 407056426.224.png 407056426.225.png 407056426.226.png 407056426.227.png 407056426.228.png 407056426.229.png 407056426.230.png 407056426.231.png 407056426.232.png 407056426.233.png 407056426.234.png 407056426.235.png 407056426.236.png 407056426.237.png 407056426.238.png 407056426.239.png 407056426.240.png 407056426.241.png 407056426.242.png 407056426.243.png 407056426.244.png 407056426.245.png 407056426.246.png 407056426.247.png 407056426.248.png 407056426.249.png 407056426.250.png 407056426.251.png 407056426.252.png 407056426.254.png 407056426.255.png 407056426.256.png
407056426.257.png 407056426.258.png 407056426.259.png 407056426.260.png 407056426.261.png 407056426.262.png 407056426.263.png 407056426.265.png 407056426.266.png 407056426.267.png 407056426.268.png 407056426.269.png 407056426.270.png 407056426.271.png 407056426.272.png 407056426.273.png 407056426.274.png 407056426.276.png 407056426.277.png 407056426.278.png 407056426.279.png 407056426.280.png 407056426.281.png 407056426.282.png 407056426.283.png 407056426.284.png 407056426.285.png 407056426.287.png 407056426.288.png 407056426.289.png 407056426.290.png 407056426.291.png 407056426.292.png 407056426.293.png 407056426.294.png 407056426.295.png 407056426.296.png 407056426.002.png 407056426.003.png 407056426.004.png 407056426.005.png 407056426.006.png 407056426.007.png 407056426.008.png 407056426.009.png 407056426.010.png 407056426.011.png 407056426.013.png 407056426.014.png 407056426.015.png 407056426.016.png 407056426.017.png 407056426.018.png 407056426.019.png 407056426.020.png 407056426.021.png 407056426.022.png 407056426.024.png
WSTĘP
ZESPÓŁ PRZEDE WSZYSTKIM
potrzeb klientów wewnętrznych czy zewnętrz-
nych bez właściwych narzędzi informatycz-
nych praca żadnego zespołu nie jest możliwa.
Specjalny numer Software Developers’ Journal
poświęcony jest właśnie narzędziom wspiera-
jącym pracę zespołów programistycznych, de-
weloperskich, testerskich. Zachęcam do lek-
tury artykułów poświęconych platformie do
pracy grupowej IBM Rational Jazz, a także tak
ważnemu tematowi jak bezpieczeństwo
tworzonych aplikacji. Specjalnie dla Państwa
prof. Janusz Górski w artykule poświęconym
inżynierii oprogramowania zakreślił trendy
i wyzwania, z którymi spotykają lub będą się
spotykali Państwo w najbliższych latach. Za-
chęcam również do lektury wywiadu z czter-
nastokrotnym Mistrzem Europy w Rallycrossie
– Kennethem Hansenem, poświęconego is-
tocie pracy zespołu, bo przecież w dzisiejszych
czasach każdy sukces to praca zespołu, a nie
pojedynczego człowieka. Życzę udanej lektury
i zachęcam do kontaktu z nami!
Bartosz Chrabski
IBM Rational Team Leader
Jest starszym specjalistą IT pracującym w grupie oprogramowania IBM Polska. Zaj-
muje się projektowaniem i wdrażaniem systemów zarządzania pracą zespołów de-
veloperskich oraz technicznym wsparciem sprzedaży rozwiązań do zarządzania
i wytwarzania oprogramowania z rodziny IBM Rational. Specjalizuje się w techno-
logiach middleware oraz modelowaniu architektury SOA. Doktorant na wydziale
Elektroniki i Technik Informacyjnych Politechniki Warszawskiej. Założyciel i lider
Łódzkiej Grupy Użytkowników Technologii Java (Lodz JUG).
SPIS TREścI
Wytwarzanie oprogramowania
z wykorzystaniem IBM Rational ........................................................ 32
IBM Rational Method Composer – portal procesowy ..................... 36
Komiks ........................................................................................................ 40
Zarządzanie procesami zapewnienia jakości
z IBM Rational Quality Manager ...................................................... 42
IBM Rational AppScan Standard Edition ....................................... 46
Architektura korporacyjna w pigułce ............................................. 52
Rozmowa z Kennethem Hansenem ........................................................... 56
Jazz i OSLC ................................................................................................ 58
Referencje ................................................................................................. 68
Jazz – zespół przede wszystkim ......................................................... 4
Zwinność i dyscyplina w podnoszeniu
efektywności zespołów projektowych ............................................ 8
Z profesorem Januszem Górskim
rozmawia Bartosz Chrabski ................................................................ 14
O zwinnym tworzeniu oprogramowania ...................................... 16
Efektywna komunikacja
biznesu IT dzięki IBM Rational
Requirements Composer .................................................................... 20
Adaptacja zwinnych metodyk
z użyciem IBM Rational Team Concert ........................................... 26
Software Developer’s Journal Extra
jest wydawany przez Software-Wydawnictwo Sp. z o.o.
DTP: Marcin Ziółkowski, www.gdstudio.pl
Projekt okładki: Anna Adamczyk
anna.adamczyk@software.com.pl
Nakład: 6 000 egz.
Dział reklamy: adv@software.com.pl
Wydawca: Anna Adamczyk
anna.adamczyk@software.com.pl
Redaktor naczelny: Łukasz Łopuszański
lukasz.lopuszanski@software.com.pl
Redaktor prowadzący: Tomasz Łopuszański
tomasz.lopuszanski@software.com.pl
Korekta: Tomasz Łopuszański
tomasz.lopuszanski@software.com.pl
Koordynatorzy projektu: Bartosz Chrabski, Maciej Mroczek,
Joanna Izdebska
Kierownik produkcji: Andrzej Kuca
andrzej.kuca@software.com.pl
Adres korespondencyjny:
Software Press Sp. z o.o., ul. Bokserska 1, 02-682 Warszawa, Polska
tel. +48 22 427 36 91, fax +48 22 224 24 59
www.sdjournal.org; cooperation@software.com.pl
<<STRONA_PISMA>>
Redakcja dokłada wszelkich starań, by publikowane w piśmie i na towarzyszą-
cych mu nośnikach informacje i programy były poprawne, jednakże nie bierze
odpowiedzialności za efekty wykorzystania ich; nie gwarantuje także popraw-
nego działania programów shareware, freeware i public domain.
3
Zespół – efektywny dzięki właściwemu do-
borowi pracowników, kompetencji, wyzna-
czonym rolom: obserwatora, kreatora, lidera,
analityka, itd. Na ile wszystkie te elementy
mogą wystarczyć by zrealizować w wyznaczo-
nym czasie stawiane przez organizację zadania,
osiągnąć cele? W dobie pędu za zaspokojaniem
407056426.025.png 407056426.026.png 407056426.027.png 407056426.028.png 407056426.029.png 407056426.030.png 407056426.031.png 407056426.032.png 407056426.033.png 407056426.035.png 407056426.036.png 407056426.037.png 407056426.038.png 407056426.039.png 407056426.040.png 407056426.041.png 407056426.042.png 407056426.043.png 407056426.044.png 407056426.046.png 407056426.047.png 407056426.048.png 407056426.049.png 407056426.050.png 407056426.051.png 407056426.052.png 407056426.053.png 407056426.054.png 407056426.055.png 407056426.057.png 407056426.058.png 407056426.059.png 407056426.060.png 407056426.061.png 407056426.062.png 407056426.063.png 407056426.064.png 407056426.065.png 407056426.066.png 407056426.068.png 407056426.069.png 407056426.070.png 407056426.071.png 407056426.072.png 407056426.073.png 407056426.074.png 407056426.075.png 407056426.076.png 407056426.077.png 407056426.079.png 407056426.080.png 407056426.081.png 407056426.082.png 407056426.083.png 407056426.084.png 407056426.085.png 407056426.086.png 407056426.087.png 407056426.088.png 407056426.090.png 407056426.091.png 407056426.092.png
Jazz
Zespół przede wszystkim
Ułatwienia w komunikacji między zespołami, zwiększenie przewidy-
walności projektów, integracja narzędzi, obniżenie ryzyka zawsze było
wyzwaniem w projektach. Czy już jesteśmy gotowi, aby robić to efek-
tywnie? Nie ma jasnej odpowiedzi na to pytanie, ale już wiemy, jak to
zrobić z IBM Rational Jazz.
zawsze  złożony  i  rozbudowany 
proces, który uważa się za sztu-
kę,  naukę,  rzemiosło,  wymagające  tajemnej 
wiedzy i lat doświadczenia. Często najbardziej 
niedocenianym obszarem we wszystkich re-
alizowanych projektach IT jest ich wymiar spo- 
łecznościowy, opisujący, jak ludzie pracują ze 
sobą przy realizacji wspólnych oraz osobistych  
celów. Duże przedsięwzięcie jest zależne nie od 
jednej, a wielu współpracujących i komuniku-
jących się ze sobą osób, w określonym oczywiś- 
cie porządku – wszystko po to, by końcowy pro- 
dukt był jak najwyższej jakości. Zespołowe opra- 
cowywanie  oprogramowania przypomina grę 
w  zespole  muzycznym.  W  obu  przypadkach 
niezbędna jest równowaga między umiejętnoś- 
ciami indywidualnymi i współpracą w zespole.
Aby ułatwić zarządzanie całym procesem, 
IBM stworzył platformę integracyjną nazwaną 
Jazz. Dzięki odpowiedniemu podejściu do za-
gadnienia, praca zespołu może być efektywna 
na różnych etapach cyklu wytwórczego opro-
gramowania. Nazwa nawiązuje do faktu, iż mu- 
zycy zmieniają swoje uczucia w muzykę, nato 
miast w przypadku branży IT chodzi o zmianę 
sztuki dostarczania oprogramowania w będącą 
bardziej transparentną i produktywną.
•   wsparcie portfolio produktów,
•   społeczność.
zględnia ona również zdefiniowane w OSLC 
– Open Services for Lifecycle Collaboration 
specyfikacje, a także niezależne od dostawców 
zestawy protokołów współdzielenia informacji 
pomiędzy narzędziami. 
W przeciwieństwie do monolitycznych i za-
mkniętych produktów przeszłości, platforma 
Jazz jest otwarta i przeznaczona dla każdej oso- 
by zainteresowanej, która chce poprawić cykl 
życia oprogramowania i przełamać bariery mię- 
dzy narzędziami. Produkty Jazz są uosobieniem 
innowacyjnego podejścia bazującego na otwar-
tych, elastycznych usługach internetowych, a tak- 
że  najlepszych  praktykach  zgodnych  ze  stan- 
dardami Opeb Web i OSGi Alliance. 
Platforma Jazz została zaprojektowana tak, by 
dostarczać organizacjom elastyczność umoż-
liwiającą przygotowanie własnego, idealnego 
środowiska dostarczania oprogramowania, uży-
wając preferowanych narzędzi. Co więcej, poz- 
wala  elastycznie rozwijać  środowiska organiza- 
cji wedle własnych wymagań, własnym tempem, 
zamiast stać na drodze integracji narzędzi. Plat-
forma definiuje wspólny zbiór usług Jazz Foun- 
dation, które można wykorzystać w dowolnym 
narzędziu implementującym to podejście. Uw- 
Praca zespołowa
Projekt Jazz składa się ze wspólnej platformy 
i zestawu narzędzi, które umożliwiają wszyst-
kim członkom zespołu rozwojowego łatwiej-
szą współpracę. Odzwierciedla to pogląd, że 
najważniejszym elementem w rozwoju opro-
gramowania nie są jednostki, nie proces, ale 
współpraca zespołu. W tym celu platforma 
udostępnia rozszerzalną architekturę zapro-
jektowaną  z  myślą  o  zwiększeniu  poziomu 
współpracy, produktywności i przejrzystości 
produkcji oprogramowania. 
Została  ona  dostosowana  do  potrzeb  ze-
społów pracujących w zróżnicowanych lokali-
zacjach, uzupełniając tą wiedzę dodatkowo o in-
formacje dotyczące użytkowników, projektów  
i procesów z elementami automatyzacji. Odpo-
wiednie podejście do współpracy i zastosowanie 
Wizja
Platforma Jazz jest inicjatywą firmy IBM, któ-
ra powstała, aby pomóc zespołom w celu osią-
gnięcia jak najlepszych wyników w pracy Au-
torzy,wykorzystując dobre praktyki współpra-
cy z obszaru muzyki, przekształcili je tak, aby 
były możliwe do zastosowania w procesie wy-
twarzania  oprogramowania,  czyniąc  je  bar-
dziej spójne, wydajne i przejrzyste.
Na fundamenty platformy Jazz wpływają 
trzy elementy :
•  architektura  integracji  dla  cyklu  życia 
produktu,
Rysunek 1. Strona WWW projektu IBM Rational Jazz
4
W ytwarzanie  oprogramowania  to 
407056426.093.png 407056426.094.png 407056426.095.png 407056426.096.png 407056426.097.png 407056426.098.png 407056426.099.png 407056426.101.png 407056426.102.png 407056426.103.png 407056426.104.png 407056426.105.png 407056426.106.png 407056426.107.png 407056426.108.png 407056426.109.png 407056426.110.png 407056426.112.png 407056426.113.png 407056426.114.png 407056426.115.png 407056426.116.png 407056426.117.png 407056426.118.png 407056426.119.png 407056426.120.png 407056426.121.png 407056426.123.png 407056426.124.png 407056426.125.png 407056426.126.png 407056426.127.png 407056426.128.png 407056426.129.png 407056426.130.png 407056426.131.png 407056426.132.png 407056426.134.png 407056426.135.png 407056426.136.png 407056426.137.png 407056426.138.png 407056426.139.png 407056426.140.png 407056426.141.png 407056426.142.png 407056426.143.png 407056426.145.png 407056426.146.png 407056426.147.png 407056426.148.png 407056426.149.png 407056426.150.png 407056426.151.png 407056426.152.png 407056426.153.png 407056426.154.png 407056426.156.png 407056426.157.png
Jazz
najlepszych praktyk z obszaru inżynierii opro- 
gramowania pozwoliło na skrócenie cyklu po-
wstawania  oprogramowania,  podniesienie 
jakości oraz usprawniło samo zarządzanie pro-
jektem.
Na razie platformy Jazz zostały stworzone 
trzy produkty :
kiej jakości. W związku z tym, skupiono się na 
fundamentach współpracy w zespole, automa-
tyzacji procesów i raportowania cyklu życia opro-
gramowania. Narzędzia Jazz odzwierciedlają za-
łożenia, że najważniejszym obiektem nie jest tu  
jednostka czy proces, a współpraca. Zauważa się 
również,  że  zespół  to  nie  tylko  grupa  progra- 
mistów wraz z ich menedżerami, ale także po- 
zostali, którym zależy na sukcesie inicjatywy, czyli 
klienci, sponsorzy. Celem narzędzi jest więc 
umożliwienie przejrzystości zespołów i projektów 
dla  ciągłej  współpracy,  która  pozwala  na  pro- 
mowanie  przełomowych  innowacji,  budowę 
spójności zespołu, wykorzystanie zasobów, talen-
tó w i  poza przedsiębiorstwem.
Raportowanie
Uzyskanie szybkiego dostępu do informacji opar- 
tych na faktach jest niezbędne do planowania dal- 
szej pracy. Zbyt często raporty na temat stanu roz- 
wijanego oprogramowania wiążą się ze żmudną 
pracą wymagającą wysiłku ludzi odpowiedzial-
nych za sprawozdania, co wymaga czasu, a to 
powoduje, że raporty są mniej aktualne. Jazz 
koncentruje  się  na  dostarczaniu  raportów 
w czasie rzeczywistym, które umożliwią wgląd 
w programy, projekty i użyteczność zasobów, 
co znacząco pomaga zespołom projektowym. 
Identyfikuje i rozwiązuje problemy znacznie 
wcześniej w cyklu życia oprogramowania, za- 
miast szacowanych wartości, przedstawia met- 
ryki  bazujące  na  faktach,  co  zwiększa  efek- 
tywność podejmowanych decyzji, a także poz- 
wala na odpowiednie wykorzystanie metryk 
do poprawy prac zespołu.
•  Rational Requirements Composer  – roz-
wiązanie  dedykowane  do  poprawnego 
deiniowania  wymagań  przy  zastosowa-
niu tekstu oraz rozbudowanych elemen-
tów graicznych. Narzędzie umożliwia za-
pisywanie  wyrainowanych  potrzeb  biz-
nesowych w jednoznaczne wymagania, co 
na dalszych etapach prac nad produktem 
wpływa  bezpośrednio  na  poprawę  jako-
ści czy usprawnienia samego procesu wy-
twórczego.
•   Rational Team Concert – wspólne środowi-
sko pracy dla programistów, projektantów, 
architektów i kierowników projektów. De-
dykowane  narzędzie  pozwalające  w  jed-
nym miejscu na zarządzanie pracą, kontro-
lę źródeł, zarządzanie systemem budowa-
nia,  wsparcie  dla  planowania  iteracji  oraz 
proces planowania, obejmuje zwinne me-
todyki, m.in. Scrum oraz Eclipse Way.
•   Rational Quality Manager – oparty o in- 
terfejs  www  system  zarządzania  proce-
sem testowania dla decydentów oraz spe-
cjalistów ds. jakości. Dostarcza koniguro-
walne rozwiązanie do planowania testów, 
przepływu kontroli, monitorowania i ra-
portowania, realizacji testów czy zarządza-
nia środowiskami testowymi.
Automatyzacja
Badania pokazują, że prawie wszystkie orga-
nizacje chcą zmniejszyć liczbę biurokratycz-
nych przeszkód stojących na drodze rozwoju 
oprogramowania, automatyzując żmudne i po- 
datne na błędy zadania oraz uciążliwe do utrzy- 
mania operacje na danych. Jednak oni rów-
nież muszą utrzymać i poprawiać proces spój- 
ności i zarządzania oraz zwiększać wgląd w rze- 
czywisty postęp projektu. Celem Jazz jest au-
tomatyzacja procesów przepływów pracy i za-
dań, dzięki czemu organizacje mogą przyjąć 
odpowiednią liczbę zasad rozwoju w tempie, 
które  ma  dla  nich  sens.  Otrzymujemy  więc 
poprawę wsparcia i wykonywania procesów, 
włączając w to procesy zwinne ( Agile ) oraz sfor- 
malizowane ( Rational Unified Process ), reduk- 
cję żmudnych i czasochłonnych czynności ma- 
nualnych, przechwytywanie informacji o postę- 
pach,  wydarzeniach,  decyzjach  i  zezwoleniach  
bez dodatkowego wprowadzania danych.
Architektura i implementacja Jazz
Architektura Jazz oparta jest na zasadach będą- 
cych kluczem do porzucenia podejścia stosowa- 
nego w przeszłości. Wszystkie te zasady pozwa-
lają zespołom na korzystanie z sieci WWW, by 
uzyskiwać dostęp do procesów czy artefaktów 
w ramach całego procesu wytwórczego.
Oto kilka przykładowych idei:
•  Oddziela się wdrażanie narzędzi od deinicji  
i dostępu do danych; semantyka danych nie 
opiera się na sekretnej wiedzy wbudowanej  
w kod produktu.
•  Jazz może mieć dostęp i integrować dane tam, 
gdzie się one znajdują – nie ma potrzeby im-
portowania i eksportowania danych pomię-
dzy narzędziami i repozytoriami.
Jazz to nie tylko społeczność praktyków roz-
wijających  oprogramowanie,  którzy  poma-
gają innym, to także wpływ klientów i spo-
łeczności  na  kierunek  rozwoju  produktów 
przez wczesne, ciągłe i bezpośrednie rozmo-
wy lub wymiany poglądów.
Po dołączeniu do społeczności na stronie 
jazz.net , można komunikować się z zespołami 
projektowymi, śledzić postęp budowy produk- 
tów,  kamienie  milowe,  przekazać  informa-
cje o tym, co działa, a co nie oraz zgłaszać i śle-
dzić defekty. 
Każda z osób ma pełną przejrzystość szczegó-
łowych planów, stanu, postępu budowy samej 
platformy lub komercyjnych produktów IBM 
Rational.  Korzyść, jaka płynie z tej przejrzysto-
ści i dostępności do danych, to przede wszyst-
kim fakt, iż istnieje możliwość stania się jednym 
z decydentów wpływających na ich rozwój. Czę-
ste dostarczanie trafnych opinii pozwoli zrozu- 
mieć i wpłynąć na kierunek kolejnych wydań i prio- 
rytetów, zanim decyzje zapadną. Celem takiego 
podejścia jest stworzenie środowiska pracy, któ-
re pomaga zespołom współpracować, być inno-
wacyjnymi  i  tworzyć  oprogramowanie  wyso-
Rysunek 2. Produkty bazujące na platformie IBM Rational Jazz
5
407056426.158.png 407056426.159.png 407056426.160.png 407056426.161.png 407056426.162.png 407056426.163.png 407056426.164.png 407056426.165.png 407056426.167.png 407056426.168.png 407056426.169.png 407056426.170.png 407056426.171.png 407056426.172.png 407056426.173.png 407056426.174.png 407056426.175.png 407056426.176.png 407056426.178.png 407056426.179.png 407056426.180.png 407056426.181.png 407056426.182.png 407056426.183.png 407056426.184.png 407056426.185.png 407056426.186.png 407056426.187.png 407056426.189.png 407056426.190.png 407056426.191.png 407056426.192.png 407056426.193.png 407056426.194.png 407056426.195.png 407056426.196.png 407056426.197.png 407056426.198.png 407056426.200.png 407056426.201.png 407056426.202.png 407056426.203.png 407056426.204.png 407056426.205.png 407056426.206.png 407056426.207.png 407056426.208.png 407056426.209.png 407056426.211.png 407056426.212.png 407056426.213.png 407056426.214.png 407056426.215.png 407056426.216.png 407056426.217.png 407056426.218.png 407056426.219.png 407056426.220.png 407056426.222.png 407056426.223.png
Zgłoś jeśli naruszono regulamin