Modelowanie procesów biznesowych jest dziś stosunkowo powszechne. W wielu organizacjach robi się to nawet w dwóch miejscach :-). W komórce odpowiedzialnej za usprawnianie lub nadzór nad procesami i w IT, gdzie wytwarza się oprogramowanie. Powszechnie stosowanym językiem opisu jest notacja BPMN.
Modelowanie procesów biznesowych w procesie wytwórczym oprogramowania zostało, w moim odczuciu, usankcjonowane w Rational Unified Process .
Wiele lat temu zastosowanie BPMN w modelowaniu procesów biznesowych nie było takie oczywiste. W wspomniany Rational Unified Process miał rozszerzenie business modeling, które pozwalało na zamodelowanie scenariuszy procesów biznesowych w UML. Co więcej, w 2008 roku w tekście https://wolski.pro/2008/10/modelowanie-procesw-biznesowych-w-uml-czy-bpmn/ podjąłem polemikę na temat właśnie wyboru notacji.
Wówczas dyskusja mogła mieć uzasadnienie. BPMN dopiero zaczynał być standardem. Czytając ten tekst dzisiaj – uśmiecham się sam do siebie. Modelowanie procesów biznesowych w notacji BPMN jest standardem powszechnie używanym. Pytanie, jakie należy wobec powyższego sobie zadać to czy modelowanie procesów biznesowych w procesie wytwórczym oprogramowania jest potrzebne?
Otóż jest. W moim odczuciu niezależnie od tego czy działamy w zwinnie, czy też klasycznie lub kaskadowo modelowanie procesów biznesowych jest potrzebne.
Modele biznesowe pozwalają na:
- zrozumienie jak działa obecnie firma i jak wdrożenie zmiany w systemie informatycznym może zmienić jej działanie (dotyczy czasem 1 procesu)
- poprawienie komunikacji, gdyż pokazanie dokąd zmierzamy pozwala zrozumieć organizację w ten sam sposób,
- przyporządkowanie do aktywności wymagań biznesowych, które później będą zdekomponowane na wymagania dedykowane poszczególnym systemom
- pokazanie procesu biznesowego na różnym poziomie szczegółowości (więcej na ten temat w kolejnym wpisie).
Idąc dalej przygotowanie jednego lub kilku diagramów, powinno zobrazować nam dwa stany. Aktualny i docelowy. Czasem docelowy przebieg procesu jest taki sam jak przebieg procesu obecnego. Co się zmienia? Zmienia się jedna lub kilka aktywności biznesowych. A dokładniej zakres wsparcia przez IT. Pochylenie się nad fragmentem procesu pozwala na skupienie uwagi tylko na kilku zmienianych czynnościach biznesowych. Dopisanie wymagań ułatwi weryfikację, która powinna udzielić odpowiedzi na pytanie, czy i jak nowe wymagania, zmienią proces i wpłyną na inne procesy.
Budowanie modeli procesów biznesowych to nie tylko:
- poprawa efektywności pracy przez standaryzowanie procesu
- podniesienie jakości procesów
- skrócenie czasu realizacji procesów
- znalezienie błędów i wąskich gardeł w procesach
- uzyskanie możliwości oszacowania kosztów procesów biznesowych
Modelowanie procesów biznesowych w procesie wytwórczym oprogramowania to podstawa, do której odnoszą się kolejne etapy tego procesu. Analitycy systemowi na podstawie procesów biznesowych i wymagań biznesowych identyfikują przypadki użycia i wymagania na system. Testerzy budują plany testów i scenariusze testów (zwłaszcza jeśli chodzi o testy integracyjne). Programiści mają ułatwione zadanie w planowaniu kolejności implementacji poszczególnych funkcji.
Modelowanie procesów biznesowych w procesie wytwórczym oprogramowania będzie miało sens gdy wybierze się dobrze poziomy abstrakcji opisu tychże modeli. O tym już w następnym wpisie.