who am i - d2o2utebsixu4k.cloudfront.net · continuous integration code is continually checked in...
TRANSCRIPT
![Page 1: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/1.jpg)
![Page 2: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/2.jpg)
WHO AM I Eike D. Gehler
• Enterprise Agile Coach • Scrum Master • Product Owner • Architect • Family man • Explorer • Traveler • Golf addicted
![Page 3: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/3.jpg)
![Page 4: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/4.jpg)
WATERFALL VS. AGILE METHODOLOGY Where we come from
TIME
BU
DG
ET
FEATURES PLANNED FEATURES DEVELOPED
WATERFALL Development of the software flows sequentially from the start point to the end point.
![Page 5: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/5.jpg)
UPSTREAM/DOWNSTREAM EFFECT
TIME
CO
ST O
F FA
ILU
IRE
DESIGN & ARCHITECTURE MAINTENANCE REQUIREMENTS IMPLEMENTATION
BU
G O
NTR
OD
UC
TIO
N
the earlier the more expensive
![Page 6: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/6.jpg)
NASA MARS CLIMATE ORBITER (MCO) Failure from another perspective
The MCO Mishap Investigation Board has determined that the root cause for the loss of the MCO spacecraft was the failure to use metric units in the coding of a ground software file used in trajectory models.
Source: wikipedia, https://commons.wikimedia.org/wiki/File:Mars_Climate_Orbiter_-_launch_configuration.png
![Page 7: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/7.jpg)
REQUIREMENT MANAGEMENT Using waterfall methodology
DESIGN & ARCHITECTURE MAINTENANCE REQUIREMENTS IMPLEMENTATION & TEST
TENDER SPECIFICATION
PERFORMANCE SPECIFICATION
![Page 8: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/8.jpg)
FEATURE USAGE in Software Systems
ONLY 1/5th OF THE FEATURES
ARE USED ON A REGULARY BASIS
2/3rd OF THE FEATURES ARE USED ALMOST
NEVER
Source: Standish Group
![Page 9: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/9.jpg)
![Page 10: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/10.jpg)
AGILE MANIFESTO 2001
Individuals and interactions over processes and tools Working software over comprehensive documentation
Customer collaboration over contract negotiation Responding to change over following a plan
That is, while there is value in the items on the right, we
value the items on the left more.
Source: http://agilemanifesto.org/
![Page 11: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/11.jpg)
AGILE MANIFESTO 2001
Alistair Cockburn Kent Beck Ken Schwaber, Mike Beedle, Jeff Sutherland
Source: http://agilemanifesto.org/
![Page 12: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/12.jpg)
![Page 13: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/13.jpg)
TOYOTA PRODUCTION SYSTEM Automation of machine tools and having one person be in charge of several machines
http://www.toyota-global.com/company/history_of_toyota/75years/text/taking_on_the_automotive_business/chapter2/section7/images/l01_02_07_03_img02.jpg
![Page 14: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/14.jpg)
TOYOTA PRODUCTION SYSTEM
Start from need!
Taiichi Ōno
https://www.logisticshalloffame.net/de/presse/pressebilder/mitglieder/taiichi-ohno#!ouno_300dpi
![Page 15: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/15.jpg)
TOYOTA PRODUCTION SYSTEM Invented from 1947 on
Objective: High productivity and quality, punctual delivery
Just-in-time principle: Produce only for customer needs (build-to-order) Pull system (Kanban) Continuous flow of material Versatile employees
Continuous improvement - Kaizen
![Page 16: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/16.jpg)
KAIZEN
"Change for the better" Awareness and involvement of employees Gradual improvement Continuous learning Transparency Eliminate Muda, Muri and Mura
![Page 17: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/17.jpg)
ELIMINATE
Muda - Waste Muri - Overload Mura - Imbalance
![Page 18: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/18.jpg)
ROOTS OF SCRUM
Toyota consistently achieved four times the productivity and twelve times the quality of General Motors by the early 1990’s. Jeff Sutherland
www.scruminc.com/takeuchi-and-nonaka-roots-of-scrum
![Page 19: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/19.jpg)
![Page 20: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/20.jpg)
SCRUM – A DEFINITION
A framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value.
Ken Schwaber / Jeff Sutherland
![Page 21: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/21.jpg)
SCRUM – DEFINITION
M
Source: ©Scrum.org and Scrum Inc., Ken Schwaber and Jeff Sutherland: Scrum Guide
![Page 22: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/22.jpg)
SCRUM – DEFINITION
Scrum is an agile framework designed to add energy, focus, clarity, and transparency to project planning and implementation. Today, Scrum is used in small, mid-sized and large software corporations all over the world.
SPRINT
Increase speed of development
Align individual and corporate objectives
Create a culture driven by performance
Support shareholder value creation
Achieve stable and consistent communication of performance at all levels
Enhance individual development and quality of life
![Page 23: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/23.jpg)
SCRUM – THEORY Based on empirical process control
TRANSPARENCY INSPECTION ADAPTION
Main aspects of the process must be defined by a common standard.
A common language that refers to the process has to be shared by all participants.
A common “Definition of Done” for those performing work and accepting the work product.
Scrum users must frequently inspect Scrum artifacts and progress towards a Sprint Goal.
Inspections should not be so frequent that they get in the way of the work.
Inspections are most effective when diligently performed by skilled inspectors at the point of work.
Process or the material being processed must be adjusted if an inspection determines that one or more aspects of a process deviate outside acceptable limits and the resulting product will be unacceptable.
Sprint Planning
Daily Scrum
Sprint Review
Sprint Retrospective
Source: ©Scrum.org and Scrum Inc., Ken Schwaber and Jeff Sutherland: Scrum Guide
![Page 24: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/24.jpg)
SCRUM – TEAM
TEA
M
MEM
BER
S
STAKEHOLDER
USE
RS
Not all involved people are part of a Scrum Team – and therefore can directly influence the Development Team’s work.
This will help to reach focused the Sprint’s goal.
![Page 25: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/25.jpg)
SCRUM – TEAM Members on a Scrum Team
A person responsible for maximizing the value of the product and the work of the development team (Product Backlog and managing
priorities)
Consists of professionals who do the work for delivering a potentially
releasable Increment of „Done“ product at the end of each Sprint, self-organizing,
cross-functional
A person ensuring that Scrum is understood and enacted, sets up
meetings and monitors everything
Source: ©Scrum.org and Scrum Inc., Ken Schwaber and Jeff Sutherland: Scrum Guide
![Page 26: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/26.jpg)
SCRUM – ARTEFACTS
![Page 27: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/27.jpg)
SCRUM – EVENTS
SPRINT
SHIPPABLE INCREMENT
![Page 28: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/28.jpg)
SCRUM – THE 5 VALUES OF SCRUM Five Values of the Scrum Framework
Team members earn respect by building trust among the teams.
Team members engage each other in healthy conflicts.
Team members ensure that the whole team is committed.
Teams hold each other accountable.
Teams pay close attention to the results.
![Page 29: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/29.jpg)
![Page 30: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/30.jpg)
ŌNO, POPPENDIEK, BECK Quotes
Ask 'why' five times about every matter.
Taiichi Ōno
![Page 31: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/31.jpg)
ŌNO, POPPENDIEK, BECK Quotes
The biggest cause of failure in software-intensive systems is not technical failure; it’s building the wrong thing.
Mary Poppendieck, Leading Lean Software Development: Results Are not the Point
http://www.shmula.com/poppendieck-on-waste-the-handoff/447/
![Page 32: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/32.jpg)
ŌNO, POPPENDIEK, BECK Quotes
I'm not a great programmer; I'm just a good programmer with great habits.
Kent Beck, Extreme Programming Explained: Embrace Change
https://medium.com/meatball-io/kent-beck-captured-from-hack-summit-2016-1cba4ff1d84
![Page 33: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/33.jpg)
EXTREME PROGRAMMING The history
Methodology for agile solution of programming tasks Developed in 1995 by Kent Beck, Ward Cunningham, Ron Jeffries Influenced by Lean Thinking and the design patterns of the
"Gang of Four" Focus on techniques, values and principles first described by
Kent Beck: "Extreme Programming Explained" (2001)
http://thequotes.in/code-never-lies-comments-sometimes-do-ron-jeffries/ https://www.pdxmonthly.com/articles/2011/9/21/oregonians-changing-our-world-october-2011
![Page 34: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/34.jpg)
XP – PRACTICES, PRINCIPLES, VALUES
![Page 35: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/35.jpg)
XP – PRINCIPLES
Similar to Scrum XP breaks a project into tiny phases, and developers cannot continue on to the next phase until the first phase is completed.
![Page 36: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/36.jpg)
XP – PRINCIPLES
Similar to Scrum XP breaks a project into tiny phases, and developers cannot continue on to the next phase until the first phase is completed.
![Page 37: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/37.jpg)
XP –VALUES Communication
Source: Kent Beck
![Page 38: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/38.jpg)
XP –VALUES Simplicity
Source: Kent Beck
![Page 39: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/39.jpg)
XP –VALUES Feedback
Source: Kent Beck
![Page 40: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/40.jpg)
XP –VALUES Courage
Source: Kent Beck
![Page 41: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/41.jpg)
XP – PRACTICES The core of Software development
![Page 42: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/42.jpg)
XP – PRACTICES Test Driven Development
![Page 43: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/43.jpg)
XP – PRACTICES Why we need integration tests…
![Page 44: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/44.jpg)
XP – PRACTICES Test Driven Development
All tests are automated and will be executed with every build: First Unit tests are written, only then the actual functionality is
implemented Integration tests examine the interaction of classes and subsystems Regression tests are added once an error has been fixed to prevent a
reoccurrence of the same error
Advantages: High safety and quality standards throughout the project Reduced fear of changes and refactoring
Based on work of M. Cramer
![Page 45: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/45.jpg)
XP – PRACTICES Debugging vs. Testing
Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? Brian Kernighan
https://cdh.princeton.edu/people/brian-kernighan/
![Page 46: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/46.jpg)
XP – PRACTICES Refactoring
Continuous improvement and change in architecture, design and code
Therefore continuous optimization Changes are perceived as positive Advantages:
Better readability, testability and modularity of the code By continuous improvement, large redesigns are rarely necessary
Based on work of M. Cramer
![Page 47: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/47.jpg)
XP – PRACTICES Refactoring
Refactoring is a disciplined technique for altering the internal structure of an existing body of code, without changing its external behavior. Each refactoring does little, but a sequence of transformations can produce a significant restructuring. Martin Fowler
https://www.martinfowler.com/
![Page 48: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/48.jpg)
XP – PRACTICES
Source Code is a liability, not an asset. Eric Lee
https://blogs.msdn.microsoft.com/elee/2009/03/11/source-code-is-a-liability-not-an-asset/ https://twitter.com/SaintGimp
Refactoring
![Page 49: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/49.jpg)
XP – SIMPLE DESIGN
![Page 50: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/50.jpg)
XP – SIMPLE DESIGN
Keep It Simple, Stupid. Kelly Johnson
https://en.wikipedia.org/wiki/Kelly_Johnson_(engineer)#/media/File:ClarenceLeonardKellyJohnson.jpg
KISS
![Page 51: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/51.jpg)
XP – SIMPLE DESIGN
You Aren’t Gonna Need It. Ron Jeffries
https://agile.fm/agilefm/2018/4/12/ron-jeffries
YAGNI
![Page 52: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/52.jpg)
XP – SIMPLE DESIGN
Code is inventory. It is stuff lying around and it has substantial cost of ownership. It might do us good to consider what we can do to minimize it.
http://michaelfeathers.typepad.com/michael_feathers_blog/2011/05/the-carrying-cost-of-code-taking-lean-seriously.html http://developeronfire.com/podcast/episode-102-michael-feathers-providing-options
Michael Feathers
![Page 53: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/53.jpg)
XP – PRACTICES Pair programming
Two programmers work together on one machine One developer writes code ("driver") The other developer steers development (“navigator“) No developer develops by himself The pairs of developers change regularly Advantages:
Permanent code review improves quality and avoids mistakes Continuous transfer of knowledge Project becomes less vulnerable to failure of
individual developers
![Page 54: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/54.jpg)
XP – PRACTICES Continuous integration
Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal occurrence: Nightly Build Advantages:
Greater project security Higher quality, integration errors are detected early Educate the developers
Based on work of M. Cramer
![Page 55: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/55.jpg)
XP – PRACTICES Integrate often
![Page 56: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/56.jpg)
XP – PRACTICES Incremental delivery
![Page 57: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/57.jpg)
TAKEAWAY Extreme Programming
Writing unit tests before programming and keeping all of the tests running at all times. The unit tests are automated and eliminates defects early, thus reducing the costs.
Starting with a simple design just enough to code the features at hand and redesigning when required.
Programming in pairs (called pair programming), with two programmers at one screen, taking turns to use the keyboard. While one of them is at the keyboard, the other constantly reviews and provides inputs.
Integrating and testing the whole system several times a day. Putting a minimal working system into the production quickly and upgrading it
whenever required. Keeping the customer involved all the time and obtaining constant feedback.
Includes work of M. Cramer
![Page 58: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/58.jpg)
![Page 59: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/59.jpg)
ABSTRACT
![Page 60: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/60.jpg)
SCRUM
PRODUCT OWNER
PRODUCT BACKLOG
SPRINT BACKLOG
SPRINT PLANNING MEETING
SCRUM MASTER
DONE PRODUCT
TEAM AGREES ON HOW MUCH TO COMPLETE BY SPRINT'S END
TASK BREAKOUT
Information from end-users, customers, team and stakeholders
THE TEAM
PRIORITIZED FEATURE
LIST
DAILY STAND-UP MEETING
REVIEW
RETROSPECTIVE
Sprint end date, goal and team deliverables do not change
AGREED MINIMUM SET OF COMMON ACCEPTANCE CRITERIA
DEFINITION OF DONE
![Page 61: WHO AM I - d2o2utebsixu4k.cloudfront.net · Continuous integration Code is continually checked in Automated build & smoke by check-in on main branch Including automated tests Minimal](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed10c178e51cf224b58d85e/html5/thumbnails/61.jpg)