Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software...
Transcript of Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software...
![Page 1: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/1.jpg)
Agile Methodologies
![Page 2: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/2.jpg)
Winston@winstonyw
![Page 3: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/3.jpg)
Pivotal Labs SG2011 ~ 2013
Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration
![Page 4: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/4.jpg)
Neo Innovations2011 ~ 2013
Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration
![Page 5: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/5.jpg)
Established
Since Nov 2013
![Page 6: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/6.jpg)
SG Ruby Grouphttp://www.meetup.com/Singapore-Ruby-Group/
![Page 7: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/7.jpg)
June 26-27, 2014 Singapore
!http://www.reddotrubyconf.com
![Page 8: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/8.jpg)
RubyAsia.comA fortnightly newsletter for Ruby news and articles from Asia
![Page 9: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/9.jpg)
Why do Software Projects
Fail?
![Page 10: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/10.jpg)
PLANNING AND ESTIMATING IS
DIFFICULT
![Page 11: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/11.jpg)
Why Are Software Development Task Estimations Regularly Off By A Factor of 2-3
http://www.quora.com/Engineering-Management/Why-are-software-development-task-estimations-regularly-off-by-a-factor-of-2-3
![Page 12: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/12.jpg)
Waterfallhttp://www.flickr.com/photos/mcbridejc/8885815845/
![Page 13: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/13.jpg)
Problems with Traditional Planning & Estimation
![Page 14: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/14.jpg)
Almighty Documentationhttp://www.flickr.com/photos/sonrisaelectrica/3695743740/
![Page 15: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/15.jpg)
Premature System Design
![Page 16: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/16.jpg)
Activity-Based Management
![Page 17: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/17.jpg)
Estimation == Commitment
Wrong Perception of Estimation
![Page 18: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/18.jpg)
No Customer Collaboration
vs.
![Page 19: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/19.jpg)
“This project will be completed by Christmas.
- Project Manager, based on Traditional Planning
Unrealistic Timeline
![Page 20: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/20.jpg)
Build UAT FixDesign
Time to Ship
Requirements
Waterfall
![Page 21: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/21.jpg)
Syste
m Goal
Misfit
Build UAT FixDesignRequirements
Waterfall Product/Market Fit
![Page 22: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/22.jpg)
SOFTWARE SERVES
BUSINESS
NEEDS
![Page 23: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/23.jpg)
SOFTWARE IS
IMPORTANT!
![Page 24: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/24.jpg)
WHAT’S A BETTER WAY TO PLAN AND ESTIMATE..
Features Resources Duration Cost
![Page 25: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/25.jpg)
AGILE
![Page 26: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/26.jpg)
Manifestoagilemanifesto.org
![Page 27: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/27.jpg)
ManifestoIndividuals and Interactions
!
Working Software
!
Customer Collaboration !
Responding to Change
Processes and Tools !
Comprehensive Documentation !
Contract Negotiation !
Following a Plan
>
![Page 28: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/28.jpg)
Benefits of Agile
![Page 29: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/29.jpg)
HIGHER VISIBILITY.
![Page 30: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/30.jpg)
HIGHER ADAPTABILITY.
![Page 31: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/31.jpg)
REDUCED RISK AND UNCERTAINTY.
![Page 32: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/32.jpg)
GREATER BUSINESS VALUE.
![Page 33: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/33.jpg)
EMPOWERED. PURPOSE.
[for the engineers]
![Page 34: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/34.jpg)
Comparison
![Page 35: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/35.jpg)
Build UAT FixDesign
Time to Ship
Requirements
Waterfall
![Page 36: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/36.jpg)
Time to Ship
High Level ScopeHigh Level DesignDetailed DesignEstimateBuildUAT
Agile
![Page 37: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/37.jpg)
Syste
m Goal
Misfit
Build UAT FixDesignRequirements
Waterfall Product/Market Fit
![Page 38: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/38.jpg)
Misfit
Build + UAT
Scope & Design
Agile Product/Market Fit
![Page 39: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/39.jpg)
Kanban Scrum
Extreme Programming etc
Agile Implementations
![Page 40: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/40.jpg)
Roles in an Agile Project
![Page 41: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/41.jpg)
EngineersProduct OwnerCustomers
Icons: http://www.iconarchive.com/show/sleek-xp-basic-icons-by-deleket
Project Manager
![Page 42: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/42.jpg)
Customers
• Use the system/service
• Provides feedback on the system/service
!
![Page 43: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/43.jpg)
Product Owner
• Represents the stakeholders
• Represents customers and subject matter experts
• Manages product backlog by ranking and prioritizing user stories
• Ensures that the Team delivers value to the business
![Page 44: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/44.jpg)
Project Manager
• Bridge between the Product Owner and Engineers
• Could be the Lead Developer too
!
![Page 45: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/45.jpg)
Engineers
• Write the code
• Estimate the stories effort
• Provide expertise on simplest solution first
• Pivotal to the success or failure of a project
![Page 46: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/46.jpg)
EngineersProduct OwnerCustomers
Project Manager
Icons: http://www.iconarchive.com/show/sleek-xp-basic-icons-by-deleket
![Page 47: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/47.jpg)
Management Practices
Engineering Practices
![Page 48: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/48.jpg)
Management Practices
• Inception
• Iteration Planning
• Release Planning
• Retrospectives
![Page 49: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/49.jpg)
Engineering Practices
• Daily Standups
• Pair Programming
• Test Driven Development
• Continuous Integration/Deployment
![Page 50: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/50.jpg)
Agile Project Life Cycle
![Page 51: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/51.jpg)
Time to Ship
High Level ScopeHigh Level DesignDetailed DesignEstimateBuildUAT
AgileIn
cept
ion
Itera
tions
![Page 52: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/52.jpg)
Agile
Iteration 1Inception Iteration 2
Retrospective (every 2-4 iterations)
Release Planning Meeting (every 12-24 iterations)
Iteration 3 ... Iteration n
![Page 53: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/53.jpg)
Iteration
Build
Release
Iteration Planning Meeting
An Iteration
![Page 54: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/54.jpg)
Stories Generation Stories Clarification Stories Estimation Stories Prioritization
Build
Release
Iteration Planning Meeting
An Iteration
Iteration
![Page 55: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/55.jpg)
Daily Standups Pair Programming Test Driven Development
Build
Release
Iteration Planning Meeting
An Iteration
Iteration
![Page 56: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/56.jpg)
Continuous Integration Continuous Deployment
Build
Release
Iteration Planning Meeting
An Iteration
Iteration
![Page 57: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/57.jpg)
Build
Release
Iteration Planning Meeting
An Iteration
Stories Generation Stories Clarification Stories Estimation Stories Prioritization
Daily Standups Pair Programming Test Driven Development
Continuous Integration Continuous Deployment
Iteration
![Page 58: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/58.jpg)
What is..
![Page 59: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/59.jpg)
Inception
• Alignment and Expectation Setting
• Days to Week depending on size of project
• Agenda:
• Goals (Business, Product, Non-Goals)
• Risks
• High Level Stories Estimation and Prioritization
• Release Planning
[Management Practice]
![Page 60: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/60.jpg)
“.. is used to create a release plan, which lays out the overall project. The release plan is then used to create iteration plans for each individual iteration.
-http://www.extremeprogramming.org/rules/planninggame.html
Release Planning Meetings[Management Practice]
![Page 61: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/61.jpg)
Release Planning Meetings
• Each release is 3 - 6 months
• Business to make decision on MVP, and its features
• Release is planned by Time or Scope
• Project can be quantified by:
• Scope, Time, Resources and Quality
[Management Practice]
![Page 62: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/62.jpg)
Release Planning Meetings[Management Practice]
Today
MVP
1 Iteration
Estimation by Engineers !
Prioritization by Product Owner
![Page 63: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/63.jpg)
Release Planning Meetings[Management Practice]
Today
MVP
1 Iteration
Estimation by Engineers !
Prioritization by Product Owner
![Page 64: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/64.jpg)
“.. is called at the beginning of each iteration. User stories are chosen for this iteration by the customer in order of the most valuable to the customer first.
-http://www.extremeprogramming.org/rules/iterationplanning.html
Iteration Planning Meetings[Management Practice]
![Page 65: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/65.jpg)
Iteration Planning Meetings
• Each iteration is short, 1 - 3 weeks
• Features are prioritized, based on:
• Business value (usually in financial sense)
• Effort required
• Amount and significance of new knowledge gained from feature
• Risk added / removed
[Management Practice]
![Page 66: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/66.jpg)
Retrospective
“.. play a very important role in iterative and incremental development. At the end of every iteration a retrospective is held to look for ways to improve the process for the next one.
- http://en.wikipedia.org/wiki/Retrospective
[Management Practice]
![Page 67: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/67.jpg)
Retrospective
• Reflect and Adapt methods and to help whole team learning
• Benefits of Retrospectives:
• Productivity
• Capability
• Quality
• Capacity
[Management Practice]
![Page 68: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/68.jpg)
Daily Standups
![Page 69: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/69.jpg)
Daily Standups
• General project updates
• Which story did you work on yesterday?
• Which story are you going to work on today?
• Blockages?
[Engineering Practice]
![Page 70: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/70.jpg)
Pair Programming
![Page 71: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/71.jpg)
Pair Programming
• Benefits of Pair Programming:
• Focus
• Knowledge Exchange
• Collective Code Ownership
• High Code Quality
• Engineering Happiness!
[Engineering Practice]
http://winstonyw.com/2012/12/02/pair_programming/
![Page 72: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/72.jpg)
Test Driven Development
“.. when you create your tests first, before the code, you will find it much easier and faster to create your code.
- http://www.extremeprogramming.org/rules/testfirst.html
[Engineering Practice]
![Page 73: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/73.jpg)
Test Driven Development
• Red, Green, Refactor
• Benefits of Test Driven Development:
• Quality
• Accountability
• Maintainability
• Live Documentation
[Engineering Practice]
![Page 74: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/74.jpg)
Continuous Integration/Deployment
![Page 75: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/75.jpg)
Continuous Integration/Deployment
“.. often avoids diverging or fragmented development efforts, where developers are not communicating with each other about what can be re-used, or what could be shared.
- http://www.extremeprogramming.org/rules/integrateoften.html
[Engineering Practice]
![Page 76: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/76.jpg)
WHAT SETS AGILE
APART FROM WATERFALL
![Page 77: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/77.jpg)
High Level Stories Estimation and Prioritization
![Page 78: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/78.jpg)
“.. one or more sentences in the everyday or business language of the end user or user of a system that captures what a user does or needs to do as part of his or her job function.
- http://en.wikipedia.org/wiki/User_story
What is a User Story?
![Page 79: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/79.jpg)
As a <user role>, I want <capability>, so that <business value>.
Structure of a User Story (1)
![Page 80: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/80.jpg)
Acceptance Criteria: 1. <do this> 2. <do that> ... n. <expected result>
Structure of a User Story (2)
![Page 81: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/81.jpg)
As a Facebook User, I want to sign up with my FaceBook account, so that I can start using the service instantaneously.
Example of a User Story (1)
![Page 82: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/82.jpg)
Acceptance Criteria: 1. Go to homepage 2. Click on “Login with Facebook” 3. Wait to be redirected to Facebook Login page 4. Login with your Facebook credentials 5. You will be redirected to homepage 6. You should see “Welcome John” in header
Example of a User Story (2)
![Page 83: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/83.jpg)
HOW TO
ESTIMATE STORIES?
![Page 84: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/84.jpg)
Techniques
![Page 85: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/85.jpg)
ANALOGY.
![Page 86: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/86.jpg)
EXPERT ADVICE.
![Page 87: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/87.jpg)
DIVIDE AND CONQUER.
![Page 88: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/88.jpg)
TECHNIQUES
NOT ENOUGH
![Page 89: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/89.jpg)
TOTAL STORY POINTSVELOCITY DURATION=
![Page 90: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/90.jpg)
Relative Sizing
![Page 91: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/91.jpg)
Relativity
![Page 92: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/92.jpg)
Type Size
Golf Ball
Basketball
Soccer Ball
Ping Pong Ball
Tennis Ball
Let’s Estimate
Estimate the size of these balls. Pick from S, M, L or XL.
S
XL
L
S
M
![Page 93: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/93.jpg)
Size Chart and Story Points
![Page 94: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/94.jpg)
Size Points Points
S 1 1
M 2 2
L 4 3
XL 8 5
XXL 16 8
Size Chart
Incr
easin
g Or
der o
f Com
plex
ity
![Page 95: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/95.jpg)
TOTAL STORY POINTSVELOCITY DURATION=
![Page 96: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/96.jpg)
Velocity
![Page 97: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/97.jpg)
Velocity
• Story Points per Iteration (Throughput)
• Derived based on:
• Estimation
• Historical Data
• Depends on:
• Team Members (skills)
• Team Size
![Page 98: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/98.jpg)
TOTAL STORY POINTSVELOCITY DURATION=
![Page 99: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/99.jpg)
ESTIMATE WITH
PLANNING POKER
![Page 100: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/100.jpg)
ENGINEERS
ESTIMATE !
Product Owner
PRIORITIZE
![Page 101: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/101.jpg)
AGILE IS
CONSTANT FEEDBACK
![Page 102: Agile_ - d1b10bmlvqabco.cloudfront.net · PDF fileNeo Innovations 2011 ~ 2013 Agile Software Engineering Test Driven Development • Pair Programming • Continuous Integration](https://reader031.fdocuments.net/reader031/viewer/2022022503/5ab1312c7f8b9aea528c2233/html5/thumbnails/102.jpg)
Thank You