W artykule UML Profile opisałem czym jest taki profil oraz do czego może służyć. W tym miejscu chciałbym przybliżyć techniczne aspekty tworzenia, a później wykorzystania takiego profilu.
Tworzenie i późniejsze utrzymanie profilu UML to zadania realizowane w tzw. metamodelu, natomiast wykorzystanie takiego profilu ma miejsce już w docelowym modelu. Aby móc korzystać z profilu konieczne jest jego wdrożenie w formie pliku XML. Zostało to przedstawione w formie graficznej na poniższym rysunku.
Pokazywanie postów oznaczonych etykietą wymagania. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą wymagania. Pokaż wszystkie posty
środa, 26 marca 2014
środa, 21 sierpnia 2013
Agile lekarstwem dla zarządzania wymaganiami?
Organizacja Standish Group co roku publikuje swój sławny raport zatytułowany Chaos Report. Raport ten zawiera wyniki badań dotyczących jakości projektów informatycznych. Od kilkunastu lat Standish Group zadaje organizacjom te same pytania dotyczące liczby projektów kończących się sukcesem. Porównanie tych liczb na przestrzeni lat jest ciekawe przede wszystkim dla kierowników projektów, ale nie tylko.
Niedawno przeczytałem nie sam raport, ale wnioski z raportu za 2011 rok zaprezentowane przez Johna Parkera na blogu w artykule Why so Many IT Projects are Challenged, Under Deliver Promised Value, or Outright Fail.
Autor zamieścił tam następującą tabelkę:
Jest to porównanie liczby projektów zakończonych sukcesem (które zmieściły się w budżecie i harmonogramie i dostarczyły zamawiającemu oczekiwaną wartość), liczby projektów, które się zakończyły, ale nie zmieściły się w zaplanowanym budżecie, bądź były opóźnione lub też miały ograniczony zakres w stosunku do pierwotnych założeń oraz liczby projektów, które zostały zakończone porażką.
Z przedstawionych liczb widać, że na przestrzeni kilkunastu lat nastąpiła nieznaczna poprawa, ale mimo wszystko liczba projektów zakończonych pełnym sukcesem jest bardzo mała.
Najbardziej rzuca się w oczy jednak porównanie liczby projektów zakończonych sukcesem realizowanych według standardowej metody Waterfall - 14%, do liczby projektów zakończonych sukcesem prowadzonych według metodyk zwinnych, Agile - 42%. Różnica jest na tyle diametralna, że w samym opracowaniu raportu zamieszczono komentarz:
W każdym bądź razie Standish Group dostarczył znaczących argumentów za tym kierunkiem rozwoju.
A dlaczego Agile miałoby być lekarstwem dla zarządzania wymaganiami?
Otóż, wg Standish Group trzy najważniejsze powody, dla których projekty nie kończą się pełnym sukcesem to:
Niedawno przeczytałem nie sam raport, ale wnioski z raportu za 2011 rok zaprezentowane przez Johna Parkera na blogu w artykule Why so Many IT Projects are Challenged, Under Deliver Promised Value, or Outright Fail.
Autor zamieścił tam następującą tabelkę:
Jest to porównanie liczby projektów zakończonych sukcesem (które zmieściły się w budżecie i harmonogramie i dostarczyły zamawiającemu oczekiwaną wartość), liczby projektów, które się zakończyły, ale nie zmieściły się w zaplanowanym budżecie, bądź były opóźnione lub też miały ograniczony zakres w stosunku do pierwotnych założeń oraz liczby projektów, które zostały zakończone porażką.
Z przedstawionych liczb widać, że na przestrzeni kilkunastu lat nastąpiła nieznaczna poprawa, ale mimo wszystko liczba projektów zakończonych pełnym sukcesem jest bardzo mała.
Najbardziej rzuca się w oczy jednak porównanie liczby projektów zakończonych sukcesem realizowanych według standardowej metody Waterfall - 14%, do liczby projektów zakończonych sukcesem prowadzonych według metodyk zwinnych, Agile - 42%. Różnica jest na tyle diametralna, że w samym opracowaniu raportu zamieszczono komentarz:
“The Agile process is the universal remedy for software development project failure. Software applications developed through the Agile process have three times the success rate of the traditional Waterfall method, and a much lower percentage of time and cost overruns.”Przyznam, że nie zdawałem sobie sprawy z takiej przewagi podejścia Agile nad standardowym cyklem wytwarzania oprogramowania. Ciekawy jestem, czy firmy realizujące projekty informatyczne w ślad za tym opracowaniem w przyszłości będą stawiały jeszcze bardziej na metodyki zwinne.
W każdym bądź razie Standish Group dostarczył znaczących argumentów za tym kierunkiem rozwoju.
A dlaczego Agile miałoby być lekarstwem dla zarządzania wymaganiami?
Otóż, wg Standish Group trzy najważniejsze powody, dla których projekty nie kończą się pełnym sukcesem to:
- Lack of user input
- Incomplete requirements and specifications
- Changing requirements and specifications.
Wszystkie te czynniki są rezultatem niedostatecznej analizy biznesowej. Można wysnuć wniosek, że standardowe podejście, w którym pierwszą fazą projektu jest analiza kończąca się zatwierdzeniem specyfikacji wymagań - jest błędne.
Ja nie spotkałem się jeszcze z projektem, w którym czas przeznaczony na analizę byłby wystarczający lub wyniki fazy analizy byłyby kompletne i zawierałyby dokładnie opisane wszystkie wymagania. Niby zakłada się, że wymagania mogą podlegać zmianom w późniejszych fazach projektu, przy czym istnieje świadomość, że im późniejsza zmiana wymagań, tym koszt jest większy. Ale najczęściej mimo wysiłku całego zespołu projektowego liczba zmian przekracza punkt krytyczny, po którym okazuje się, że sukces projektu jest zagrożony.
Czy zatem stosowanie podejścia Agile do zarządzania wymaganiami i prowadzenia całego projektu może kluczem do sukcesu? Wiele na to wskazuje. Choć w moim odczuciu potrzeba jeszcze wiele czasu, żeby się o tym przekonać na własnej skórze. Sądzę, że potrzebujemy jeszcze więcej opracowań na temat metodyk zwinnych oraz przekonania do nich organizacji i ludzi, którzy od lat realizują projekty zgodnie ze starymi i sprawdzonymi metodami.
piątek, 16 sierpnia 2013
Dołączanie grafiki do wymagań
Naturą wymagań jest ich forma tekstowa. Każde wymaganie jest formułowane w języku naturalnym. Składa się co najmniej z jednego zdania oznajmującego.
Dobrze, żeby wymaganie miało:
Dobrze, żeby wymaganie miało:
- swój unikalny identyfikator, do którego można referować w innych artefaktach analitycznych,
- nazwę - która w skrótowej formie prezentuje jego charakter,
- treść - jedno lub kilka zdań; może się składać również z listy numerowanych lub wypunktowań.
A co, jeśli wymaganie dotyczy na przykład ekranu użytkownika lub kształtu raportu?
Czy należy wówczas w formie tekstowej opisywać położenie przycisku na ekranie?
Doświadczony analityk wie, że znacznie skuteczniej jest w wymaganiu umieścić prototyp ekranu pokazujący miejsce, gdzie taki przycisk zostanie umieszczony przez programistę.
środa, 7 listopada 2012
Import wymagań z Linked Document
Enterprise Architect jest wyposażony w mechanizm, dzięki któremu możliwe jest stworzenie biblioteki dokumentów. Elementy typu Document Artifact (tak naprawdę elementy dowolnego typu, ale na potrzeby tego przykładu skupiam się tylko na elementach tego typu) mogą służyć do przechowywania w modelu kompletnych dokumentów w formacie MS Word.
W tym artykule opisuję jeden z praktycznych sposobów wykorzystania tego mechanizmu.
W tym artykule opisuję jeden z praktycznych sposobów wykorzystania tego mechanizmu.
Opis przykładu
Naszym przykładem będzie realizacja projektu mającego na celu informatyzację biblioteki miejskiej. Do tego celu wykonawca projektu w narzędziu Enterprise Architect tworzy i utrzymuje model. Projekt jest w fazie analizy. W ramach projektu odbywa się szereg spotkań projektowych. Z każdego spotkania sporządzana jest notatka. Zapisy z notatek są istotne zarówno z punktu widzenia kierownictwa projektu, jak również z punktu widzenia analityków. W trakcie takich spotkań mogą być zgłaszane określone wymagania. Kierownik projektu nalega na uczestników spotkań, żeby każde nowe wymaganie zgłaszane przez klienta było rejestrowane. Oczekiwanie kierownika projektu ma na celu takie zarządzanie wymaganiami, aby każda sygnalizowana potrzeba klienta była odpowiednio zaadresowana. Kierownik projektu chce uniknąć niezręcznych sytuacji, gdy po pewnym czasie, w następnych etapach projektu klient robi wyrzuty typu "Przecież już dawno mówiliśmy Wam o tym..", a analitycy odpowiadają "Nic takiego sobie nie przypominamy..." Znacie z własnego doświadczenia takie sytuacje?czwartek, 25 października 2012
Element typu Feature
Domyślna paleta (toolbox) dla diagramu wymagań zawiera obok podstawowego typu elementu, jakim jest wymaganie (requirement) również typ elementu zwany Feature.
W języku polskim słowo feature jest tłumaczone jako cecha, właściwość, aspekt, akcent. Istnieje nawet spolszczona wersja tego słowa: "ficzer". W związku z tym rzadko element tego typu jest stosowany w modelowaniu w narzędziu Enterprise Architect. Analityk dochodzi często do wniosku, że nie ma potrzeby zajmować się jakimiś "ficzerami", podczas gdy powinien skupić się na podstawowych kwestiach. W dodatku podstawowe metodyki zarządzania wymaganiami nie wspominają o pojęciu Feature.
Mimo to, chciałbym pokazać, że zastosowanie tego elementu jest zgoła inne niż to się wydaje na pierwszy rzut oka.A element Feature może on być bardzo przydatny na przykład na wczesnym etapie zarządzania wymaganiami, czyli w procesie gromadzenia / wydobywania wymagań (requirement elicitation) oraz analizy wymagań, gdy nie nie zostały jeszcze zidentyfikowane przypadki użycia.
W języku polskim słowo feature jest tłumaczone jako cecha, właściwość, aspekt, akcent. Istnieje nawet spolszczona wersja tego słowa: "ficzer". W związku z tym rzadko element tego typu jest stosowany w modelowaniu w narzędziu Enterprise Architect. Analityk dochodzi często do wniosku, że nie ma potrzeby zajmować się jakimiś "ficzerami", podczas gdy powinien skupić się na podstawowych kwestiach. W dodatku podstawowe metodyki zarządzania wymaganiami nie wspominają o pojęciu Feature.
Mimo to, chciałbym pokazać, że zastosowanie tego elementu jest zgoła inne niż to się wydaje na pierwszy rzut oka.A element Feature może on być bardzo przydatny na przykład na wczesnym etapie zarządzania wymaganiami, czyli w procesie gromadzenia / wydobywania wymagań (requirement elicitation) oraz analizy wymagań, gdy nie nie zostały jeszcze zidentyfikowane przypadki użycia.
niedziela, 21 października 2012
Import wymagań z MS Excel
W artykule Import wymagań z MS Word opisałem prostą metodę usprawniającą kopiowanie treści z edytora tekstu. Zasugerowałem, że można to wykorzystać do importu wymagań. Zaznaczyłem, że ta metoda jest przydatna, gdy dysponujemy bardzo ograniczonym czasem na wykonanie zadania. Jeśli jednak stać nas na solidne przygotowanie warsztatu pracy, spróbujmy wykorzystać VBA (Visual Basic for Applications) w MS Excel i opracujmy swój własny importer wymagań.
Zacznijmy jednak od początku...
Rzeczywiście można importować rozmaitego rodzaju treść do Enterprise Architect. Ja sam importowałem np. przypadki testowe, procesy biznesowe, komponenty aplikacyjne czy też urządzenia. Z punktu widzenia swojej praktyki w wielu projektach zauważam, że najczęściej potrzebny jest jednak właśnie import wymagań.
Wynika to z tego, że zanim wymagania zostaną udokumentowane, konieczne jest ustalenie ich zakresu. Treść wymagań ustala się wraz z klientem podczas spotkań lub poprzez wymianę uwag i odpowiadanie na uwagi w formie pisemnej.
Nie wyobrażam sobie, aby użytkownik z działu merytorycznego korzystał z repozytorium w narzędziu Enterprise Architect do przeglądania i czytania propozycji wymagań. Podobnie nie wyobrażam sobie edycji treści wymagań na spotkaniu bezpośrednio w Enterprise Architect.
Uważam, że do wymiany informacji z klientem, zwłaszcza z użytkownikiem merytorycznym powinny służyć dokumenty w formacie MS Word i MS Excel, gdyż są osoby merytoryczne czują się swobodnie korzystając z tych programów. W takim układzie potrzebne są mechanizmy zarówno do importu treści do modelu Enterprise Architect, jak i mechanizmy eksportu (np. raportowanie), dzięki którym będziemy w stanie "przerzucić" treści w drugą stronę.
Zacznijmy jednak od początku...
Dlaczego mowa o imporcie wymagań?
Dlaczego mechanizmy importu zawężam tylko do wymagań, podczas gdy mechanizmy te są uniwersalne i umożliwiają importowanie elementów dowolnego typu?Rzeczywiście można importować rozmaitego rodzaju treść do Enterprise Architect. Ja sam importowałem np. przypadki testowe, procesy biznesowe, komponenty aplikacyjne czy też urządzenia. Z punktu widzenia swojej praktyki w wielu projektach zauważam, że najczęściej potrzebny jest jednak właśnie import wymagań.
Wynika to z tego, że zanim wymagania zostaną udokumentowane, konieczne jest ustalenie ich zakresu. Treść wymagań ustala się wraz z klientem podczas spotkań lub poprzez wymianę uwag i odpowiadanie na uwagi w formie pisemnej.
Nie wyobrażam sobie, aby użytkownik z działu merytorycznego korzystał z repozytorium w narzędziu Enterprise Architect do przeglądania i czytania propozycji wymagań. Podobnie nie wyobrażam sobie edycji treści wymagań na spotkaniu bezpośrednio w Enterprise Architect.
Uważam, że do wymiany informacji z klientem, zwłaszcza z użytkownikiem merytorycznym powinny służyć dokumenty w formacie MS Word i MS Excel, gdyż są osoby merytoryczne czują się swobodnie korzystając z tych programów. W takim układzie potrzebne są mechanizmy zarówno do importu treści do modelu Enterprise Architect, jak i mechanizmy eksportu (np. raportowanie), dzięki którym będziemy w stanie "przerzucić" treści w drugą stronę.
wtorek, 14 sierpnia 2012
Import wymagań z MS Word
Jest to naturalna sytuacja, gdyż wymagania są opisywane przy użyciu języka naturalnego oraz zachodzi konieczność łatwego komunikowania ich klientowi. Poprawki w treści wymagań często są nanoszone w trakcie spotkań z klientem, bądź przesyłane pocztą elektroniczną. Zastosowanie do tego celu programu MS Word wydaje się najlepszym rozwiązaniem, zwłaszcza gdy w grę wchodzi wykorzystanie trybu rejestracji zmian w MS Word.
Problem zaczyna się, gdy uzgodnioną już treść wymagań należy przenieść do Enterprise Architecta. Gdy wymagań jest niewiele, możliwe jest ich manualne przekopiowanie, jednak w złożonym projekcie wymagań bywa ich kilkaset lub kilka tysięcy. W dodatku w praktyce czas na stworzenie rejestru wymagań w modelu Enterprise Architecta jest bardzo ograniczony, gdyż ważniejszym zadaniem jest zapewnienie określonej wartości merytorycznej artefaktów, niż ich forma.
W niniejszym artykule opisane zostało ułatwienie w przenoszeniu treści wymagań z MS Word. Już na początku chcę wyraźnie zaznaczyć, że nie jest to preferowana przeze mnie metoda. Jeśli to jest możliwe, to zalecam importowanie wymagań przy wykorzystaniu makra w Visual Basicu w programie MS Excel. Opiszę tę metodę przy innej okazji.
Wracając do importu wymagań z MS Word, jej największą zaletą jest prostota. Poza tym nie jest potrzebne opracowywanie jakiegokolwiek narzędzia czy interfejsu do MS Office.
Subskrybuj:
Posty (Atom)


