Czy wymagania opisują tylko to “co” system ma robić?

Bardzo często tak właśnie definiuje się produkt analizy wymagań: wymagania funkcjonalne opisują to co ma system robić. W dyskusjach (ile mam ich za sobą :)) z programistami przebija się teza, że analityk specyfikuje to “co” system ma robić, a oni już załatwia sprawę tego “jak” ma to robić. W czym problem? W tym, że funkcjonalności to test rozwiązania a nie wymagania! […] Przypadki użycia stanowią bardzo mierne przybliżenie rzeczywistości. […] Tak więc dokument wymagań to nie tylko przypadki użycia. Te są raczej testem poprawności rozwiązania, czy model jest poprawny (przypominam, że przypadki użycia, poza ich scenariuszami, zawierają stan początkowy i stan końcowy akcji użytkownika). […] Programiści, proszę, nie udawajcie, że znacie się na zarządzaniu, marketingu, biznesie, sprzedaży, rynku, produkcji itp. bo to (poza pewnie istniejącymi wyjątkami) nie prawda, a projektowanie na zasadzie “wydaje mi się że rozumiem” to droga do porażki. […] System ERP można wybrać na bazie projektu na wyższym poziomie abstrakcji. Analizy firmy także polega tu na opracowaniu modeli procesów. Jednak w tym wypadku ich celem jest stworzenie raczej “modelu filozofii działania” firmy a nie projektowanie systemu od zera.

Czytaj dalej Czy wymagania opisują tylko to “co” system ma robić?

Nowa specyfikacja Business Motivation Model v.1.1 i modelowanie biznesu

Stosowanie analizy systemowej, modelowania oraz formalnych notacji do tworzenia modeli, powoduje, że wyniki analiz są daleko bardziej wiarygodne. Z reguły celem pracy analityka biznesowego czy projektanta jest opracowanie opisu rekomendowanego rozwiązania. Może nim być docelowy model organizacji czy też opis oprogramowania jakie należy dostarczyć (bo nie zawsze wytworzyć!). W procesie formalnej analizy systemowej (nie jest to analiza systemu informatycznego, to analiza dowolnego systemu), powstają modele, które testujemy. Taki model to najpierw hipoteza, a po weryfikacji, jest to opis rozwiązania (projekt tego co ma powstać). Idealną sytuacją była by taka, a której mamy narzędzia do modelowania każdej analizowanej dziedziny. W klasycznej inżynierii jest to rysunek techniczny i zasady obliczania wytrzymałości, sformalizowany system tworzenia schematów elektrycznych i elektronicznych i wiele innych (zależnie od dziedziny), notacje UML w inżynierii oprogramowania. W sferze zarządzania mieliśmy do niedawna biała plamę, teraz mamy już BMM czy ArchiMate. Moim zdaniem utrzymywanie, że można coś skutecznie analizować metodami nieformalnymi świadczy raczej o niewiedzy i braku kompetencji.

Czytaj dalej Nowa specyfikacja Business Motivation Model v.1.1 i modelowanie biznesu

Co wybrać czyli cykl życia projektu tworzenia oprogramowania

Zbiegły się dwa fakty: gorąca dyskusja na forum na temat umiejętności programistów i przy okazji ich roli w procesie wytwarzania oprogramowania oraz przesyłka z kolejną nową książką na moja półkę. Ale po kolei. Najpierw fazy cyklu wytwarzania oprogramowania a potem kilka uwag. Zakupiona książka opisuje całość, ja tu skupie się na jej wstępie. Nie będę jej tłumaczył a jedynie opisze idee. Zwrócę także uwagę na pewne aspekty związane z dostarczaniem gotowego oprogramowania, np. systemów typu ERP lub ich komponentów.

Czytaj dalej Co wybrać czyli cykl życia projektu tworzenia oprogramowania

Domain Model – serce aplikacji

Całkiem niedawno pisałem o tworzeniu diagramów klas a konkretnie modelu dziedziny w odpowiedzi na post pewnego blogera. Wymiana poglądów skończyła się z e strony adwersarza na zwróceniu uwagi, iż diagram klas może pokazywać wiece niż mój (bo może) ja zaś zwróciłem uwagę na fakt, że diagram klas to jakiś model a model powinien modelowa jedne coś. Pokazanie na jednym diagramie klas dużo chyba mija się z celem bo można zabrnąć w rejon gdzie sprawdza się reklama Banki od wszystkiego są do niczego.

Czytaj dalej Domain Model – serce aplikacji

Cloud computing – czy aby na pewno nowinka…

Jeżeli miał bym coś polecić tym, którzy patrzą na cloud computing jak na potencjalne narzędzie uzyskania przewagi konkurencyjnej, to sugeruję po zanalizowaniu potrzeb i wyspecyfikowaniu wymagań, dokonanie oceny które wymagane funkcjonalności są biznesowo ryzykowne, ocenę na ile można je zdobyć na rynku w postaci usług innych aplikacji. W zasadzie jest to model SaaS (Software as a Service) ale tu mamy do czynienia z dedykowanymi usługami a nie kompletnym, zdalnie używanym oprogramowaniem.

Czytaj dalej Cloud computing – czy aby na pewno nowinka…

Reguły biznesowe ? czym są?

Wiele się mówi o regułach biznesowych jednak definicja tego pojęcia nie jest taka oczywista. Czym są te reguły? Po przejrzeniu Internetu i literatury uznałem swego czasu, że podejmę próbę stworzenia takiej…

Czytaj dalej Reguły biznesowe ? czym są?

Projektowanie czegoś dla gotowego ERP nie ma sensu…czy aby na pewno?

celem dostawcy gotowego systemu ERP jest wdrożyć go bez żadnych modyfikacji bo (jej koszty) zjadają marżę dostawcy. Celem kupującego oprogramowanie ERP, jest wsparcie swoich procesów biznesowych a nie kopia cudzych. To dwa sprzeczne interesy. Silna firma wymusi na dostawcy ERP zmiany, słaba nie raz poddaje się wierząc tezom dostawcy, że nowy system uporządkuje stan ich organizacji i da przewagę nad konkurencją. Kto tu ma rację?

Czytaj dalej Projektowanie czegoś dla gotowego ERP nie ma sensu…czy aby na pewno?

Na forach czyli znowu modelowanie

Wąskim gardłem jest przejście z procesów na model dziedziny i przypadki użycia, które to tak na prawdę powinny być sprowadzone jeden do jednego do modułów (klas) wykonawczych np. widoku i kontrolera wzorca MVC (który bardzo lubię :)) a model dziedziny wchodzi jeden do jednego w Model w MVC.

Czytaj dalej Na forach czyli znowu modelowanie