agile injection, varberg
TRANSCRIPT
White on Black
Agile Injection
Varberg 2011-04-01
This work byFredrik Wendtis licensed under a
Creative Commons
Attribution-NonCommercial-ShareAlike
3.0 Unported
Licensehttp://creativecommons.org/licenses/by-nc-sa/3.0/
Outline
Agile Manifesto
Scrum
Extreme Programming
Software Craftmanship
Parprogrammering
Testdriven utveckling
Retrospective
Systemfrvaltning
Fredrik & Janne
out of reach:* too hard to setup* Singletons* Interfaces without proper classes
Agile
Mythical Man Month
Adding manpower to a late project makes it later.
Surgical Team
The Architect
Implementers
Growing software not building?
One always has, at every stage ... a working system
Waterfail
Pragmatic Programmer
Fight software rot
Test ruthlessly
Broken Window
Reflect and practice
Automation
Ken Schwaber
1990s + Jeff Sutherland
Appendix A
terkom
We are uncovering better ways of developingsoftware by doing it and helping others do it.Through this work we have come to value:
Agile Manifesto
Individuals and interactionsWorking softwareCustomer collaborationResponding to change
Kent BeckMike BeedleArie van BennekumAlistair CockburnWard CunninghamMartin FowlerJames GrenningJim HighsmithAndrew HuntRon JeffriesJon KernBrian MarickRobert C. MartinSteve MellorKen SchwaberJeff SutherlandDave Thomas
Individuals and interactionsoverprocesses and tools
Working softwareovercomprehensive documentation
Customer collaborationovercontract negotiation
XP: Customer ON SITE
Responding to changeoverfollowing a plan
Continuous Delivery
Our highest priority is
to satisfy the customer through
early and continuous deliveryof valuable software.
Changing Requirements
Welcome changing requirements,
even late in development.
Agile processes harness change
for the customer's competitive advantage.
Working Software
Deliver working software frequently,
from a couple of weeks
to a couple of months,
with a preference to the shorter timescale.
Biz & Dev Interaction
Business people and developers must
work together daily
throughout the project.
Motivated Individuals
Build projects around
motivated individuals.
Give them the environment and
support they need, and
trust them to get the job done.
Efficient Communication
The most efficient and effective method of conveying information
to and within a development team is
face-to-face conversation.
What is Progress?
Working software is the
primary measure of progress.
Sustainable Development
Agile processes
promote sustainable development. The sponsors, developers,
and
users should be able to
maintain a constant pace indefinitely.
No Technical Debt
Continuous attention to
technical excellence and
good design
enhances agility.
Do The Right Things, Only
Simplicity the art of maximizing the amount of work not done is essential.
Self-organizing Teams
The best architectures,
requirements, and designs emerge from self-organizing teams.
Self-organizing Teams
At regular intervals,
the team reflects on how to become more effective,
then tunes and adjusts its behavior accordingly.
Vad hnde sen?
Stubb with verification method
Scrum
Product Owner
Team
Scrum Master
Product Backlog, Items
Sprint Backlog, Tasks
Sprint planning
Daily Standup
Sprint Review (demo)
Sprint Retrospective
Definition of Done
Impediments
Backlog grooming
XP
Rules on Planning, Managing, Designing, Coding,
Testing
Customer always available
Write code to standards
Code the unit test first
Pair program prod.code
Integrate often
Collective ownership
Vad hnde sen?
Stubb with verification method
TDD & Coding Dojo
ttd-introduction-alt.odp