Software Requirements czyli wymagania na oprogramowanie

Tym razem książki czyli co się dzieje na świecie. Książki z "całego świata" na mojej półce mają dwa zadania. Pierwsze to dowiedzieć się co i jak robią inni. Drugie to: co robią inni. Tak to nie jest pomyłka. Pierwsze "co robią inni" to zdobywanie nowej wiedzy. Drugie, to porównywanie cudzej wiedzy z moją. O co chodzi? O to, że ostatnio systematycznie przekonuje się, że nie jestem z innej planety :). Dzisiaj o dwóch książkach mających w tytule słowa Software Requirements. Mają one drugą wspólna cechę: wydane przez Microsoft Press i…

Czytaj dalejSoftware Requirements czyli wymagania na oprogramowanie

Analiza wymagań – zrozumienie

Dzisiaj krótki artykuł o wymaganiach dziedzinowych. W jednym z poprzednich artykułów pisałem o wymaganiach, że problem tkwi w ich zrozumieniu i o tym, że przyszły użytkownik nie powinien pisać "jaki ma być ten program", bo popycha projekt w stronę chaotycznych oczekiwań. I tu  jest sedno: analiza nie powinna być tylko pasmem wywiadów, którego produktem będę setki stron zapisów z ankiet i przeprowadzonych rozmów. Analiza, to duża praca, której celem powinno być zrozumienie a nie tylko opisanie. (Analiza wymagań na oprogramowanie czyli opisanie czy zrozumienie). Wymagania najczęściej dzielimy na funkcjonalne i…

Czytaj dalejAnaliza wymagań – zrozumienie

Mega projekty czyli jak zjeść słonia

Uszczegóławianie wymagań odkładamy "na ostatni moment". W ten sposób "kwartał po kwartale" doprecyzowujemy wymagania na kolejny etap i realizujemy go. Co zyskujemy? Nie wyrzucamy do kosza nadmiernie szczegółowej i rozległej dokumentacji wymagań, nie ponosimy koszów projektowania czegoś co może "wylecieć" z zakresu za pół roku z powodów np. zmian na rynku, możemy w dowolnym momencie zmienić kolejne planowane komponenty, usunąć jedne i opracować nowe bez ryzyka zbędnych kosztów.Pierwszy etap ma pewną cechę: tworzy jeden wspólny model wszystkich projektów dla danej organizacji o wdzięcznej nazwie Architektura Korporacyjna. Kolejne konkretne komponenty architektury IT to kolejne projekty, cechujące się umiejscowieniem w całości organizacji i wiarygodnym, spójnym z całością zakresem.Dlatego z reguły nie mają sensu:wdrożenia departamentowe oderwane od reszty (np. Dział Handlowy sobie funduje sam system CRM), projekty trwające dłużej niż trzy kwartały (ostatni kwartał to kolejne planowanie budżetu na kolejny rok czyli planowanie zmian), mega projekty ERPII czyli "all in one" dla firmy w ramach jednego projektu. Więc jak zjeść słonia by się nie udławić? Powoli i po kawałku...

Czytaj dalejMega projekty czyli jak zjeść słonia

Recepta na porażkę

recepta na porażkę:Wymagania zbieraj wyłącznie jako efekt burz mózgów i wywiadów z przyszłymi użytkownikami oraz ich przełożonymi, niech wszyscy spiszą je w postaci tabeli np. w arkuszu kalkulacyjnym i edytorze tekstu. Organizuj długie spotkania warsztatowe, po których powstają kolejne wiersze w tabelach. Wszystkie dodatkowe ustalenia załatwiaj mailem ad-hoc. Tak powstałą listę nazwij Wymagania i daj do realizacji.Projekty informatyczne to zawsze nowy cel i nowa droga ale dobrze znane środowisko. Dlatego wzorce jak najbardziej mają sens, ale nie recepty bo te tu nie mają zastosowania. Antywzorce, hm..., znamy statystyki i mimo to stale podejmowane sa nowe projekty, w których kluczową metodyką pracy jest warsztat-dyktafon, to czy zapisujemy to jako slajdy prezentacji czy z pomoc nawet bardzo dobrego narzędzia CASE nie ma żadnego znaczenia jeżeli faktycznie zapisujemy jedynie to, opis i obrazki, co podyktuje Święty User.Na zakończenie jedno zdanie: pojawienie się metod zwinnych (rok 2001, Agile Manifesto) nie zmieniło tej czarnej statystyki nawet o jotę, więc nic wskazuje na to, że są one w czymkolwiek lepsze. Wiadomo zaś, że stosowanie metod formalnych jest bardzo skuteczne ale kosztowniejszej od opisanych wyżej maili, arkuszy i tekstów. Jednak jeżeli średnie przekroczenie kosztów dochodzi do 200% to znaczy, że jednak metody formalne są per saldo znacznie tańsze... a są stosowane tam, gdzie "ryzyko jest duże" a przynajmniej ryzyko nie jest ignorowane. Czemu jednak tak rzadko stosuje się metody formalne? Bo jest różnica pomiędzy wiedzieć a umieć... Jeżeli więc ktoś mówi, "nie rób tego tak, bo to się raczej nie uda" (powyższe statystyki) to warto tego posłuchać i zapytać o pozostałe 20% bardziej udanych projektów.

Czytaj dalejRecepta na porażkę

Rynek 2013

Firmy odkrywają, że sprawny obieg dokumentów zaczyna stanowić większą wartość dla klientów niż sprawność rachowania. Dlaczego? Bo nasi klienci postrzegają nas poprzez to, jak sprawnie ich obsługujemy a nie przez to, jak sprawnie księgujemy u siebie ich pieniądze.Tu warto zwrócić uwagę na to, że to co często nazywamy system CRM, to "jakaś" obsługa klientów a potem dopiero jakieś zbędne "lejki sprzedaży". Dlaczego zbędne? Bo każda firma, która w końcu z sensem wdrożyła budżetowanie wie, że plan przychodów i jego bieżąca realizacja to po prostu budżet i jego bieżąca realizacja więc ów "lejek" dubluje coś, co i tak powinno być (budżet przychodów). Po usunięciu "lejka" z zakresu wymagań pozostaje nam zarządzanie "sprawami" czyli obsługa zapytań, umów, faktur itp. To wszystko robi (potrafi) system workflow (zarządzanie przepływem pracy i dokumentów). A rejestr klientów? Akurat to nie stanowi żadnego problemu... Co mamy? Systemy CRM także nie są przedmiotem "wielkich planów zakupowych" bo w ich miejsce wchodzą systemy workflow: mają dokładnie taka funkcjonalność. Tak więc CRM jako strategia jak najbardziej, CRM jako kolejny system w firmie już nie koniecznie. Kluczowe ryzyko: systemów tego typu nie da się wdrażać "zwinnie" bo wymagają one bardzo dokładnej analizy taksonomii dokumentów przed rozpoczęciem wdrożenia...

Czytaj dalejRynek 2013

TOGAF or not TOGAF więc może Zachman

Badanie przydatności TOGAF/ArchiMate mam chyba za sobą (zapewne nie na miarę doktoratu ale troszkę jednak tak, chociaż...;)).  Na stronie mojego kolegi: ArchitekturaKorporacyjna.pl (polecam analitykom),  w jednym z artykułów pojawia się ciekawe stwierdzenie: TOGAF wskazuje, że niewłaściwe podczas modelowania jest bezpośrednie wiązanie procesu [biznesowego, jak sądzę] z aplikacją go wspierającą ? elementem pośrednim powinna być funkcja ? czyli: aplikacja wspiera realizację funkcji, a funkcja obejmuje cały proces lub jego fragment (w zależności od poziomu dekompozycji funkcji biznesowej). (Komentarze do TOGAF ? metamodel zawartości (cz. II) | Architektura Korporacyjna). i to jest coś co…

Czytaj dalejTOGAF or not TOGAF więc może Zachman

Analiza wymagań na oprogramowanie czyli opisanie czy zrozumienie

Istnieje coś takiego jak zasada SOLID projektowania oprogramowania (jedna z kluczowych cech dobrych projektów oprogramowania). Cóż to jest SOLID? To rozwinięcie od ang. Single responsibility, Open-closed, Liskov substitution, Interface segregation and Dependency inversion (więcej na stronie SOLID (object-oriented design) - Wikipedia, the free encyclopedia).Dzisiaj tylko o skutkach zaniedbania jednej, kluczowej chyba własności, która dotyczy całej aplikacji: Open-Close, która oznacza: aplikacja powinna być zamknięta na zmiany i otwarta na rozbudowę. Dla wielu na początku ta zasada brzmi wręcz kuriozalnie ale ona jak najbardziej jest możliwa do realizacji. Proszę zwrócić uwagę, że takie własnie są dobrze zarządzane firmy, nie ma w nich rewolucji organizacyjnej co roku, one się rozwijają a nie zmieniają.Oprogramowanie, jeżeli w wyniku analizy wymagań opracowano nie tylko raport z wywiadów ale także model logiki działania, też spełni te zasadę. Czym grozi jej niespełnienie w stosunku do oprogramowania? A tym, do czego przyznał się jeden z programistów podczas pewnej dyskusji na forum:kilka razy doświadczyłem sytuacji, że aby spełnić nowe proste wymaganie trzeba było się namęczyć zarówno z modelem danych jak i aplikacją, Oczywiście można w takiej sytuacji zarzucić, że system był źle zaprojektowany, nieskalowalny, nie przestrzegał SOLIDów, nie korzystał z wzorców itd ale to już jest inna bajka.Na co ja odpowiedziałem: nie, to jest właśnie ta bajka o nazwie analiza wymagań i projektowanie, które powinny być zrozumieniem a nie tylko stenogramem. Wtedy nowe funkcjonalności oprogramowania można dodawać bez potrzeby przebudowy jego wewnętrznej struktury. Nie raz jest z powodu tych kosztów po protu niemożliwy jest rozwój systemu. Oceńcie teraz Państwo sami, Ci którzy tego doświadczyli, skutki wdrożenia np. systemu ERP z kastomizacją.... niestety ogromna większość tego oprogramowania nie spełnia zasady SOLID. Dlaczego? Bo model relacyjny baz danych, jeżeli obejmuje wszystkie dane systemu, niestety nie spełnia tej zasady z założenia. A dostawcy tych systemów wręcz cieszą się z tego reklamując się: "nasz system jest w pełni zintegrowany poprzez pracę na wspólnej bazie danych".... Jak to przeczytasz, nie kupuj tego...

Czytaj dalejAnaliza wymagań na oprogramowanie czyli opisanie czy zrozumienie

Dlaczego nie podoba mi się klasa Pracownik?

Swego czasu pod artykułem Business Model vs. System Model, wywiązała się dyskusja, po tym jak napisałem, że oprogramowanie reprezentuje narzędzie pracy, więc projekt tego oprogramowania raczej powinien zawierać pojęcie (klasę) Karteka Pracowników a nie Pracownicy. Jeden z czytelników napisał wtedy (dociekliwym polecam w tym momencie cała tę dyskusje pod artykułem):... byt Pracownik jak najbardziej ma sens. Przecież tu jest zdefiniowane jego zachowanie (część jedynie z real world, ale jednak). Pracownik.pijeKaweRano().. przeciez nie KartotekaPracownika.pijeKaweRano() (Business Model vs. System Model).Gdzie problem?[...]No więc dlaczego nie podoba mi się klasa Pracownik? Bo pracownik to Aktor Systemu, a System ten przechowuje wybrane dane o tym pracowniku. Są to dane potrzebne np. do identyfikowania osób wystawiających dokumenty z Systemu, a do tego potrzebne są jedynie Karty Pracowników a nie Pracownicy. System (oprogramowanie) zastąpił papierowe Kartoteki Magazynowe dlatego są one teraz w Systemie, ale towary są w nadal magazynie 9a nie w Systemie), system "ma w środku" Kartę Towaru (zastąpiła papierową) zawierająca opis towaru i jego ilość w magazynie. Kartoteka Magazynowa to pudło zawierające Karty Towarów. Faktura VAT to obiekt w systemie, można ją wydrukować lub wysłać jej egzemplarz w postaci elektronicznej kontrahentowi.

Czytaj dalejDlaczego nie podoba mi się klasa Pracownik?

Utopia – czyli model ideału pomaga w projektach

Ten wpis adresuję przede wszystkim menedżerom nie tylko IT. Analitycy i programiści spokojnie mogą go pominąć, chyba, że ...;) chcą wiedzieć dlaczego powinny powstawać idealne projekty, kiedy mogą czasem wykonać niekoniecznie idealną implementację i dlaczego nie należy pomijać etapu idealnego projektowania. [...] Na zakończenie przyznam, że wśród moich niedoszłych klientów i programistów mam wielu wrogów. To Ci, którzy uważają, że analizy i projektowanie całości (co by tu słowo całość nie miało oznaczać) na samym początku są bez sensu, bo i tak wymagania biznesu się zmienią, więc i program będzie się zmieniał. Ja wtedy pytam: zmieniał czy rozszerzał? Jeżeli wymagania się zmieniają to raczej sygnał, że nie zostały na początku przemyślane... Biznes także ma skłonności do zaciągania opisywanego długu... Na koniec w kwestii wrogów pół żartem i pół serio:Chińczycy hołdują powiedzeniu: ?jak posiedzisz wystarczająco długo nad brzegiem rzeki, to zobaczysz trupy swoich wrogów płynące z prądem". No więc sobie siedzę.... i nie raz je oglądam... a siedzę sobie analizując i projektując... ;) i nie jestem tu sam...

Czytaj dalejUtopia – czyli model ideału pomaga w projektach

Czym jest a czym nie jest tak zwany model dziedziny systemu

Wprowadzenie Taksonomia diagramów UML Ten artykuł to kontynuacja wątku rozpoczętego wpisem o modelu dziedziny i diagramie klas, jednak inna jest intencja. Wśród wielu listów i pytań od studentów i pracujących już analityków, na temat UML, regularnie pojawia się pytanie o diagram klas i modelowanie tak zwanej dziedziny systemu. Gdy odpowiadam często pojawia się zarzut, "a tam napisano, że...". Ten artykuł to między innymi chęć zwrócenia uwagi na to, że w sieci i wielu książkach niestety mamy nie mało tak zwanej pseudowiedzy... Z zasady nie oceniam treści innych stron, jednak trudno zignorować…

Czytaj dalejCzym jest a czym nie jest tak zwany model dziedziny systemu

Relacja z konferencji Cloud Solutions 23.01.2013, Warszawa

  23 stycznia w Warszawie odbyła się premierowa edycja konferencji Cloud Solutions, zorganizowana przez Platinium Cast, pod honorowym patronatem Ministra Administracji i Cyfryzacji Michała Boniego. Podczas konferencji poruszono tematy związane z  bezpieczeństwem  przetwarzania danych, prywatnością oraz regulacjami prawnymi w stosunku do Cloud Computingu.   Partnerami konferencji były firmy: Oktawave, Signati, NetApp. Pan Michał Kuźniar i Dariusz Nawojczyk z firmy Oktawave, która jest innowacyjną platformą infrastruktury na żądanie (IaaS), w ramach której istnieje możliwość uruchomienia, przetwarzania czy  przechowywania dowolnych zasobów( strony WWW, aplikacji biznesowej, etc.), opowiedzieli  o Autoskalerze w chmurze jako zmianie  w…

Czytaj dalejRelacja z konferencji Cloud Solutions 23.01.2013, Warszawa
Read more about the article Przetarg czyli wycena projektu…
#1 - a 3d render series showing change and motion

Przetarg czyli wycena projektu…

O przetargach napisano tak wiele krytycznych tekstów, więc po co ten? Nie będę się tu pastwił nad nimi. Zastanawia mnie co innego, i tu mała krytyka... W prasie pojawiły się doniesienia o rozstrzyganym przetargu ogłoszonym przez [[ARiMR]]: Asseco Poland za swoje prace zaproponowało 40,65 mln zł, a Sygnity 43,98 mln zł. W przetargu startowały też: konsorcjum ze spółką zależną Asseco - ZETO Łódź (29,36 mln zł) i konsorcjum z Infovide-Matrix (31,75 mln zł). Wybrana poprzednio [[oferta konsorcjum IT Works i Almaviva]] opiewała na 9,92 mln zł. Przetarg realizowany był według…

Czytaj dalejPrzetarg czyli wycena projektu…

Koniec treści

Nie ma więcej stron do załadowania