Read more about the article Hurtownie danych i analizy – jak je robić?
#1 - a 3d render series showing change and motion

Hurtownie danych i analizy – jak je robić?

Od czasu do czasu w zakresie wymagań biznesowych pojawiają się (coraz częściej) potrzeby z obszaru szeroko rozumianego kontrolingu, który polega na zbieraniu danych w celu tworzenia wyrafinowanych raportów, bazujących na danych z wszystkich obszarów organizacji. Dzisiaj kilka słów na ten temat, bo z moich nieformalnych (rozmowy i dokumenty projektowe u klientów) badań, wyłania się obraz wielu nieudanych wdrożeń hurtowni i aplikacji zwanych Business Intelligence, nieudanych z powodu małej ich wydajności, małej przydatności (najczęściej, tak!) lub obu naraz. Artykuł podzieliłem na dwie części: Troszkę o teorii... i Troszkę o tym z…

Czytaj dalejHurtownie danych i analizy – jak je robić?

Kim jest product owner?

Wczoraj podczas spotkania, miałem ciekawą rozmowę z przedstawicielami jednego z producentów systemów ERP. Okazało się, że mają bardzo podobne do moich doświadczenia i wnioski: podczas wdrożenia systemu ERP potrzebny im jest ktoś, jeden, kto zna i rozumie jak działa dana firma, a nie setki stron dokumentacji czy stenogramy z dziesiątków godzin warsztatów z przyszłymi użytkownikami. Do tego firma ta - nabywca systemu ERP - powinna mieć, nie szczegółowo opisane dziesiątki detalicznie opisanych procesów i ich wariantów, procedur czy setki i tysiące nie raz wymagań, a strategię i taktykę, z której wynika…

Czytaj dalejKim jest product owner?

Granice kontekstu i mikroserwisy

Nie raz już pisałem tu o architekturze (Architektura systemu) tym razem kilka słów o tym. Często jestem pytany o kryterium podziału dużego systemu na komponenty. Jednym z nich jest praktyka dążenia do minimalizacji złożoności interfejsów między komponentami jako konsekwencja dziedzinowego kryterium podziału . Złą praktyką jest natomiast dążenie do usuwania redundancji. Stosuje takie - komponentowe dziedzinowe - podejście, w różnej formie,  z powodzeniem od lat. Można je spotkać w różnych formach w literaturze, pierwszy raz spotkałem się z nim w 1999 roku. Obecnie mamy już dość dobrze wypracowane wzorce projektowe ale nadal…

Czytaj dalejGranice kontekstu i mikroserwisy

CRM w EXTREM

Tym razem małe "case study". Poniżej opis , tak wygląda większość mich projektów. Najczęściej mam kontakt z firmami, które przekonały się, że zawarcie umowy od razu na analizę wymagań i realizację projektu bez projektowania, i to w dodatku jako  umowę T&M (czas i materiał) rodzi problemy. Prezes EXTREM, lubi zadawać wiele pytań, miał doświadczenie z poprzedniego wdrożenia (w zasadzie nie doprowadzonego nigdy do końca): Firma EXTREM w 2013 roku rozpoczęła proces wyszukiwania na rynku oprogramowania CRM i jego dostawcy. W toku prowadzanych prezentacji okazało się, że oferty różnią się od…

Czytaj dalejCRM w EXTREM

Process for System Architecture and Requirements Engineering

Warto tę książkę przeczytać, by poznać dobrze opisaną, spójną koncepcję analizy i modelowania systemów w rozumieniu organizacji. Dla kogoś mającego przywiązanie do analizy strukturalnej, opisany szkielet będzie zapewne dobrym narzędziem pracy. Przyznam jednak, że kojarzy mi się to z latami 90-tymi i pierwszymi narzędziami typu EJB ([[Enterprise Java Bean]]) i anemicznym modelem dziedziny.

Czytaj dalejProcess for System Architecture and Requirements Engineering

Czynności kancelaryjne pod kuratelą z powodu bałaganu… ale firmy prywatne nie lepsze, czyli po co ECM

"przyganiał kocioł garnkowi": w firmach "prywatnych" dokumenty giną znacznie częściej. Mało która firma, nie będące urzędem, ma dobrze zorganizowany system obiegu dokumentów. Owszem, dokumenty księgowe, a konkretnie: dowody księgowe, są z reguły dobrze zarządzane ale to efekt wymagań prawa w tym obszarze. Dobrze jest nie raz także z Umowami, ale tu także mamy wymogi prawne (Umowa jako dokument jest tak samo ważnym dowodem jak np. faktura). Pozostałe dokumenty (oferty, zapytania, pisma do klientów itp.) to w większości firm "towar uboczny".

Czytaj dalejCzynności kancelaryjne pod kuratelą z powodu bałaganu… ale firmy prywatne nie lepsze, czyli po co ECM

Plansza do gry w szachy czyli analiza i projektowanie

Na ten wpis pewnie wielu z Was czeka, tak przynajmniej sugerują listy do mnie i głosy na forach, a także potencjalni klienci. Ci, których niestety czasem krytykuję, także pewnie czekają. Pokażę na prostym przykładzie, proces od analizy przez wymagania aż do projektu dedykowanego oprogramowania. Całość będzie zgodna z fazami CIM/PIM (www.omg.org/mda). Projekt dziedziny, który powstanie będzie spełniał zasady SOLID projektowania obiektowego, projektowania przez kompozycje (zamiast dziedziczenia)  (polecam artykuł Łukasza Barana)  i DDD. Opis dotyczy każdego projektu związanego z oprogramowaniem, także gotowym np. ERP, CRM, EOD itp.

Korzystałem z opisu zasad gry w szachy zamieszczonego na WIKI:

Zasady gry w szachy ? prawidła regulujące sposób rozgrywania partii szachów. Choć pochodzenie gry nie zostało dokładnie wyjaśnione, to współczesne zasady ukształtowały się w średniowieczu. Ewoluowały one do początków XIX wieku, kiedy to osiągnęły właściwie swą bieżącą postać. W zależności od miejsca zasady gry różniły się od siebie, współcześnie za przepisy gry odpowiada Międzynarodowa Federacja Szachowa (Fédération Internationale des Échecs, FIDE). Przepisy te mogą się różnić w przypadku różnych wariantów gry, np. dla szachów szybkich, błyskawicznych czy korespondencyjnych. (Zasady gry w szachy ? Wikipedia, wolna encyklopedia).

To na co chcę zwrócić tu uwagę w szczególności, to metafora:

projektując (modelując) oprogramowanie dla człowieka, modelujemy narzędzie dla tego człowieka a nie jego samego.

Swego czasu pisałem, w artykule o nazywaniu klas,  że oprogramowanie z reguły zastępuje dotychczasowe narzędzie człowieka a nie człowieka jako takiego. Druga ważna rzecz: aktor jest równoprawnym elementem systemu (tu systemem jest organizacja z jej ludźmi i używanymi przez nich narzędziami). No to zaczynamy.

(więcej…)

Czytaj dalejPlansza do gry w szachy czyli analiza i projektowanie

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

Ach ten opluty wodospad… czyli lessons learned ERP

Opisane tu podejście często nazywane jest "kaskadowym" (waterfall - wodospad). Jest ono dość często wskazywane jako powód porażek projektów, ale moim zdaniem jest to pewna demagogia, gdyż tak na prawdę przyczyną większości problemów jest nie tyle "wodospadowe" podejście, ono jak widać z powyżej opisanego procesu, ma głęboki sens, co wzięcie sobie na barki projektu (zawarcie umowy z dostawca na trzy lata to przyjęcie w dniu jej zawarcia harmonogramu łamiącego opisana powyżej zasadę) na lata zaniedbując zupełnie fakt, że otoczenie rynkowe obecnie zmienia się nawet co kwartał.Mamy więc kuriozalne zestawienie: podjęcie projektu od razu od ostatniego etapu (wybór dostawy, produktu i realizacja) i zaplanowanie go od razu na np. trzy lata. To projekt w rodzaju "nie wiem co tu jest grane ale kupujemy [ten system] i wdrażamy go". To nie ma prawa się udać...A nasze "lessons learned"? No właśnie, znane mi projekty zakończone kłopotami, to właśnie projekty na skróty. Projektu prowadzone w myśl powyższych zasad (krótkie i dobrze zaplanowane etapy) są znacznie bardziej odporne na kłopoty.

Czytaj dalejAch ten opluty wodospad… czyli lessons learned ERP

Czym jest jakość oprogramowania… a może od czego ona zależy?

Coraz częściej utożsamiam analizę z projektem gdyż w sumie produktem analizy jest jakiś projekt czyli model tego co analizowano, model tego co rekomenduję by powstało. Analiza sama z siebie nie jest samowystarczalna (to znaczy samo analizowanie nie jest wartościowym produktem samym w sobie). Problemy z projektami obserwuje nie ja jeden. W każdym kolejnym projekcie staram się szukać przyczyn, zrozumieć problem i podjąć próbę rozwiązania. Problem w zasadzie jest znany. [...] Dalej mamy same dobre rady, z którymi trudno polemizować:Wysoka modularność, współpraca wielu niezależnych, lub luźno powiązanych elementów, możliwość wymiany małych części, lub tworzenie różnych wariantów tego samego modułu, to podejścia, które przyniosą nam wartość dodaną. Ludzie mający do czynienia z monolitami (układ: jedna wielka baza danych i do tego wielki serwer aplikacyjny) z reguły postrzegają podejście rozproszone (dziesiątki lub setki małych kawałków fruwających gdzieś w koło) jako trudniejsze, bardziej skomplikowane i przez to gorsze i bardziej ryzykowne. Takie spojrzenie to postawienie sprawy do góry nogami.I tu moim zdaniem autor ma 100% racji. Nie ma chyba nic gorszego niż uznanie, że "jeden wielki zintegrowany system" to zaleta tego Systemu, jest to jego największa wada.

Czytaj dalejCzym jest jakość oprogramowania… a może od czego ona zależy?

Prawo a wymagania …

Podstawową korzyścią z wyodrębnienia reguł biznesowych i słownika pojęć jest uporządkowanie słownictwa w dokumentacji i uczynienie jej jednoznaczną oraz weryfikacja ewentualnych sprzeczności regulacji wewnętrznych (Zarządzeń, Prawa). Powoływanie się na Reguły biznesowe na modelach procesów biznesowych, pozwala zachować ich prostotę nie tracąc szczegółowości wiedzy o procesach. Tak wykonana dokumentacja procesów nie wymaga częstej i kosztownej aktualizacji, z reguły aktualizowane są procedury i reguły biznesowe, na które modele procesów się powołują.Tak więc akty prawne to zakazy i nakazy, reguły biznesowe. Oprogramowanie, zależnie od przyjętej konwencji, nie powinno ograniczać ani nawet utrudniać postępowania zgodnego z prawem, może pojawić się oczekiwanie by nie pozwalało łamać prawa. Szczegółowa analiza aktów prawnych, w moich oczach, ma sens gdy projektujemy oprogramowanie. Gdy stawiamy wymagania przed już istniejącym oprogramowaniem, zakładamy że kupimy gotowe, wystarczy wymagać zgodności z prawem w obszarze stosowania oprogramowania. Jeżeli np. oprogramowanie ma pozwalać na wystawianie faktur to znaczy, że powinno być możliwe wystawienie każdej faktury przewidzianej prawem w sposób zgodny z nim. Możemy dodatkowo zażądać by nie było możliwe wystawienie faktury niezgodnej z prawem.

Czytaj dalejPrawo a wymagania …

Model biznesowy czyli po co mi te procesy przed wdrożeniem ERP czy CRM…

Wdrożenie nowego oprogramowania, jeżeli ma mieć sens, powinno więc wspierać tworzenie dodatkowego zysku lub przychodu, w przeciwnym wypadku w zasadzie nie ma sensu. Innym powodem może być ratowanie posiadanego już przychodu czyli utrzymania się na rynku.Dodatkowy zysk, to efekt obniżania kosztów. Ratowanie posiadanego rynku, to efekt reakcji na siły rynku: siły dostawcy (np. jego system EDI wymusza inwestycje u nas), siły odbiorcy (oczekuje obsługi podobnej do tej, jaką oferuje konkurencja), siły konkurencji (ich produkty i usługi są wyższej jakości, musimy też zainwestować).Powyższy model obrazuje to co ma wpływ na to Dlaczego zarabiamy. Zbudowanie takiego modelu dla konkretnej firmy, zrozumienie Dlaczego zarabia, pozwala szukać sposobu i miejsc mogących przyczynić się do realizacji celu projektu, jednak cel ten należy wcześniej Nazwać. Drugi krok to ocena możliwości realizacji i prognozowanie skutków, by określić cel: miarę i wielkość tego co chcemy osiągnąć by wiedzieć czy się udało.PodsumowanieModel biznesowy moim zdanie nie odnosi się do procesów biznesowych, to procesy biznesowe są konsekwencją modelu biznesowego. Dlaczego? Bo jeśli przyjmiemy, że model biznesowy obrazuje (dokumentuje) źródła zysku firmy w łańcuchu wartości na rynku, to procesy biznesowe są opisem tego, w jaki sposób ta wartość wewnątrz firmy powstaje. To pozwala dopiero wskazać jakie działania (procesy) wesprzeć i jak, by "ulepszyć" firmę. Dlatego brak modelu biznesowego jest poważnym utrudnieniem analizy wymagań... bo czego wymagać od oprogramowania skoro nie wiemy co i jak pomoże w zarządzaniu firmą?

Czytaj dalejModel biznesowy czyli po co mi te procesy przed wdrożeniem ERP czy CRM…

Koniec treści

Nie ma więcej stron do załadowania