VI STARTER MED AT MINGLE!
men med regler:
Gå igang med det samme!

(må gerne smide overtøjet først)
Find eller dan en gruppe og snak
med om hvad I kender til agile
Hvis gruppen bliver flere end 

4 personer, så split gruppen i to
3 AGILE METODER, ÉN AFTEN
Cafémøde hos BestBrains, 24. februar 2015

af Nino Stokbro Ag
PROGRAM; TOUR DE FORCE
Det agile manifesto
eXtreme Programming
Scrum Framework
Kanban Software Development
Spørg endelig undervejs!
AGILE MANIFESTO

4 VÆRDISÆTNINGER
Individuals and interactions 

over processes and tools
Working software 

over comprehensive documentation
Customer collaboration 

over contract negotiation
Responding to change 

over following a plan
7. Working software is the primary measure of
progress.
8. Agile processes promote sustainable
development. 

The sponsors, developers, and users should be
able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence 

and good design enhances agility.
10. Simplicity--the art of maximizing the amount 

of work not done--is essential.
11. The best architectures, requirements, and
designs emerge from self-organizing teams.
12. At regular intervals, the team reflects on how 

to become more effective, then tunes and adjusts 

its behavior accordingly.
AGILE MANIFESTO
12 PRINCIPPER
1. Our highest priority is to satisfy the customer

through early and continuous delivery

of valuable software.
2. Welcome changing requirements, even late in 

development. Agile processes harness change for 

the customer's competitive advantage.
3. Deliver working software frequently, from a 

couple of weeks to a couple of months, with a 

preference to the shorter timescale.
4. Business people and developers must work 

together daily throughout the project.
5. Build projects around motivated individuals. 

Give them the environment and support they need, 

and trust them to get the job done.
6. The most efficient and effective method of 

conveying information to and within a development 

team is face-to-face conversation.
6 AGILE KENDETEGN
EMPERICAL PROCESS CONTROL
controlling unpredictable systems through the ideas of
transparency, inspection and adaptation
6 AGILE KENDETEGN
ITERATIVE & INCREMENTAL
many small iterations of identical steps,
each increment build in top of the previous
6 AGILE KENDETEGN
SELF-ORGANISATION
let go of top-down control 

and let the capabilities of the team trive
6 AGILE KENDETEGN
PULL! - DON’T PUSH
stop optimizing each link, optimize the chain instead
6 AGILE KENDETEGN
STOP STARTING & START FINISHING
work in progress have no or negative value
6 AGILE KENDETEGN
CONTINUOUS IMPROVEMENT
constant focus on small improvements drives progress
EXTREME PROGRAMMING
Good old development practices put to the extreme
EXTREME PROGRAMMING
Basic Principles:
‣ Rapid feedback
‣ Assume simplicity
‣ Incremental change
‣ Embracing change
‣ Quality work

Less central principles:
‣ Teach learning
‣ Small initial investment
‣ Play to win
‣ Open, honest communication
‣ Accepted responsibility
‣ Local adaptation
Practices:
‣ User Stories
‣ The Planning Game
‣ Whole Team
‣ On-site customer
‣ Acceptance Tests
‣ Small Releases
‣ Continuous Integration

‣ Collective Ownership
‣ Coding Standard
‣ Metaphor
‣ Sustainable Pace
‣ Pair Programming
‣ Test Driven Development
‣ Refactoring
‣ Simple Design
Rules
Planning
‣ User stories are written.
‣ Release planning creates the release schedule.
‣ Make frequent small releases.
‣ The project is divided into iterations.
‣ Iteration planning starts each iteration.
Managing
‣ Give the team a dedicated open work space.
‣ Set a sustainable pace.
‣ A stand up meeting starts each day.
‣ The Project Velocity is measured.
‣ Move people around.
‣ Fix XP when it breaks.

Designing
‣ Simplicity.
‣ Choose a system metaphor.
‣ Use CRC cards for design sessions.
‣ Create spike solutions to reduce risk.
‣ No functionality is added early.
‣ Refactor whenever and wherever possible.
Coding
‣ The customer is always available.
‣ Code must be written to agreed standards.
‣ Code the unit test first.
‣ All production code is pair programmed.
‣ Only one pair integrates code at a time.
‣ Integrate often.
‣ Set up a dedicated integration computer.
‣ Use collective ownership.
Testing
‣ All code must have unit tests.
‣ All code must pass all unit tests before it can be released.
‣ When a bug is found tests are created.
‣ Acceptance tests are run often and the score is published.
EXTREME PROGRAMMING
15 MIN PAUSE
Snak i pausen om:
- hvordan relaterer det sig til din hverdag?
- giver det mening i forhold til din kontekst?
SCRUM FRAMEWORK
“Scrum is an Agile framework for completing complex
projects” - scrumalliance.org
SCRUM FRAMEWORK
DEVELOPMENT CYCLE
Scrum roles:
‣ Product Owner
‣ Scrum Master
‣ Development Team
Scrum artifacts:
‣ Product Backlog
‣ Sprint Backlog
‣ Product Increment
‣ Definition of Done
Scrum activities:
‣ Backlog Refinement
‣ Sprint Planning I & II
‣ Daily Scrum
‣ Sprint Review
‣ Sprint Retrospective
Scrum values:
‣ Focus
‣ Courage
‣ Openness
‣ Commitment
‣ Respect
Emphasis on Process
Linear Process Style
Focus on Upfront Planning
Comprehensive Documentation
Centralized Managed Organisation
Command and Control Management Style
Plan Conformity is the Primary Succes Criteria
Customer Involvement in Project Start and Finish
Return of Investment upon Project Completion
Process Centric Quality Assurance
Emphasis on People
Iterative Process Style
Limiting Upfront Planning
Only Required Documentation
Decentralized Self-Organisation
Servant Leadership Management Style
Business Value is the Primary Succes Criteria
Customer Involvement Throughout Project
Return of Investment Early and Throughout
Customer Centric Quality Assurance
SCRUM TRADITIONAL
⬌
⬌
⬌
⬌
⬌
⬌
⬌
⬌
⬌
⬌
KANBAN SOFTWARE DEVELOPMENT
Slow down to speed up
KANBAN SYSTEMS (KAN = VISUAL, BAN = CARD)
IMPERIAL GARDEN IN TOKYO
KANBAN SOFTWARE DEVELOPMENT
INSPIRED BY LEAN THINKING
Kanban core practices:
‣ Visualize the workflow
‣ Limit work in process (WIP)
‣ Make process policies explicit
‣ Manage flow
‣ Improve collaboratively
Lean Thinking principles:
‣ Identify Customers and Specify Value
‣ Identify and Map the Value Stream
‣ Create Flow by Eliminating Waste
‣ Respond to Customer Pull
‣ Pursue Perfection
No prescribed roles

Continuous Delivery
Work is ‘pulled’ through the system

(single piece flow)
Changes can be made at any time
Important measures Lead time & Cycle time
Can work in operational environments with a high
degree of variability in priority
Pre-defined roles of 

Scrum master, Product owner and team member
Timeboxed sprints
Work is ‘pushed’ through the system in batches

(the sprint backlog)
No changes allowed mid-sprint
Important measure Velocity
Requires situations where work can be prioritized in
batches that can be left alone
SCRUM KANBAN
⬌
⬌
⬌
⬌
⬌
⬌
SOFTWARE ENGINEERING
Glem ikke at træne de 

gode professionel software teknikker
TAK, OG FORTSAT GOD AFTEN
Og husk evalueringer, tak.

Lær 3 agile metoder på en aften

  • 1.
    VI STARTER MEDAT MINGLE! men med regler: Gå igang med det samme!
 (må gerne smide overtøjet først) Find eller dan en gruppe og snak med om hvad I kender til agile Hvis gruppen bliver flere end 
 4 personer, så split gruppen i to
  • 2.
    3 AGILE METODER,ÉN AFTEN Cafémøde hos BestBrains, 24. februar 2015
 af Nino Stokbro Ag
  • 3.
    PROGRAM; TOUR DEFORCE Det agile manifesto eXtreme Programming Scrum Framework Kanban Software Development Spørg endelig undervejs!
  • 4.
    AGILE MANIFESTO
 4 VÆRDISÆTNINGER Individualsand interactions 
 over processes and tools Working software 
 over comprehensive documentation Customer collaboration 
 over contract negotiation Responding to change 
 over following a plan
  • 5.
    7. Working softwareis the primary measure of progress. 8. Agile processes promote sustainable development. 
 The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9. Continuous attention to technical excellence 
 and good design enhances agility. 10. Simplicity--the art of maximizing the amount 
 of work not done--is essential. 11. The best architectures, requirements, and designs emerge from self-organizing teams. 12. At regular intervals, the team reflects on how 
 to become more effective, then tunes and adjusts 
 its behavior accordingly. AGILE MANIFESTO 12 PRINCIPPER 1. Our highest priority is to satisfy the customer
 through early and continuous delivery
 of valuable software. 2. Welcome changing requirements, even late in 
 development. Agile processes harness change for 
 the customer's competitive advantage. 3. Deliver working software frequently, from a 
 couple of weeks to a couple of months, with a 
 preference to the shorter timescale. 4. Business people and developers must work 
 together daily throughout the project. 5. Build projects around motivated individuals. 
 Give them the environment and support they need, 
 and trust them to get the job done. 6. The most efficient and effective method of 
 conveying information to and within a development 
 team is face-to-face conversation.
  • 6.
    6 AGILE KENDETEGN EMPERICALPROCESS CONTROL controlling unpredictable systems through the ideas of transparency, inspection and adaptation
  • 7.
    6 AGILE KENDETEGN ITERATIVE& INCREMENTAL many small iterations of identical steps, each increment build in top of the previous
  • 8.
    6 AGILE KENDETEGN SELF-ORGANISATION letgo of top-down control 
 and let the capabilities of the team trive
  • 9.
    6 AGILE KENDETEGN PULL!- DON’T PUSH stop optimizing each link, optimize the chain instead
  • 10.
    6 AGILE KENDETEGN STOPSTARTING & START FINISHING work in progress have no or negative value
  • 11.
    6 AGILE KENDETEGN CONTINUOUSIMPROVEMENT constant focus on small improvements drives progress
  • 12.
    EXTREME PROGRAMMING Good olddevelopment practices put to the extreme
  • 13.
    EXTREME PROGRAMMING Basic Principles: ‣Rapid feedback ‣ Assume simplicity ‣ Incremental change ‣ Embracing change ‣ Quality work
 Less central principles: ‣ Teach learning ‣ Small initial investment ‣ Play to win ‣ Open, honest communication ‣ Accepted responsibility ‣ Local adaptation Practices: ‣ User Stories ‣ The Planning Game ‣ Whole Team ‣ On-site customer ‣ Acceptance Tests ‣ Small Releases ‣ Continuous Integration
 ‣ Collective Ownership ‣ Coding Standard ‣ Metaphor ‣ Sustainable Pace ‣ Pair Programming ‣ Test Driven Development ‣ Refactoring ‣ Simple Design
  • 14.
    Rules Planning ‣ User storiesare written. ‣ Release planning creates the release schedule. ‣ Make frequent small releases. ‣ The project is divided into iterations. ‣ Iteration planning starts each iteration. Managing ‣ Give the team a dedicated open work space. ‣ Set a sustainable pace. ‣ A stand up meeting starts each day. ‣ The Project Velocity is measured. ‣ Move people around. ‣ Fix XP when it breaks.
 Designing ‣ Simplicity. ‣ Choose a system metaphor. ‣ Use CRC cards for design sessions. ‣ Create spike solutions to reduce risk. ‣ No functionality is added early. ‣ Refactor whenever and wherever possible. Coding ‣ The customer is always available. ‣ Code must be written to agreed standards. ‣ Code the unit test first. ‣ All production code is pair programmed. ‣ Only one pair integrates code at a time. ‣ Integrate often. ‣ Set up a dedicated integration computer. ‣ Use collective ownership. Testing ‣ All code must have unit tests. ‣ All code must pass all unit tests before it can be released. ‣ When a bug is found tests are created. ‣ Acceptance tests are run often and the score is published. EXTREME PROGRAMMING
  • 15.
    15 MIN PAUSE Snaki pausen om: - hvordan relaterer det sig til din hverdag? - giver det mening i forhold til din kontekst?
  • 16.
    SCRUM FRAMEWORK “Scrum isan Agile framework for completing complex projects” - scrumalliance.org
  • 17.
    SCRUM FRAMEWORK DEVELOPMENT CYCLE Scrumroles: ‣ Product Owner ‣ Scrum Master ‣ Development Team Scrum artifacts: ‣ Product Backlog ‣ Sprint Backlog ‣ Product Increment ‣ Definition of Done Scrum activities: ‣ Backlog Refinement ‣ Sprint Planning I & II ‣ Daily Scrum ‣ Sprint Review ‣ Sprint Retrospective Scrum values: ‣ Focus ‣ Courage ‣ Openness ‣ Commitment ‣ Respect
  • 18.
    Emphasis on Process LinearProcess Style Focus on Upfront Planning Comprehensive Documentation Centralized Managed Organisation Command and Control Management Style Plan Conformity is the Primary Succes Criteria Customer Involvement in Project Start and Finish Return of Investment upon Project Completion Process Centric Quality Assurance Emphasis on People Iterative Process Style Limiting Upfront Planning Only Required Documentation Decentralized Self-Organisation Servant Leadership Management Style Business Value is the Primary Succes Criteria Customer Involvement Throughout Project Return of Investment Early and Throughout Customer Centric Quality Assurance SCRUM TRADITIONAL ⬌ ⬌ ⬌ ⬌ ⬌ ⬌ ⬌ ⬌ ⬌ ⬌
  • 19.
  • 20.
    KANBAN SYSTEMS (KAN= VISUAL, BAN = CARD) IMPERIAL GARDEN IN TOKYO
  • 21.
    KANBAN SOFTWARE DEVELOPMENT INSPIREDBY LEAN THINKING Kanban core practices: ‣ Visualize the workflow ‣ Limit work in process (WIP) ‣ Make process policies explicit ‣ Manage flow ‣ Improve collaboratively Lean Thinking principles: ‣ Identify Customers and Specify Value ‣ Identify and Map the Value Stream ‣ Create Flow by Eliminating Waste ‣ Respond to Customer Pull ‣ Pursue Perfection
  • 22.
    No prescribed roles
 ContinuousDelivery Work is ‘pulled’ through the system
 (single piece flow) Changes can be made at any time Important measures Lead time & Cycle time Can work in operational environments with a high degree of variability in priority Pre-defined roles of 
 Scrum master, Product owner and team member Timeboxed sprints Work is ‘pushed’ through the system in batches
 (the sprint backlog) No changes allowed mid-sprint Important measure Velocity Requires situations where work can be prioritized in batches that can be left alone SCRUM KANBAN ⬌ ⬌ ⬌ ⬌ ⬌ ⬌
  • 23.
    SOFTWARE ENGINEERING Glem ikkeat træne de 
 gode professionel software teknikker
  • 24.
    TAK, OG FORTSATGOD AFTEN Og husk evalueringer, tak.