lær 3 agile metoder på en aften
TRANSCRIPT
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 AFTENCafémøde hos BestBrains, 24. februar 2015af Nino Stokbro Ag
PROGRAM; TOUR DE FORCEDet agile manifesto eXtreme Programming Scrum Framework Kanban Software Development
Spørg endelig undervejs!
AGILE MANIFESTO4 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 PRINCIPPER1. Our highest priority is to satisfy the customer
through early and continuous deliveryof 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 CONTROLcontrolling unpredictable systems through the ideas of transparency, inspection and adaptation
6 AGILE KENDETEGN ITERATIVE & INCREMENTALmany small iterations of identical steps, each increment build in top of the previous
6 AGILE KENDETEGN SELF-ORGANISATIONlet go of top-down control and let the capabilities of the team trive
6 AGILE KENDETEGN PULL! - DON’T PUSHstop optimizing each link, optimize the chain instead
6 AGILE KENDETEGN STOP STARTING & START FINISHINGwork in progress have no or negative value
6 AGILE KENDETEGN CONTINUOUS IMPROVEMENTconstant focus on small improvements drives progress
EXTREME PROGRAMMINGGood old development practices put to the extreme
EXTREME PROGRAMMINGBasic 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 PAUSESnak 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 FRAMEWORKDEVELOPMENT 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 DEVELOPMENTSlow down to speed up
KANBAN SYSTEMS (KAN = VISUAL, BAN = CARD)IMPERIAL GARDEN IN TOKYO
KANBAN SOFTWARE DEVELOPMENTINSPIRED 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 ENGINEERINGGlem ikke at træne de gode professionel software teknikker
TAK, OG FORTSAT GOD AFTENOg husk evalueringer, tak.