agile testing days 2015 - pimp my scrum – documentation fun for agile teams
TRANSCRIPT
PIMP MY SCRUMDOCUMENTATION FUN FOR SCRUM TEAMS
11.11.2015 ANIS BEN HAMIDENE
ANDREAS FALK
02.05.20232
Our Mission: Fixed Quality for moving Targets
Agile Quality Engineering
PIMP MY SCRUMDOCUMENTATION FUN FOR SCRUM TEAMS
WHAT?
HOW?
max. 30 days
Every 24 hours
Scrum Big Picture
Documentation
Test
RequirementsTool
s
Cross functional
Team
02.05.20236
What is Agile?
http://agilemanifesto.org/
Individuals and interactions
over processes and tools
Working software over
Customer collaboration over contract negotiation
Responding to change over over following a plan
comprehensive documentation
02.05.20237
What do you think of when you hear
“Documentation”?
Boring ?Too much of it?
Nobody needs it !
WHY?REASONS FOR FAILING DOCUMENTATION
Unclear Goals
• What shall it be used for?• Feature documentation• Technical documentation• Requirements• User documentation• Support• …
02.05.202311
Business experts
Developer TesterArchitect
Requirement Management Tool
ModelsDeliverables
Source Code
Test scripts
Bug reports
Documentation
Test Specification
Different formats and repositories
02.05.202312
Unclear Roles & Responsabilities
HOW?TIPS FOR SUSTAINABLE DOCUMENTATION
02.05.202314
Tips for sustainable documentation
• Define the goals for the documentation and share them
• Adopt agile principles
• YAGNI
• Inspect and Adapt
• Fix quality
• Definition Of Done
• Face 2 Face communication
02.05.202315
Tips for sustainable documentation
• Build a central glossary for domain terms!
Product OwnerBusiness experts
DeveloperArchitects
Tester
Single sourceof truth
User should be able to add DVDs to a
shopping cart
Register as “user1” Go to “/catalog/search” Enter “Ice Age” Click “Search” Click “Add to Cart” Click “View Cart” Verify “Cart” contains “Ice Age”
Customer customer = new Customer(); Order order = new Order(customer); newOrder.AddDVD( Catalog.Find(“Ice Age”) );
Make the Documentation accessible and centralized
Seperate Requirement Specifications from Feature Documentation
User Story
Change
Short living
Goal: Planing & Doing
Feature Specification
Final state
Long living
Goal: Documentation & Validation D
avid
Eva
ns –
effe
ctiv
e U
ser S
torie
s
Business Goals
Scope (Product Backlog, User Stories)
Specification with examples
Executable specificati
on Living documentation
1
23
4
5
Key Example
s
Try Specification By Example
Try Specification By Example
Integrate Documentation Tasks into Lifecycle
SpecificationWorkshop
Impact Analysis
Observe& Learn
Go Live!
Review
Sprint Planning
SessionBasedTesting
ContinuousValidation
ProductBacklog
Living Documentation
BusinessExpert
ProductOwner
Enduser
Tester
Developer
Automatetest
examples
Refine
Develop
Finalize
Story
Think about BDD Tools• Different format• Table based• Text based• Script based• etc.
• Known Tools• testIT LivingDoc• FitNesse (fitnesse.org)• JBehave (jbehave.org)• Robot Framework (code.google.com/p/robotframework)• Cucumber (cukes.info)• Concordion (concordion.org)
02.05.202322
02.05.2023 LivingDoc23
GreenPepper / LivingDoc History
GP Version 1.0 GP Version 1.1… GP Version 3.0 LivingDoc V.1.0
2006 Initial Release Greenpepper
Server Confluence Plugin
2007 Eclipse Plugin Maven Plugin Improved
documentation
2015 „GreenPepper 4.0“ Confluence 5.x plugin Eclipse 4.x plugin
https://github.com/testIT-LivingDoc/testit-livingdoc
2012 Last GreenPepper
release Confluence 4.x
plugin
02.05.2023 LivingDoc24
LivingDoc – Architecture and Components
Remote AgentServerCore
02.05.202325
LivingDoc – Executable specifications using Confluence
LivingDoc
LivingDoc Interpreters
Fixture code (Java)
System under Test
Specification (Confluence WIKI + LivingDoc Plugin)
+
+
+ Executable Specification
02.05.2023 LivingDoc26
LivingDoc – Developing fixtures with Eclipse 4 Plugin
02.05.2023 LivingDoc27
LivingDoc – Workflow (1)
1. Create specification (Product Owner, Tester, Developer)
02.05.2023 LivingDoc28
LivingDoc – Workflow (2)
public class GreeterFixture {
private String message;
public String greeting () { return "hello " + this.message; }
public void setMessage(String message) { this.message = message; }}
2. Implement Fixture Code (Developer)
02.05.2023 LivingDoc29
LivingDoc – Workflow (3)
3. Execute specification (Product Owner, Tester)
HELLO WORLD DEMO
02.05.2023 LivingDoc31
LivingDoc – Evolve a “Real World” living documentation
Reference documentation (Getting started, guides, …)
TIME TRACKER DEMO
UI TEST DEMO
02.05.2023 LivingDoc34
LivingDoc – Stay Tuned for Release (1)
Soon to be released on https://github.com/testIT-LivingDoc/testit-livingdoc
02.05.2023 LivingDoc35
LivingDoc – Stay Tuned for Release (2)
Stay tuned on http://blog.novatec-gmbh.deor follow @NT_AQE
GO AHEAD!
CREATE A LIVING DOCUMENTATION
WITH
THANK YOU FOR YOUR ATTENTIONWWW.NOVATEC-GMBH.DE/EN
aqe.novatec-gmbh.de
@NT_AQE
blog.novatec-gmbh.de