SlideShare una empresa de Scribd logo
1 de 30
1
Requirements
Engineering:
Report from the trenches
Eric D. Schabell
JBoss Technology Evangelist
Radboud University Nijmegen, June 2013
2
Agenda
• A perfect world
• Reality intrudes
• Real life example: STP Aanvragen
– Introduction
– Life in the trenches
– Example: web service
– Example: jBPM process
• Building on legacy: STP Contract Rekeningen (Deposito's)
– Use cases and legacy problems
• Towards the future: STP Betalen
– Use cases, getting better?
3
Up to now...
The world is a pretty place:
• Business rules
• Use cases
• Requirements
• Workshops
• etc...
4
How we like(d) to work
Overview of the work flow (iterations):
• Business workshops (IA)
• Functional designs (FO), use cases
--------------------------------------------------------------
• Use cases, more detailed (requirements)
• Technical designs (TO)
• Unit test + code
5
Agenda
• A perfect world
• Reality intrudes
• Real life example: STP Aanvragen
– Introduction
– Life in the trenches
– Example: web service
– Example: jBPM process
• Building on legacy: STP Contract Rekeningen (Deposito's)
– Use cases and legacy problems
• Towards the future: STP Betalen
– Use cases, getting better?
6
Reality is a wake up call
Sometimes there are other factors:
• Business needs
• Market changes (Crisis?)
• Lack of personnel (quality / quantity)
• Technical challenges
• Planning problems
7
Agenda
• A perfect world
• Reality intrudes
• Real life example: STP Aanvragen
– Introduction
– Life in the trenches
– Example: web service
– Example: jBPM process
• Building on legacy: STP Contract Rekeningen (Deposito's)
– Use cases and legacy problems
• Towards the future: STP Betalen
– Use cases, getting better?
8
All bets are off
Can you be flexible in this environment?
• Business workshops (4x)
• FO is 92 page PowerPoint presentation
• Use cases done by developers
• Coding (minimal unit tests, no mock services framework)
• TO done after or iterative during coding
9
Architecture
Simple overview:
front
office
applicatie business
proces
engine
BOM
SOAL
Backend
systemen
rule
engine
klant
medewerker
uitval
10
What is going on: technically?
A very fast time to market:
• Challenging technical environment
– JBoss jBPM
– JBoss web services
– Back-ends: KIS and SAS mainframe
– Uitval application
11
What is going on: business?
A very fast time to market:
• Four new savings products
– via internet channel
– request processing max 2 days (STP degree)
– Straight Through Processing (STP Aanvragen)
– customer insisting on unrealistic deadlines
12
What is going on: process?
A very fast time to market:
• All banking issues and requirements remain
– privacy
– laws
– security
– validation
– data access / manipulation
13
Life in the trenches
In the trenches:
• Receive task to implement functionality
• Check FO (remember == ppt)
• Extract use cases for task (discuss with IA)
• Create TO
• Write unit tests
• Code implementation
• Test it!
14
Example: web service
Postcode validation:
• Receive task, postcode validation
• Check FO (remember == ppt), slide 24
• Extract use cases for task (discuss with IA), see example
• Create TO, see SIC
• Write unit tests, see SIC
• Code implementation
• Test it!
15
Functional Design (FO): slide 24
SNS XXXXXXXXXX
Verplichte tegenrekening
Internetbankieren of TIN code of softlogin
SNS XXXXXXXXXXX
Verplichte tegenrekening
Internetbankieren of TIN code of softlogin
SNS XXXXXXXXXX
Verplichte tegenrekening
Internetbankieren of TIN code of softlogin
SNS XXXXXXXXXXXX
Internetbankieren of TIN code of softlogin
...and the rest...
“...postcodevalidatie: als postcode niet in ons table
voorkomt dan uitval.”
16
Service Interface Contract
Sequence diagram:
sd Sequence am
Cal ling Applicat ion /
Service
Betrokkenpartij
Service
KisContactAdapter
KIS
1:
findPostcode(PostcodeValidationSO) :
PostcodeValidationSO
2:
val idate(Po stcodeValidationSO)
:PostcodeValidationSO
3:
findAddress CityByPo stcodeHou seNum berAdapter(Postcode ValidationSO)
:PostcodeValidationSO
4:
SnsPostcode.getAddress Details(postcode ,
houseNumb er) :Jk isResult
17
Java anyone?
/** {@inheritDoc} */
public PostcodeValidationSO findPostcode(PostcodeValidationSO postcodeSO) throws BetrokkenPartijServiceException {
PostcodeValidationSO returnPostcodeValidationSO = new PostcodeValidationSO();
logStart(postcodeSO);
try {
validate(postcodeSO);
} catch (ServiceValidationException e) {
throw createBetrokkenPartijServiceException(e, Originator.SERVICES);
}
try {
// call to KIS for postcode lookup.
returnPostcodeValidationSO = KISContactAdapter.getInstance().findAddressCityByPostcodeHouseNumber(postcodeSO);
if (returnPostcodeValidationSO == null || StringUtils.isEmpty(returnPostcodeValidationSO.address)
|| StringUtils.isEmpty(returnPostcodeValidationSO.city)) {
// found invalid postcode, setup for returning an empty SO.
returnPostcodeValidationSO.address = "";
returnPostcodeValidationSO.city = "";
}
} catch (ServiceException e) {
throw createBetrokkenPartijServiceException(e, Originator.KIS);
} finally {
// Do some logging at the end of the call.
logEnd(returnPostcodeValidationSO);
}
return returnPostcodeValidationSO;
}
18
Unit tests
/**
* Test for an invalid postcode.
* Note: there is no backend mock for services, thus is integration test.
*/
public void testFindPostcodeInvalid() {
// fill our invalid postcode service request object.
postcodeSO.postcode = invalidPostcode;
postcodeSO.houseNumber = invalidHouseNumber;
try {
PostcodeValidationSO so = bp.findPostcode(postcodeSO);
// should be empty SO attributes.
assertEquals(so.address, "");
assertEquals(so.city, "");
} catch (ServiceException e) {
e.printStackTrace();
}
}
19
Example: jBPM process
Aanmaak product:
• Receive task
• Check FO (remember == ppt), outside scope
• Extract use cases for task (discuss with IA), outside scope
• Create TO, received from lead developer, iterative
updates
• Write unit tests, ha ha, that's a good one!
• Code implementation
• Test it, SOAPUI
20
Aanmaak product (jBPM)
21
Agenda
• A perfect world
• Reality intrudes
• Real life example: STP Aanvragen
– Introduction
– Life in the trenches
– Example: web service
– Example: jBPM process
• Building on legacy: STP Contract Rekeningen (Deposito's)
– Use cases and legacy problems
• Towards the future: STP Betalen
– Use cases, getting better?
22
How we (now) like to work
Overview of the work flow (iterations):
• Business workshops (IA)
• Functional designs (FO), set UC's & UCM
--------------------------------------------------------------
• SW Architecture Document (SAD)
• Use Case Realizations, more detailed (requirements).
• Technical designs (SIC, components)
• Unit test + code
23
STP Contractrekening use cases
Some facts:
• Actually have UC's!
• Very technical
• Never (still to this day) seen non-concept versions!
• Legacy process decisions haunt implementation:
– polling / scheduler growth (pre-processing, AI,
Documentbewaking, saldo)
– business logic in process layer, expanded with more...
– reference project (jBPM) never applied == political / time
pressures
24
Documentbewaking (pre-project)
25
Documentbewaking (post-project)
26
Agenda
• A perfect world
• Reality intrudes
• Real life example: STP Aanvragen
– Introduction
– Life in the trenches
– Example: web service
– Example: jBPM process
• Building on legacy: STP Contract Rekeningen (Deposito's)
– Use cases and legacy problems
• Towards the future: STP Betalen
– Use cases, getting better?
27
STP Betalen UCM / UC's
Some facts:
• 1x UCM, 10x UC's
• 65 findings in team review (one team member):
– object model in UCM!
– 'boolean' appears 2x in UC's
– instructs where data elements need to go
– describes exact contents of data element to be stored
– details system components as actors!
– 2x technically impossible to implement process steps
28
STP Betalen optimized
General product process:
• Provides cost effective
product platform
• written May 2009, planned
2010
29
SNS Bank STP final report
Current status:
• UC's != final, business redefined requirements ½ way
• Credit crisis caused some problems end 2009
• Published chapters (2x) and Silver Award!
– follow on http://www.schabell.org (jBPM tag)
– http://www.twitter.com/ericschabell
30
Questions?

Más contenido relacionado

La actualidad más candente

Kris Verlaenen on jBPM5 at JBUG.be
Kris Verlaenen on jBPM5 at JBUG.beKris Verlaenen on jBPM5 at JBUG.be
Kris Verlaenen on jBPM5 at JBUG.beAndries Inzé
 
jBPM5 in action - a quickstart for developers
jBPM5 in action - a quickstart for developersjBPM5 in action - a quickstart for developers
jBPM5 in action - a quickstart for developersKris Verlaenen
 
Felix Müller: Live Coding: Zeebe - Camunda Days Oslo, CPH, Amsterdam
Felix Müller: Live Coding: Zeebe - Camunda Days Oslo, CPH, AmsterdamFelix Müller: Live Coding: Zeebe - Camunda Days Oslo, CPH, Amsterdam
Felix Müller: Live Coding: Zeebe - Camunda Days Oslo, CPH, Amsterdamcamunda services GmbH
 
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPMcamunda services GmbH
 
jBPM5 - Bringing more power to your business processes
jBPM5 - Bringing more power to your business processesjBPM5 - Bringing more power to your business processes
jBPM5 - Bringing more power to your business processesKris Verlaenen
 
Building trust within the organization, first steps towards DevOps
Building trust within the organization, first steps towards DevOpsBuilding trust within the organization, first steps towards DevOps
Building trust within the organization, first steps towards DevOpsGuido Serra
 
jBPM Case Mgmt v7 Roadmap
jBPM Case Mgmt v7 RoadmapjBPM Case Mgmt v7 Roadmap
jBPM Case Mgmt v7 RoadmapKris Verlaenen
 
Launching Activiti v6 (Activiti Community Day Paris 2015)
Launching Activiti v6 (Activiti Community Day Paris 2015) Launching Activiti v6 (Activiti Community Day Paris 2015)
Launching Activiti v6 (Activiti Community Day Paris 2015) Joram Barrez
 
Activiti v6 UI (Activiti Community Day Paris 2015)
 Activiti v6 UI (Activiti Community Day Paris 2015)  Activiti v6 UI (Activiti Community Day Paris 2015)
Activiti v6 UI (Activiti Community Day Paris 2015) Joram Barrez
 
Trunk-Based Development and Toggling
Trunk-Based Development and TogglingTrunk-Based Development and Toggling
Trunk-Based Development and TogglingBryan Liu
 
Continuous integration / continuous delivery
Continuous integration / continuous deliveryContinuous integration / continuous delivery
Continuous integration / continuous deliveryEatDog
 
JUDCon Berlin 2010 - practical enterprise java performance tuning
JUDCon Berlin 2010 -  practical enterprise java performance tuningJUDCon Berlin 2010 -  practical enterprise java performance tuning
JUDCon Berlin 2010 - practical enterprise java performance tuningmbrasier
 
JudCon 2010 Berlin: Practical Enterprise Java Performance Tuning
JudCon 2010 Berlin: Practical Enterprise Java Performance TuningJudCon 2010 Berlin: Practical Enterprise Java Performance Tuning
JudCon 2010 Berlin: Practical Enterprise Java Performance TuningC2B2 Consulting
 
Ginsbourg.com presentation of open source performance validation
Ginsbourg.com presentation of open source performance validationGinsbourg.com presentation of open source performance validation
Ginsbourg.com presentation of open source performance validationPerfecto Mobile
 

La actualidad más candente (14)

Kris Verlaenen on jBPM5 at JBUG.be
Kris Verlaenen on jBPM5 at JBUG.beKris Verlaenen on jBPM5 at JBUG.be
Kris Verlaenen on jBPM5 at JBUG.be
 
jBPM5 in action - a quickstart for developers
jBPM5 in action - a quickstart for developersjBPM5 in action - a quickstart for developers
jBPM5 in action - a quickstart for developers
 
Felix Müller: Live Coding: Zeebe - Camunda Days Oslo, CPH, Amsterdam
Felix Müller: Live Coding: Zeebe - Camunda Days Oslo, CPH, AmsterdamFelix Müller: Live Coding: Zeebe - Camunda Days Oslo, CPH, Amsterdam
Felix Müller: Live Coding: Zeebe - Camunda Days Oslo, CPH, Amsterdam
 
20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM20080215 jbpm Business Process Simulation with Jboss jBPM
20080215 jbpm Business Process Simulation with Jboss jBPM
 
jBPM5 - Bringing more power to your business processes
jBPM5 - Bringing more power to your business processesjBPM5 - Bringing more power to your business processes
jBPM5 - Bringing more power to your business processes
 
Building trust within the organization, first steps towards DevOps
Building trust within the organization, first steps towards DevOpsBuilding trust within the organization, first steps towards DevOps
Building trust within the organization, first steps towards DevOps
 
jBPM Case Mgmt v7 Roadmap
jBPM Case Mgmt v7 RoadmapjBPM Case Mgmt v7 Roadmap
jBPM Case Mgmt v7 Roadmap
 
Launching Activiti v6 (Activiti Community Day Paris 2015)
Launching Activiti v6 (Activiti Community Day Paris 2015) Launching Activiti v6 (Activiti Community Day Paris 2015)
Launching Activiti v6 (Activiti Community Day Paris 2015)
 
Activiti v6 UI (Activiti Community Day Paris 2015)
 Activiti v6 UI (Activiti Community Day Paris 2015)  Activiti v6 UI (Activiti Community Day Paris 2015)
Activiti v6 UI (Activiti Community Day Paris 2015)
 
Trunk-Based Development and Toggling
Trunk-Based Development and TogglingTrunk-Based Development and Toggling
Trunk-Based Development and Toggling
 
Continuous integration / continuous delivery
Continuous integration / continuous deliveryContinuous integration / continuous delivery
Continuous integration / continuous delivery
 
JUDCon Berlin 2010 - practical enterprise java performance tuning
JUDCon Berlin 2010 -  practical enterprise java performance tuningJUDCon Berlin 2010 -  practical enterprise java performance tuning
JUDCon Berlin 2010 - practical enterprise java performance tuning
 
JudCon 2010 Berlin: Practical Enterprise Java Performance Tuning
JudCon 2010 Berlin: Practical Enterprise Java Performance TuningJudCon 2010 Berlin: Practical Enterprise Java Performance Tuning
JudCon 2010 Berlin: Practical Enterprise Java Performance Tuning
 
Ginsbourg.com presentation of open source performance validation
Ginsbourg.com presentation of open source performance validationGinsbourg.com presentation of open source performance validation
Ginsbourg.com presentation of open source performance validation
 

Similar a Requirements Engineering - a tale from the trenches

A Journey from Hexagonal Architecture to Event Sourcing
A Journey from Hexagonal Architecture to Event SourcingA Journey from Hexagonal Architecture to Event Sourcing
A Journey from Hexagonal Architecture to Event SourcingCarlos Buenosvinos
 
Mainframe Application Testing both With and Without Live Data
Mainframe Application Testing both With and Without Live DataMainframe Application Testing both With and Without Live Data
Mainframe Application Testing both With and Without Live DataDevOps for Enterprise Systems
 
Manish_rawal_Background_final3
Manish_rawal_Background_final3Manish_rawal_Background_final3
Manish_rawal_Background_final3Manish Rawal
 
Manish Rawal Solution Architect
Manish Rawal Solution ArchitectManish Rawal Solution Architect
Manish Rawal Solution ArchitectManish Rawal
 
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...Nesma
 
2014-02-13 eForms for Boston Life Sciences Summit
2014-02-13 eForms for Boston Life Sciences Summit2014-02-13 eForms for Boston Life Sciences Summit
2014-02-13 eForms for Boston Life Sciences SummitBob Meier
 
Bob Harnisch & Tim Koomen - Mixing Waterfall, Agile & Outsourcing at Dutch Ra...
Bob Harnisch & Tim Koomen - Mixing Waterfall, Agile & Outsourcing at Dutch Ra...Bob Harnisch & Tim Koomen - Mixing Waterfall, Agile & Outsourcing at Dutch Ra...
Bob Harnisch & Tim Koomen - Mixing Waterfall, Agile & Outsourcing at Dutch Ra...TEST Huddle
 
Functional verification techniques EW16 session
Functional verification techniques  EW16 sessionFunctional verification techniques  EW16 session
Functional verification techniques EW16 sessionSameh El-Ashry
 
agile constructsim overview
agile constructsim overviewagile constructsim overview
agile constructsim overviewsaeed zarif
 
IFS Metrix Service Management: An Overview
IFS Metrix Service Management: An OverviewIFS Metrix Service Management: An Overview
IFS Metrix Service Management: An OverviewIFS
 
Learn how SAP BusinessObjects is used at BEC and some of their challenges res...
Learn how SAP BusinessObjects is used at BEC and some of their challenges res...Learn how SAP BusinessObjects is used at BEC and some of their challenges res...
Learn how SAP BusinessObjects is used at BEC and some of their challenges res...Wiiisdom
 
Workflow Hacks #1 - dots. Tokyo
Workflow Hacks #1 - dots. TokyoWorkflow Hacks #1 - dots. Tokyo
Workflow Hacks #1 - dots. TokyoTaro L. Saito
 
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...Michael Erichsen
 
Automated Shop Floor Management at Hills Industries using RFgen
Automated Shop Floor Management at Hills Industries using RFgenAutomated Shop Floor Management at Hills Industries using RFgen
Automated Shop Floor Management at Hills Industries using RFgenInSync Conference
 
Oracle Application Express as add-on for Google Apps
Oracle Application Express as add-on for Google AppsOracle Application Express as add-on for Google Apps
Oracle Application Express as add-on for Google AppsSergei Martens
 
OOSE Unit 2 PPT.ppt
OOSE Unit 2 PPT.pptOOSE Unit 2 PPT.ppt
OOSE Unit 2 PPT.pptitadmin33
 
SPSRED - BCS, REST ans Subscriptions
SPSRED - BCS, REST ans SubscriptionsSPSRED - BCS, REST ans Subscriptions
SPSRED - BCS, REST ans SubscriptionsChris Givens
 
SQL Server Managing Test Data & Stress Testing January 2011
SQL Server Managing Test Data & Stress Testing January 2011SQL Server Managing Test Data & Stress Testing January 2011
SQL Server Managing Test Data & Stress Testing January 2011Mark Ginnebaugh
 

Similar a Requirements Engineering - a tale from the trenches (20)

A Journey from Hexagonal Architecture to Event Sourcing
A Journey from Hexagonal Architecture to Event SourcingA Journey from Hexagonal Architecture to Event Sourcing
A Journey from Hexagonal Architecture to Event Sourcing
 
Mainframe Application Testing both With and Without Live Data
Mainframe Application Testing both With and Without Live DataMainframe Application Testing both With and Without Live Data
Mainframe Application Testing both With and Without Live Data
 
Manish_rawal_Background_final3
Manish_rawal_Background_final3Manish_rawal_Background_final3
Manish_rawal_Background_final3
 
Manish Rawal Solution Architect
Manish Rawal Solution ArchitectManish Rawal Solution Architect
Manish Rawal Solution Architect
 
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
 
2014-02-13 eForms for Boston Life Sciences Summit
2014-02-13 eForms for Boston Life Sciences Summit2014-02-13 eForms for Boston Life Sciences Summit
2014-02-13 eForms for Boston Life Sciences Summit
 
Bob Harnisch & Tim Koomen - Mixing Waterfall, Agile & Outsourcing at Dutch Ra...
Bob Harnisch & Tim Koomen - Mixing Waterfall, Agile & Outsourcing at Dutch Ra...Bob Harnisch & Tim Koomen - Mixing Waterfall, Agile & Outsourcing at Dutch Ra...
Bob Harnisch & Tim Koomen - Mixing Waterfall, Agile & Outsourcing at Dutch Ra...
 
Discover Your IT Career Path
Discover Your IT Career PathDiscover Your IT Career Path
Discover Your IT Career Path
 
Functional verification techniques EW16 session
Functional verification techniques  EW16 sessionFunctional verification techniques  EW16 session
Functional verification techniques EW16 session
 
agile constructsim overview
agile constructsim overviewagile constructsim overview
agile constructsim overview
 
IFS Metrix Service Management: An Overview
IFS Metrix Service Management: An OverviewIFS Metrix Service Management: An Overview
IFS Metrix Service Management: An Overview
 
Learn how SAP BusinessObjects is used at BEC and some of their challenges res...
Learn how SAP BusinessObjects is used at BEC and some of their challenges res...Learn how SAP BusinessObjects is used at BEC and some of their challenges res...
Learn how SAP BusinessObjects is used at BEC and some of their challenges res...
 
Workflow Hacks #1 - dots. Tokyo
Workflow Hacks #1 - dots. TokyoWorkflow Hacks #1 - dots. Tokyo
Workflow Hacks #1 - dots. Tokyo
 
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
 
Automated Shop Floor Management at Hills Industries using RFgen
Automated Shop Floor Management at Hills Industries using RFgenAutomated Shop Floor Management at Hills Industries using RFgen
Automated Shop Floor Management at Hills Industries using RFgen
 
Oracle Application Express as add-on for Google Apps
Oracle Application Express as add-on for Google AppsOracle Application Express as add-on for Google Apps
Oracle Application Express as add-on for Google Apps
 
OOSE Unit 2 PPT.ppt
OOSE Unit 2 PPT.pptOOSE Unit 2 PPT.ppt
OOSE Unit 2 PPT.ppt
 
SPSRED - BCS, REST ans Subscriptions
SPSRED - BCS, REST ans SubscriptionsSPSRED - BCS, REST ans Subscriptions
SPSRED - BCS, REST ans Subscriptions
 
IT NPI Process
IT NPI ProcessIT NPI Process
IT NPI Process
 
SQL Server Managing Test Data & Stress Testing January 2011
SQL Server Managing Test Data & Stress Testing January 2011SQL Server Managing Test Data & Stress Testing January 2011
SQL Server Managing Test Data & Stress Testing January 2011
 

Más de Eric D. Schabell

OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
Checking the pulse of your cloud native architecture
Checking the pulse of your cloud native architectureChecking the pulse of your cloud native architecture
Checking the pulse of your cloud native architectureEric D. Schabell
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud DataEric D. Schabell
 
Observability For You and Me with OpenTelemetry (with demo)
Observability For You and Me with OpenTelemetry (with demo)Observability For You and Me with OpenTelemetry (with demo)
Observability For You and Me with OpenTelemetry (with demo)Eric D. Schabell
 
3 Pitfalls Everyone Should Avoid with Cloud Native Observability
3 Pitfalls Everyone Should Avoid with Cloud Native Observability3 Pitfalls Everyone Should Avoid with Cloud Native Observability
3 Pitfalls Everyone Should Avoid with Cloud Native ObservabilityEric D. Schabell
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryEric D. Schabell
 
Roadmap to Becoming a CNCF Ambassador
Roadmap to Becoming a CNCF AmbassadorRoadmap to Becoming a CNCF Ambassador
Roadmap to Becoming a CNCF AmbassadorEric D. Schabell
 
Cloud Native Bedtime Stories - Terrifying Execs into Action
Cloud Native Bedtime Stories - Terrifying Execs into ActionCloud Native Bedtime Stories - Terrifying Execs into Action
Cloud Native Bedtime Stories - Terrifying Execs into ActionEric D. Schabell
 
SRECon EU 2023 - Three Phases to Better Observability Outcomes
SRECon EU 2023 - Three Phases to Better Observability OutcomesSRECon EU 2023 - Three Phases to Better Observability Outcomes
SRECon EU 2023 - Three Phases to Better Observability OutcomesEric D. Schabell
 
Optimizing Observability Spend: Metrics
Optimizing Observability Spend: MetricsOptimizing Observability Spend: Metrics
Optimizing Observability Spend: MetricsEric D. Schabell
 
Engaging Your Execs - Telling Great Observability Tales Inspiring Action
Engaging Your Execs - Telling Great Observability Tales Inspiring ActionEngaging Your Execs - Telling Great Observability Tales Inspiring Action
Engaging Your Execs - Telling Great Observability Tales Inspiring ActionEric D. Schabell
 
WTF is SRE - Telling Effective Tales about Production
WTF is SRE - Telling Effective Tales about ProductionWTF is SRE - Telling Effective Tales about Production
WTF is SRE - Telling Effective Tales about ProductionEric D. Schabell
 
Optimizing Observability Spend: Metrics
Optimizing Observability Spend: MetricsOptimizing Observability Spend: Metrics
Optimizing Observability Spend: MetricsEric D. Schabell
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryEric D. Schabell
 
Open Source 101 - Observability For You and Me with OpenTelemetry
Open Source 101 - Observability For You and Me with OpenTelemetryOpen Source 101 - Observability For You and Me with OpenTelemetry
Open Source 101 - Observability For You and Me with OpenTelemetryEric D. Schabell
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud DataEric D. Schabell
 
3 Pitfalls Everyone Should Avoid with Cloud Native Data
3 Pitfalls Everyone Should Avoid with Cloud Native Data3 Pitfalls Everyone Should Avoid with Cloud Native Data
3 Pitfalls Everyone Should Avoid with Cloud Native DataEric D. Schabell
 
DZone webinar - Shift left Observability
DZone webinar - Shift left ObservabilityDZone webinar - Shift left Observability
DZone webinar - Shift left ObservabilityEric D. Schabell
 
Storytelling - How to build and delivery a story
Storytelling - How to build and delivery a storyStorytelling - How to build and delivery a story
Storytelling - How to build and delivery a storyEric D. Schabell
 

Más de Eric D. Schabell (20)

OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
Checking the pulse of your cloud native architecture
Checking the pulse of your cloud native architectureChecking the pulse of your cloud native architecture
Checking the pulse of your cloud native architecture
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data
 
Observability For You and Me with OpenTelemetry (with demo)
Observability For You and Me with OpenTelemetry (with demo)Observability For You and Me with OpenTelemetry (with demo)
Observability For You and Me with OpenTelemetry (with demo)
 
3 Pitfalls Everyone Should Avoid with Cloud Native Observability
3 Pitfalls Everyone Should Avoid with Cloud Native Observability3 Pitfalls Everyone Should Avoid with Cloud Native Observability
3 Pitfalls Everyone Should Avoid with Cloud Native Observability
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
Roadmap to Becoming a CNCF Ambassador
Roadmap to Becoming a CNCF AmbassadorRoadmap to Becoming a CNCF Ambassador
Roadmap to Becoming a CNCF Ambassador
 
Cloud Native Bedtime Stories - Terrifying Execs into Action
Cloud Native Bedtime Stories - Terrifying Execs into ActionCloud Native Bedtime Stories - Terrifying Execs into Action
Cloud Native Bedtime Stories - Terrifying Execs into Action
 
SRECon EU 2023 - Three Phases to Better Observability Outcomes
SRECon EU 2023 - Three Phases to Better Observability OutcomesSRECon EU 2023 - Three Phases to Better Observability Outcomes
SRECon EU 2023 - Three Phases to Better Observability Outcomes
 
Optimizing Observability Spend: Metrics
Optimizing Observability Spend: MetricsOptimizing Observability Spend: Metrics
Optimizing Observability Spend: Metrics
 
Engaging Your Execs - Telling Great Observability Tales Inspiring Action
Engaging Your Execs - Telling Great Observability Tales Inspiring ActionEngaging Your Execs - Telling Great Observability Tales Inspiring Action
Engaging Your Execs - Telling Great Observability Tales Inspiring Action
 
WTF is SRE - Telling Effective Tales about Production
WTF is SRE - Telling Effective Tales about ProductionWTF is SRE - Telling Effective Tales about Production
WTF is SRE - Telling Effective Tales about Production
 
Optimizing Observability Spend: Metrics
Optimizing Observability Spend: MetricsOptimizing Observability Spend: Metrics
Optimizing Observability Spend: Metrics
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
Open Source 101 - Observability For You and Me with OpenTelemetry
Open Source 101 - Observability For You and Me with OpenTelemetryOpen Source 101 - Observability For You and Me with OpenTelemetry
Open Source 101 - Observability For You and Me with OpenTelemetry
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data
 
3 Pitfalls Everyone Should Avoid with Cloud Native Data
3 Pitfalls Everyone Should Avoid with Cloud Native Data3 Pitfalls Everyone Should Avoid with Cloud Native Data
3 Pitfalls Everyone Should Avoid with Cloud Native Data
 
DZone webinar - Shift left Observability
DZone webinar - Shift left ObservabilityDZone webinar - Shift left Observability
DZone webinar - Shift left Observability
 
Storytelling - How to build and delivery a story
Storytelling - How to build and delivery a storyStorytelling - How to build and delivery a story
Storytelling - How to build and delivery a story
 
Shift left Observability
Shift left ObservabilityShift left Observability
Shift left Observability
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 

Último (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 

Requirements Engineering - a tale from the trenches

  • 1. 1 Requirements Engineering: Report from the trenches Eric D. Schabell JBoss Technology Evangelist Radboud University Nijmegen, June 2013
  • 2. 2 Agenda • A perfect world • Reality intrudes • Real life example: STP Aanvragen – Introduction – Life in the trenches – Example: web service – Example: jBPM process • Building on legacy: STP Contract Rekeningen (Deposito's) – Use cases and legacy problems • Towards the future: STP Betalen – Use cases, getting better?
  • 3. 3 Up to now... The world is a pretty place: • Business rules • Use cases • Requirements • Workshops • etc...
  • 4. 4 How we like(d) to work Overview of the work flow (iterations): • Business workshops (IA) • Functional designs (FO), use cases -------------------------------------------------------------- • Use cases, more detailed (requirements) • Technical designs (TO) • Unit test + code
  • 5. 5 Agenda • A perfect world • Reality intrudes • Real life example: STP Aanvragen – Introduction – Life in the trenches – Example: web service – Example: jBPM process • Building on legacy: STP Contract Rekeningen (Deposito's) – Use cases and legacy problems • Towards the future: STP Betalen – Use cases, getting better?
  • 6. 6 Reality is a wake up call Sometimes there are other factors: • Business needs • Market changes (Crisis?) • Lack of personnel (quality / quantity) • Technical challenges • Planning problems
  • 7. 7 Agenda • A perfect world • Reality intrudes • Real life example: STP Aanvragen – Introduction – Life in the trenches – Example: web service – Example: jBPM process • Building on legacy: STP Contract Rekeningen (Deposito's) – Use cases and legacy problems • Towards the future: STP Betalen – Use cases, getting better?
  • 8. 8 All bets are off Can you be flexible in this environment? • Business workshops (4x) • FO is 92 page PowerPoint presentation • Use cases done by developers • Coding (minimal unit tests, no mock services framework) • TO done after or iterative during coding
  • 10. 10 What is going on: technically? A very fast time to market: • Challenging technical environment – JBoss jBPM – JBoss web services – Back-ends: KIS and SAS mainframe – Uitval application
  • 11. 11 What is going on: business? A very fast time to market: • Four new savings products – via internet channel – request processing max 2 days (STP degree) – Straight Through Processing (STP Aanvragen) – customer insisting on unrealistic deadlines
  • 12. 12 What is going on: process? A very fast time to market: • All banking issues and requirements remain – privacy – laws – security – validation – data access / manipulation
  • 13. 13 Life in the trenches In the trenches: • Receive task to implement functionality • Check FO (remember == ppt) • Extract use cases for task (discuss with IA) • Create TO • Write unit tests • Code implementation • Test it!
  • 14. 14 Example: web service Postcode validation: • Receive task, postcode validation • Check FO (remember == ppt), slide 24 • Extract use cases for task (discuss with IA), see example • Create TO, see SIC • Write unit tests, see SIC • Code implementation • Test it!
  • 15. 15 Functional Design (FO): slide 24 SNS XXXXXXXXXX Verplichte tegenrekening Internetbankieren of TIN code of softlogin SNS XXXXXXXXXXX Verplichte tegenrekening Internetbankieren of TIN code of softlogin SNS XXXXXXXXXX Verplichte tegenrekening Internetbankieren of TIN code of softlogin SNS XXXXXXXXXXXX Internetbankieren of TIN code of softlogin ...and the rest... “...postcodevalidatie: als postcode niet in ons table voorkomt dan uitval.”
  • 16. 16 Service Interface Contract Sequence diagram: sd Sequence am Cal ling Applicat ion / Service Betrokkenpartij Service KisContactAdapter KIS 1: findPostcode(PostcodeValidationSO) : PostcodeValidationSO 2: val idate(Po stcodeValidationSO) :PostcodeValidationSO 3: findAddress CityByPo stcodeHou seNum berAdapter(Postcode ValidationSO) :PostcodeValidationSO 4: SnsPostcode.getAddress Details(postcode , houseNumb er) :Jk isResult
  • 17. 17 Java anyone? /** {@inheritDoc} */ public PostcodeValidationSO findPostcode(PostcodeValidationSO postcodeSO) throws BetrokkenPartijServiceException { PostcodeValidationSO returnPostcodeValidationSO = new PostcodeValidationSO(); logStart(postcodeSO); try { validate(postcodeSO); } catch (ServiceValidationException e) { throw createBetrokkenPartijServiceException(e, Originator.SERVICES); } try { // call to KIS for postcode lookup. returnPostcodeValidationSO = KISContactAdapter.getInstance().findAddressCityByPostcodeHouseNumber(postcodeSO); if (returnPostcodeValidationSO == null || StringUtils.isEmpty(returnPostcodeValidationSO.address) || StringUtils.isEmpty(returnPostcodeValidationSO.city)) { // found invalid postcode, setup for returning an empty SO. returnPostcodeValidationSO.address = ""; returnPostcodeValidationSO.city = ""; } } catch (ServiceException e) { throw createBetrokkenPartijServiceException(e, Originator.KIS); } finally { // Do some logging at the end of the call. logEnd(returnPostcodeValidationSO); } return returnPostcodeValidationSO; }
  • 18. 18 Unit tests /** * Test for an invalid postcode. * Note: there is no backend mock for services, thus is integration test. */ public void testFindPostcodeInvalid() { // fill our invalid postcode service request object. postcodeSO.postcode = invalidPostcode; postcodeSO.houseNumber = invalidHouseNumber; try { PostcodeValidationSO so = bp.findPostcode(postcodeSO); // should be empty SO attributes. assertEquals(so.address, ""); assertEquals(so.city, ""); } catch (ServiceException e) { e.printStackTrace(); } }
  • 19. 19 Example: jBPM process Aanmaak product: • Receive task • Check FO (remember == ppt), outside scope • Extract use cases for task (discuss with IA), outside scope • Create TO, received from lead developer, iterative updates • Write unit tests, ha ha, that's a good one! • Code implementation • Test it, SOAPUI
  • 21. 21 Agenda • A perfect world • Reality intrudes • Real life example: STP Aanvragen – Introduction – Life in the trenches – Example: web service – Example: jBPM process • Building on legacy: STP Contract Rekeningen (Deposito's) – Use cases and legacy problems • Towards the future: STP Betalen – Use cases, getting better?
  • 22. 22 How we (now) like to work Overview of the work flow (iterations): • Business workshops (IA) • Functional designs (FO), set UC's & UCM -------------------------------------------------------------- • SW Architecture Document (SAD) • Use Case Realizations, more detailed (requirements). • Technical designs (SIC, components) • Unit test + code
  • 23. 23 STP Contractrekening use cases Some facts: • Actually have UC's! • Very technical • Never (still to this day) seen non-concept versions! • Legacy process decisions haunt implementation: – polling / scheduler growth (pre-processing, AI, Documentbewaking, saldo) – business logic in process layer, expanded with more... – reference project (jBPM) never applied == political / time pressures
  • 26. 26 Agenda • A perfect world • Reality intrudes • Real life example: STP Aanvragen – Introduction – Life in the trenches – Example: web service – Example: jBPM process • Building on legacy: STP Contract Rekeningen (Deposito's) – Use cases and legacy problems • Towards the future: STP Betalen – Use cases, getting better?
  • 27. 27 STP Betalen UCM / UC's Some facts: • 1x UCM, 10x UC's • 65 findings in team review (one team member): – object model in UCM! – 'boolean' appears 2x in UC's – instructs where data elements need to go – describes exact contents of data element to be stored – details system components as actors! – 2x technically impossible to implement process steps
  • 28. 28 STP Betalen optimized General product process: • Provides cost effective product platform • written May 2009, planned 2010
  • 29. 29 SNS Bank STP final report Current status: • UC's != final, business redefined requirements ½ way • Credit crisis caused some problems end 2009 • Published chapters (2x) and Silver Award! – follow on http://www.schabell.org (jBPM tag) – http://www.twitter.com/ericschabell