---
# System prepended metadata

title: Samenvatting Analyse 3
tags: [' ANA3', HoGent]

---

---
tags: HoGent, ANA3
---

# Samenvatting Analyse 3
[TOC]


<br><br><br><hr/><br><br><br>



## Inleiding

- business-IT-alignment
    - BA





<br><br><br><hr/><br><br><br>


## Elicitatietechnieken

![](https://i.imgur.com/5YBeWpC.png)


### Processen ontdekken
1. Opzetten van een **`project`**
    - team
3. **`Info verzamelen`**
    - goed begrip van proces
    - <mark>*elicitatietechnieken*</mark>
5. Begeleiden van de **`modelleertaak`**
    - procesmodel
    - modelleermethode
7. **`Kwaliteitsborging`**
    - kwaliteitscriteria
    - vertrouwen voor stakeholders

#### Uitdagingen
> examenvraag (?)
1. Gefragmenteerde proceskennis
2. Domein-experten denken op instance-niveau
    - bv. "elk proces is verschillend, er zijn zoveel uitzonderingen ..."
3. Kennis over procesmodellering is zeldzaam
    - diagrammen zijn niche, domein-experts snappen deze niet


### Expertise van procesanalysten
1. Problemen begrijpen
    - kennis van probleemdomein
    - kennis van organisatie
2. Problemen oplossen
    - Identificatie `procestriggers`
    - Formuleren en testen van hypotheses
    - Doelstellingen maken
    - `Top-down strategie` obv doelstellingen
3. Modelleerskills
    - structuur, layout
    - labeling
    - expliciete start en eind
    - Gepaste `granulariteit` en `decompositie` 
        - adhv subprocessen

### Elicitatietechnieken
![](https://i.imgur.com/ml2hLLv.png)


#### Creatieve technieken

##### brainstormen
- nadelen: moderator nodig, sommige deelnemers te dominant
- alternatieven:
    - brainwriting 6-3-5 <small>(6 people write down 3 ideas in 5 minutes)</small>
    - GPS methode
        - > examenvraag (?)
        - 6 invalshoeken rond 1 centrale vraag
        - brainstorm, selectie van ideeën, uitwerken van ideeën
        - allemaal rond het GPS bord met de 6 segmenten
        - post its, na 10 minuten bord draaien
        - stemmen op korte en lange termijn ideeën

##### Invalshoek veranderen: 6 denkhoeden van De Bono
- :large_blue_circle:  leider, dirigent
- :black_circle:  negatief 
- :yellow_heart:  positief 
- :red_circle:  emotioneel 
- :white_large_square:  objectief en analytisch
- :green_book:  creatief en energiek
    
##### analogieën gebruiken
stimuleert de creativiteit


--- 
#### Uitvraagtechnieken
##### Interview
- gestructureerd vs. ongestructureerd
- combinatie open en gesloten vragen
- `LSD` 
    - **L**uisteren
        - Empathie
        - Analyse
        - Synthese
    - **S**amenvatten
    - **D**oorvragen
- nadeel: neemt veel tijd in beslag
    - door feedback loop 
        - interview -> documentatie -> verificatie -> validatie -> interview

##### Enquête
```diff
+ veel info in korte tijd
+ snelle verwerking
+ kan anoniem dus geen remming
- vragen kunnen verkeerd worden geinterpreteerd
- mist de niet verbale communicatie
```
--- 


#### Observatietechnieken
##### Veldobservatie
- Analist bekijkt hoe gebruikers werken
- Ofwel geen interactie, ofwel legt gebruiker uit wat hij doet.

##### Werkstage
- Analist voert zelf het werk uit
```diff
- tijdrovend
+ diepgaande kennis
```


--- 


#### Documentatie-geörienteerde technieken
##### Systeemarcheologie
##### Lezen vanuit specifiek oogpunt
- documenten wijzen naar rollen, activiteiten ...
(bvb organigrammen, rapporten, policies, handboeken, formulieren ...)

##### Hergebruik van requirements
Eerder uitgevoerde analyses

--- 

#### Ondersteunende technieken
##### Mindmaps
##### Workshops
##### CRC kaarten
- **C**lass **R**esponsability **C**ollaboration
- Business objecten op kaarten geschreven
- deelnemers voegen eig toe
- zo processen in kaart brengen
- $\approx$ *een dummy DCD maken*

##### Audio en video
bij bvb veldobservatie, interview, workshop...
```diff
+ handig for future reference
- deelnemers gaan zich anders gedragen
```
##### Use cases 
-  elementaire bedrijfsprocessen: 
    -  1 persoon
    -  1 tijdsspanne
    -  1 plaats
- brengt structuur

##### Prototypes

--- 

### Techniekkeuze

Aspecten:
- menselijk
    - comm. vaardigheden
    - ervaring
    - bewustzijn van requirements
- Organisatorisch
    - beschikbaarheid (tijd)
    - budget en doorlooptijd
    - creativiteitstechnieken al moeilijker bij fixed price
    - bestaand systeem -> documentatiegebaseerde technieken
- vakinhoudelijk
    - welk detailniveau?
    - ervaring van de analist
- bedrijfscultuur
    - > examenvraag (?) 
    - open cultuur: workshops
    - hiërarchische cultuur: anonieme enquêtes







<br><br><br><hr/><br><br><br>










## Documenteren
![](https://i.imgur.com/5YBeWpC.png)

### Customer journey
- Visualiseert ervaring van de klant van begin tot einde
    - doelen
    - fases
    - activiteiten
    - contactpunten
- DOEL: inzicht in gedrag van klant
    - problemen
    - opportuniteiten
- aligneert de organisatie

##### Stappenplan
1. persona's
2. fases
    - elk met doel en beschrijving
3. contactpunten
4. gevoelens
5. belangrijkste acties
6. zoek verbeteringen

#### Customer journey map
bvb

![](https://i.imgur.com/mLd18uo.png)


### User stories 
- korte beschrijving van wat user wil
    - 1 user
- vorm
    - actieve taal
    - zonder jargon
    - kort en bondig (moet passen op post-it)
- PM is de verantwoordelijke
- "slice the cake": 
    - elke laag moet voorkomen per story
- story is gesloten: eindigt met user goal



##### Structuur
```html
As a <role> I want <goal> so that <benefit>
```


##### **I.N.V.E.S.T.**
- Onafhankelijk (Independent)
- Onderhandelbaar (Negotiable)
- Waardevol voor gebruiker en opdrachtgever (Valuable)
- Schatbaar (Estimatable)
- Klein (Small)
- Testbaar (Testable)

##### Acceptatiecriteria
Vaak op achterkant van story
```html
Given <context> when <action> then <outcome>
```
Kan belangrijk zijn voor testing

#### User story map
bvb
<img src="https://i.imgur.com/k9WY1pd.png" height="350px">

$\rightarrow$ volgorde van het verhaal
$\downarrow$ afnemende prioriteit
horizontale slices: releases

### Use Case Slices
> hier use cases "2.0", dus niet zoals in ANA2

<img src="https://i.imgur.com/ZSCvYQ1.png" height="350px">


##### Stappenplan
1. beschrijf actoren + use cases
1. verdeel use case in use case slices
1. voorbereiden use case slice
1. analyseren use case slice
1. implementeer software (voor een slice)
1. test het systeem (voor een slice)
1. test het systeem in zijn geheel
1. inspecteer en wijzig de use cases

<br>

### Rol van de product owner

{%youtube 502ILHjX9EE %}

- WIP limit
    - limiteren van het aantal stories dat wordt opgenomen
- managen van product backlog
    - "nee" kunnen zeggen
    - prioritiseren op value en grootte
        - hiervoor estimaten
- communicatie is ESSENTIEEL
- balanceren tussen
    - reactief (bug fixing etc)
    - proactief (nieuwe features)
- "Build the right thing"
<img src="https://i.imgur.com/T3jLrrG.png" height="150px">
- forecasten wanneer welke features af zijn

![](https://i.imgur.com/2HpZJEc.jpg)




<br><br><br><hr/><br><br><br>









## Wat is een proces?

> 1. Definitie van een proces
> 2. BPM (Waarom? Hoe?)
> 3. Verklaring van enkele begrippen
> 4. End-to-End
> 5. Starten met procesverbetering

Business Process Management (BPM) vs. Business Analyse

|BPM|BA|
|--|--|--|
|gericht op organisatie|gericht op IT project|
|voortraject van IT projecten| vertrekt van resultaat BPM|


### Definitie van een proces

_"De transformatie van een **input** naar een **output** met als doel **waardecreatie** voor **stakeholders**"_

(de input is meestal de output van een ander proces ($\approx$ *daisy chain*))

### BPM (Waarom? Hoe?)

> “The first rule of any technology used in a business is that automation applied to an efficient operation will magnify the efficiency. The second is that automation applied to an inefficient operation will magnify the inefficiency.” -  Bill Gates

<img src="https://i.imgur.com/7evc2Ip.png" height="200px">

#### CPI & BPR
Continuous Process Improvement & Business Process Re-Engineering

|CPI|BPR|
|--|--|
| Stelt processtructuur *niet* in vraag|  Stelt de fundamentele veronderstellingen en principes van de huidige processtructuur in vraag.|
| Identificeert problemen en lost ze één voor één en stap voor stap op|Gericht op het realiseren van een doorbraak (bvb door taken te schrappen)|


##### Case Study Ford
doel: goedkoper, sneller, beter

|As-is|To-be|
|:--:|:--:|
|<img src="https://i.imgur.com/d1DVObF.png" height="250px">|<img src="https://i.imgur.com/XkhkN2G.png" width="300px">|

- situatie as-is
    - veel personeel
    - doorlooptijd voor facturen: "weken"
    - automatisatie zou 20% tijdswinst brengen
- situatie to-be
    - 75% minder personeel
    - makkelijkere controles:
        - materiaal
        - financiën
    - snellere behandeltijd

_"Why automate something if we shouldn't do it in the first place"_



### Verklaring van enkele begrippen
<img src="https://i.imgur.com/WnnJ5T9.png" height="250px">
<br><br><br>

|Term|Uitleg|
|--|--|
|Input|Iets dat getransformeerd, verbruikt, verwerkt wordt.|
|Output|Iets dat geproduceerd wordt.|
|Beheersing / Besturing|Hoe en wanneer een proces/activiteit plaatsvindt; wordt niet verwerkt of verbruikt.|
|Middelen|Personen, systemen, tools, uitrusting, activa,…; worden niet verwerkt of verbruikt $\rightarrow$ worden *gebruikt*|



### End-to-End
Een proces is end-to-end
- begint met klantbehoefte
- eindigt met klant-doel

#### Proces vs functie
![](https://i.imgur.com/n4IUf7I.png)



<table>
<tr><th>Proces</th><th>Functie/Afdeling</th></tr>
<tr><td colspan="2" style="text-align: center">Verzameling van activiteiten </td></tr>
<tr>
<td>Gericht op het bereiken van één of meerdere outputs</td>
<td> Gegroepeerd volgens competentie</td>
</tr>
</table>
<br>


#### Belang van processen
Processen:
- hart van de organisatie
- loopt vaak fout bij transfer 

Belangrijke dimensies in organisatie:
Strategisch|Operationeel 
--|--
$\Rightarrow$ `effectiviteit`|$\Rightarrow$ `efficiëntie`
_"do the right thing"_| _"do the thing right"_

##### Strategische dimensie
Verbeteren van vermogen om waarde te creëren
- Kosten-baten afwegen
- Identificeren van processen 
    - met toegevoegde waarde : vaak de `primaire processen`
        - beantwoorden aan stakeholder-behoeften
        - hebben een doel
        - bieden meerwaarde
        - van kritisch belang!
    - zonder toegevoegde waarde
        - afvoeren

#### Procesmodel
= visueel ordenen van de high-level sleutelprocessen 

1. **`Primaire processen`**
    - aka `core-business` processen
    - om te voldoen aan de stakeholder/klant-behoeften
2. **`Ondersteunende processen`**
    - aka support business processen
    - bvb ICT in niet ICT-bedrijf, boekhouding, HR, support, ...
3. **`Sturende processen`**
    - aka management processen
    - > _Processen die nodig zijn om de organisatie (-eenheid) te besturen teneinde te voldoen aan de doelstellingen en aan de wet- en regelgeving._


#### Problemen bij processen 

- Functioneel georganiseerde organisaties
    - Functie/afdeling = verticaal
    - Proces = horizontaal
- Dalende doeltreffendheid door groei
    - groei $\rightarrow$ specialisatie $\rightarrow$ verliest zicht op einddoel
- Gewoontevorming
    - "don't ask questions"

#### Processen in verschillende organisatietypes
![](https://i.imgur.com/69UAufG.png)

- functioneel georienteerd ("verticaal")
    - hiërarchisch en gecentraliseerde bedrijven
    - opdelen in afdelingen
    - expertise delen over het hele bedrijf
    - *gericht op efficiëntie maar niet op effectviteit!*
- procesgeorienteerd ("horizontaal")
    - gedecentraliseerde organisaties
    - units rond 1 business domein
    - communicatie is veel beter tussen diensten
    - iedereen is op de hoogte van alle aspecten
    - nadelen: vaak weinig backup-personeel, geen 

Administratieve vereenvoudiging neemt vaak de verticale barrières weg!

### Starten met procesverbetering

#### Kritische of Sleutelprocessen
- ifv de strategie
- dragen bij aan stakeholderbehoeften 
- sleutel tot succes & continuïteit
- worden bepaald obv `kritische succesfactoren`
- vertrekpunt: `SWOT`
- succesfactoren, bvb:
    - betere kostenstructuur
    - groei
    - klanttevredenheid
    - imago
    - competentie
    - communicatie
    - ...



<br><br><br><hr/><br><br><br>




## Business Process Management
en
## Business Process Management (deel 2)

### Modelleren
- reduceren van complexiteit
- communicatiemiddel met boodschap

![](https://i.imgur.com/hNJzdqT.png)

#### BPEL
= business process execution language

#### BPMN
= business process modeling notation

- stappenplan:
1. doel
2. context
3. aantal zwembaden en -lanen
4. begin- en eindevenementen per zwembad
5. BPMN binnen elk zwembad
6. message flows tussen de zwembaden
7. artefacten

4 basis-elementen:
![](https://i.imgur.com/Tp4kMqZ.png)

Overzicht:
> click to enlarge 
>
[![](https://i.imgur.com/egJO3hu.png)](https://i.imgur.com/egJO3hu.png)


##### Organisatie-elementen
1. Resource
    - menselijke actor of toestel
    - nodig om activiteit uit te voeren
3. Resource-klasse
    - Verz. van resources
    - gemeensch karakteristieken
    - bvb
        - `rol` = kwalificatie
        - `groep` = klassificatie
    - dit zijn de zwembaden en zwembanen in BPMN!

##### Activiteiten (tasks)
- hebben duurtijd
- verbruiken middelen
- uitgevoerd door een rol
- altijd getriggerd door ofwel:
    - vorige activiteit
    - event
- genereert > 1 intermediare output
- leidt tot een status

vorm:
```html         
<infinitief> ... <substantief> ...
```


##### stromen (flows)

1. Sequentieel $\rightarrow$
    - enkel binnen zwembad
2. Boodschappenstroom - -$\triangleright$
    - enkel over zwembaden heen
3. associatie $\cdots\cdots$>
    - voor artefacten en informatie


####

<br><br><br><hr/><br><br><br>










## Agile werken: XP

### Agile manifesto
![](https://i.imgur.com/zThRpKs.png)


### Extreme programming (XP)
> examenvraag 
> 
4 waarden:
1. communicatie
2. eenvoud
3. feedback
4. moed

4 basisactiviteiten:
1. ontwerpen
2. testen
3. luisteren
4. programmeren


respons op common issues bij software dev:
risico's | XP oplossing
--|--
schedule slips |  korte release cycle, korte taken van max 3 mandagen
project canceled |  prioritiseren
system goes sour |  geautomatiseerde testen (meerdere malen per dag)
defect rate |  `pair programming`
business misunderstood |  de klant is volwaardig teamlid: feedback!
business changes |  flexibiliteit door korte release
staff turnover |  vraag programmeurs om verantw op te nemen: moed


Beloften van XP:
- aan programmeurs
    - werk is belangrijk
    - je werkt niet alleen 
    - je hebt verantwoordelijkheid
- aan managers
    - snel resultaat
    - wijzigingen zonder extra €


niet geschikt voor 
- zeer grote projecten
- mainframe
- trage feedback
- testen kost veel 
- geen ruimte

#### HOE?

![](https://i.imgur.com/viB7u49.png)

> examenvraag
![](https://i.imgur.com/8AXX3KV.png)


##### Planning
mbv planning game: ruw plan met korte releases.
Gebruiker is deel van het team

##### Short releases
Zo klein mogelijk met maximum rendement
- belangrijkste stories
- CI (continuous integration)
- testen (minimale foutenlast)
- eenvoud

##### Metafoor
> ja da is super vaag he...

- snelle feedback
- communicatie


##### Eenvoudig ontwerp
- alle testen
- geen duplicatie (DRY)
- intenties
- simpliciteit (less is more)
- refactoring!


##### Testen (+ TDD)
- geautomatiseerde testen
- pair programming!


##### Refactoring

- MUST!
- collective ownership
- kan foutloos door testen


##### Pair programming
- piloot-copiloot

##### Collective ownership
- meerwaarde 
- kan door standaarden
- verantwoordelijkheid
- testen
- CI

##### Permanente integratie (CI)
- CI
##### Sustainable pace: 40 uren week
##### On-site gebruiker
- feedback!
##### Standaarden
- individualisme opzij zetten 
- kan door team-sfeer in XP

#### Steering
- iteratie
- recovery
- new story
- herplanning




<br><br><br><hr/><br><br><br>









## Testen

testen op:
- requirements
- bugs
- volledigheid
- correctheid

Testen geeft ook inzicht in de kwaliteit en risico's

### Testen als vak apart
Een tester moet
- goed oordeel kunnen geven over kwaliteit van software
- tegevoegde waarde kunnen aantonen in de levenscyclus van IT systemen

_Testen is de missing link tussen IT en business_
- risk based testen 
    - testen beperkt risicos en verhoogt flexibiliteit
    - controlemaatregelen
- mensen, geld en tijd managen
- software accepteren of rejecten

### Wanneer testen?
- in elke ontwikkelfase
- 30-70% van de totale effort
- hangt af van budget
- hangt af van risico's


#### Schade aan klanten en users
prioriteitenlijst
1. veiligheid
2. primaire businessfunctie
3. aantasting van firmware
4. primaire businessfunctie (met redundantie)
5. goeie werking van businesspakket
6. goeie werking van particulier pakket
7. ...


#### Schade aan developer of dev-bedrijf

1. Financieel
    - blessures
    - retours
    - onderhoud
3. Niet-kwantitatief
    - imago en reputatie: verkoopscijfers
        - toekomstig
        - huidig

<br><br>
### De 10 testprincipes
> examenvraag
#### Focus op het **resultaat**
- testen is meer dan enkel bijdrage aan software kwaliteit
- businessresultaat is het belangrijkst

verificatie|validatie
--|--
build the thing right|build the right thing


#### Bouw aan **vertrouwen**
- intensief testen = vertrouwen dat systeem werkt
- door gelimiteerd budget: risk based testing (prioriteiten stellen)
- betrek alle stakeholders
- geen problemen maskeren
    - vermijd technical debt

#### Neem **verantwoordelijkheid**
- juiste testen
- rekening houden met risico's 
- test coverage
- betrokken bij `IT lifecycle`
    - stel ontwerp in vraag 
    - stel kwaliteit in vraag 
    - stel configuratie in vraag
    - ...
> _Tester geeft aan waar de knelpunten zitten_

#### **Beheers het testvak**
- kennis!
- gesprekspartner
- bruggen (zie volgende)

#### Sla **bruggen**
- changing requirements
- inleving als stakeholder
    - kan dev uitleggen hoe stakeholders kijken
    - begrijpt de dev voldoende om samen te analyseren

#### Test **gefaseerd**
- logische volgorde
- duidelijke project planning
- kritieke succes factoren (KSF)
- Stap-voor-stap wordt duidelijk of het systeem aan de verwachtingen voldoet
- er zijn entry- en exitcriteria

#### Faciliteer de gehele **IT-lifecyle**

##### 1. Ontwerpfase
- testbaarheid
- duidelijkheid naar resultaat

##### 2. Ontwikkelfase
- vroege foutendetectie
- moduletesten


##### 3. Beheerfase
- delen van testware
- overgang projectfase naar beheerfase

#### Geef **overzicht en inzicht**
- heel veel testen, keep it clean


#### Zorg voor **herbruikbaarheid**
- automatische tests?

#### Bedenk : testen is **leuk**!
- belangrijke verantwoordelijkheid
- toegevoegde waarde
- flexibel en creatief
- specialisatie mogelijk
    - automatisering
    - performance
    - security
    - ...



--- 

### Soorten testen

<br><br><br><hr/><br><br><br>










<style>
body {
    counter-reset: h2
}

h2 {
    counter-reset: h3
}

h3 {
    counter-reset: h4
}

h4 {
    counter-reset: h5
}

h2:before {
    counter-increment: h2;
    content: counter(h2) ". "
}

h3:before {
    counter-increment: h3;
    content: counter(h2) "." counter(h3) ". "
}

h4:before {
    counter-increment: h4;
    content: counter(h2) "." counter(h3) "." counter(h4) ". "
}

h5:before {
    counter-increment: h5;
    content: "> ";
}
</style>