Pereiti prie turinio
Gytis Gurklys
Atgal

Apie verslo reikalavimus

Gytis Gurklys
Rengta be DIEN

Skaidrės iš pranešimo, kurį 2018 m. gruodžio 20 d. skaičiau kolegoms Franmax. Viskas prasidėjo nuo apgaulingai paprasto klausimo: ką iš tiesų reiškia „rinkti verslo reikalavimus”? Terminą vartojame kasdien, bet paprašyti pasakyti, kur baigiasi reikalavimas ir prasideda sprendimas, imame mikčioti. Atsakymo ieškojau Michaelo Jacksono problemų rėmuose (problem frames).

Skaidrės angliškos ir tokios, kokios buvo 2018-aisiais — jų neredaguoju. Po jomis spausdinamas užrašas skaitytojui: kas buvo pasakyta žodžiu ten, kur skaidrėje to nėra, paaiškinimas ten, kur vien skaidrės neužtenka, o kur skaidrė nurodo šaltinį — nuoroda į jį. Po paskutine skaidre — visų šaltinių sąrašas.

Business Requirements
The Purpose Of The Presentation
REQUIREMENTS PROBLEM & REQUIREMENTS ENGINEERING
The Requirements Problem
The Requirements Problem
Requirements Engineering
Requirements Engineering
The Object of RE Process
BNM Role
REQUIREMENTS APPROACHES
RE Approaches
Use Cases
GORE Approach
KAOS – Knowledge Acquisition in autOmated Specification
KAOS Goal Model Example
KAOS Goal Types
Problem Frames
Problem Frames Concepts
PF Machine & Problem World
PF Requirements
Shared Phenomena
Reqs vs Specs
Three Satisfying Descriptions
Example
Problem Frame Requirement Definition
Let’s Practice
BUSINESS REQUIREMENTS FRAMEWORK
Problem Frame Concern
Where Does The User Story Fit?
The Domain of US is Task (Environment)
What is Required Behavior…
Required Behavior for Process and Activity
Business Requirements are …
What are phenomena of business process?
Process Owner’s Story
Requirement Traceability
BNM’s Story (Epic?)
Process Owner => BNM
Specification = Implementation of the Requirement
Machine, Domain and Requirement
Thank you!

Šiandien noriu pristatyti savo business requirements tyrimą ir mintis šia tema.

Tema buvo man aktuali AMM projekte. Nors šiuo metu didžioji veiklos analitiko produkcijos dalis yra User Storiai, bet BR reikalingi a) krypčiai nustatyti b) apibrėžti ir komunikuoti projekto ar darbo apimtį.

Business Requirements ruošimas projekte man pačiam yra pakankamai nauja tema. Paskutinius 10 metų, kai dirbu veiklos analitiku (business analyst), didžiąja dalimi BRq gaudavau jau paruoštus ir jų pagrindu ruošdavau specifikacijas programuotojams. Paskutinėje darbovietėje vykdėme vidinį projektą, kurio tikslas buvo pagerinti projektų vykdymo metodiką, tame tarpe ir BRq paruošimą pagal kliento užsakymą. Šiek tiek gilinausi į taip vadinamą goal-oriented requirements engineeringą bei ruošiau DSL‘o (domain specific language) notaciją UML‘u. Žmonių kalba – notaciją goal modelių paišymui. Bendroje sumoje tam skyriau apie 2 mėn full time.

Tos patirties užteko, kad pradėčiau šiek tiek orientuotis temoje, bet neužteko tam, kad galėčiau be papildomo gilinimosi aprašyti BRq aprašymo metodiką.

Taigi atlikau nedidelį tyrimą, šiek tiek apgalvojau surinktą medžiagą ir, man atrodo, sugalvojau visai priimtiną BRq formulavimo ir aprašymo būdo pagrindinę idėją. Darbas toli gražu nėra baigtas. Vienas iš prezentacijos tikslų – gauti feedbacką, ar pasirinkta kryptis atrodo perspektyvi.

Reikalavimų svarba suprasta seniai ir išlieka aktuali iki šiol.

Boehm‘as 1981 metais pasakė, kad vėlyvas ištaisymas gali būti iki 200 kartų brangesnis. Boehm – estimavimo metodo Constructive Cost Model (COCOMO) kūrėjas; terminas žmogmėnesis (man-month) yra Brookso, iš jo 1975 m. knygos „The Mythical Man-Month“.

Barry Boehm's 1981 book Software Engineering Economics documents his Constructive Cost Model (COCOMO). It relates software development effort for a program, in Person-Months (PM), to Thousand Source Lines of Code (KSLOC).

Brooks 1987 – hardest, most important function of SE is the iterative extraction & refinement of requirements. Brooks‘as savo metu IBM‘e vadovavo System/360 ir OS/360 kūrimui ir šiaip labai nusipelnęs SE veikėjas.

1996 metais Europos Software Instituto tyrimas parodė, kad req specifikacija yra pagrindinė software problema – daugiau nei 50 proc. respondentų.

Šaltiniai: [1] van Lamsweerde, Goal-Oriented Requirements Engineering: From System Objectives to UML Models to Precise Software Specifications, ICSE 2003; ten cituojamas Brookso straipsnis – No Silver Bullet: Essence and Accidents of Software Engineering, IEEE Computer, 1987.

Measuring the Impact of Changing Requirements on Software Project Cost.

Veiklos analitikas yra fronto linijoje formuluojant biznio reikalavimus.

Šaltinis: [2] Sharif, Khan ir Bhatti, Measuring the Impact of Changing Requirements on Software Project Cost: An Empirical Investigation, IJCSI 9, 2012.

Requirements Engineering – atskira Software Engineering sritis, subdisciplina.

Šaltinis: [3] Nuseibeh ir Easterbrook, Requirements Engineering: A Roadmap, ICSE 2000, p. 35–46.

Rasti – suprasti tikslą

Identifikuoti poreikius

Dokumentuoti

Analizuoti

Komunikuoti

Valdyti – aš pats pridėjau

Vienžo, reikalavimų formulavimas yra rimtas iššūkis ir jį yra bandoma spręsti.

Šaltinis: [5] van Lamsweerde, Goal-Oriented Requirements Engineering, Luveno universitetas, 2003, cituojant Jacksoną (1995) ir Parnasą (1995).

Klausimas skaidrės viršuje yra viso šito palyginimo ašis. Programinėje įrangoje mašina akivaizdi – tai programa, kurią rašome. Versle ji neakivaizdi: jei reikalavimas kalba apie procesą, kas yra ta mašina, kuri procesą valdo ir kurios specifikaciją mes rašome?

Kairėje – atsakymas pavyzdžiu. Žuvies ašaka su „Bad Coffee“ čia nėra priežasčių analizė, nors būtent taip ji paprastai naudojama. Ji čia yra svertų sąrašas: jei nori, kad kavos darymo procesas elgtųsi kitaip, gali paveikti tik keturis dalykus – žmones, procedūras, medžiagas ir įrangą. Vadinasi, proceso mašina nėra vienas daiktas, o šitas ketvertas.

Dešinėje atsakymo nėra, ir tai sąmoninga. Maximos procesams mašiną dar reikėjo įvardyti, ir kiekvienam procesui ji bus kita. Promo kompensacijų procese, apie kurį kalba ankstesnės skaidrės, ja pasirodė esanti SAP kartu su sutarčių registravimo tvarka: specifikacija „visi promo kompensacijų skaičiavimai atliekami SAP“ yra būtent tos mašinos aprašymas.

Atsisiųsti skaidres (PDF)



Kitas tekstas
Apie verslo taisykles