SlideShare a Scribd company logo
1
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Modern Best Practices for Software
Development and Process Improvement
Damon Poole – CTO, AccuRev
2
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
About Damon Poole
 Founder and CTO of AccuRev, a leading provider
of Software Development Tools
 Creator of multiple Jolt-award winning products
 20 years of process improvement leadership
ranging from small co-located teams to 10,000-
person global development shops.
 Frequent speaker at software development events
 Constant interaction with software development
shops of all sizes across many industries
3
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Modern Practices
Refactoring
User
Stories
Whole
Teams
Collocation
Backlog
Unit Tests
Continuous
Integration
CI
Multi-Stage
CI
One Piece
Flow
S
I
D
C
WT
D
T
T
Burnup
Chart
Velocity
Planning
Poker
4
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Some Practices Have Whole Books Written
About Them
5
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
The Structure of the Work
Specify
Design
Code
Integrate
Document
Write tests
Test
S D
C I
W
TD
6
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
The Telephone Game
7
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
The Telephone Game
?
?
?
?
??
??
8
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
The Telephone Game
?
?
?
?
??
?? ?
?
?
?
9
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
The Telephone Game
DS C I
W
T
D
What the…
10
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Requirements
 3.4 Customer Identification
• 3.4.1 A web “cookie” shall be used to uniquely identify visitors
• 3.4.2 Each customer shall be associated with a cookie
• 3.4.3 Cookies shall be stored in an RDBMS
 3.5 Sale presentation
• 3.5.1 Each item for sale shall have a button marked “buy” next to
the item
• 3.5.2 Selecting the “buy” action shall trigger an order placement
action
 3.6 Fulfillment
• 3.6.1 By default, all orders shall use the on-file default shipping
information
• 3.6.2 If available, all orders will use the customer’s default payment
method
• 3.6.3 It shall be possible for the customer to cancel any order for
up to 4 hours after they place that order.
11
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
User Stories
 “As a user I want to order what I am browsing
with a single click.”
 As a <user role> I want to <achieve some goal>
12
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Why Use User Stories
 Keeps focus on the customer’s perspective
 Provides a single description used by customer,
product owner, scrum master, developer, tester,
and documenter
 Short term high bandwidth high value
communication
 Separates need and implementation (like an API)
 Simplifies planning
 Well suited for Agile (assumes many quick turns)
 Encourages innovation and creativity at all levels
13
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
One Piece Flow
Within a release
DS C I
W
T
D
DS C I
W T
D
DS C I
W
T
D
14
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
DS C I
W
T
D
DS C I
W
T
D
DS C I
W
T
D
Within a release
One Piece Flow
15
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
DS C I
W
T
D
DS C I
W
T
D
DS C I
W
T
D
DS C I
W
T
D
DS C I
W
T
D
DS C I
W
T
D
DS C I
W
T
D
DS C I
W
T
D
DS C I
W
T
D
DS C I
W
T
D
Within a release
One Piece Flow
16
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
S I
D
C
WT
D T
T
One Piece Flow
Developer Test & Doc
17
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Collocation
•2-4 megabit
•High latency
•Not always avail.
•Gigabit
•Low latency
•Usually available
5 File servers
5 Db servers
4 App servers
4 Build servers
4 Test environments
San Jose
Boston
ChennaiKiev
18
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Collocation
•Low bandwidth
•High latency
•Not always avail.
•High bandwidth
•Low latency
•Usually available
San Jose
Boston
ChennaiKiev
Architect
Developer
Doc writer
Product Manager
Tester
19
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Collocation
Infrequent
coordination
San Jose
Boston
ChennaiKiev
Architect
Developer
Doc writer
Product Manager
Tester
Manager
Constant
communication
20
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Cross Functional/Whole Team
Developer(s)
Tester(s)
Manager
Doc WriterProduct Manager
21
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Testing
System
Integration
C C
C C
C C
C C
C C
C C
Unit
22
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Modern Unit Testing
 JUnit & JMock for Java
 NUnit & NMock for C#
 Works best when part of Continuous Integration
 Supports refactoring
23
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Refactoring
C C C
C C
C C
C C
•Same functionality
•Better organized
•More maintainable
•Easier to add new functionality
•Joining and splitting methods
•File content changes
•File renames
•Works best with Unit Testing and CI
24
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
$5M
per lane
$11M
per lane
25
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Splitting Work Along Technical Lines
Value A
26
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Splitting Work Along Technical Lines
Value A
Back end,
infrastructure
Middle layer
Front end
27
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Splitting Work By Value
Value B Value C
Back end,
infrastructure
Middle layer
Front end
Value D
28
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Continuous Integration
 Fully automated, 1-step build used by everybody
 Fully automated, 1-step testing used by everybody
 Integration
• Integrate new changes into baseline
• Build
• Test
 Faster feedback
 Everybody on the same page
 Longer runway
29
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Continuous Integration
Continuous
Integration
Specify Design Code Integrate
Write tests
Test
Crunch Time
Doc
Big
Bang
30
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
CI
ws
ws
ws
ws
ws
ws
main
Continuous Integration on Mainline Only
Minutes Hours
Team A
Team B
31
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
CI
CI
CI
Team A
Team B
ws
ws
ws
Multiple Stages of Continuous Integration
Minutes Hours
int
Daily
ws
ws
ws
32
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
CI
CI
CI
CI
Team A
Team B
ws
ws
ws
Multiple Stages of Continuous Integration
Minutes Hours
int
Daily
ws
ws
ws
staging ship
33
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Managing Priorities
Priority Definition
0 Must have/committed
1 Very important
2 Significant value
3 Minor value
4 Unsure
34
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Managing Priorities
Priority Actual Meaning
0 Maybe
35
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Managing Priorities
Priority Actual Meaning
0 Maybe
1 Definitely not
2 Definitely not
3 Definitely not
4 Definitely not
36
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Backlog Based Prioritization
Business
Value
Issue Story Points State
432 User wants layout pleasing to the eye 2 reviewed
420 User wants example templates to choose from 3 reviewed
419 Admin wants zero installation 5 reviewed
612 Manager wants dashboard view 5 reviewed
599 Admin wants LDAP integration 5 reviewed
831 Admin wants self-serve password reset 2 reviewed
692 User wants automatic todo list generation 2 reviewed
432 User wants easy task entry 1 reviewed
119 User wants subscription-based e-mail notification 5 reviewed
332 Marketing wants fancy splash screen 3 reviewed
516 Admin wants 1-click license update 2 reviewed
533 User wants app to be ready in 3 seconds or less 5 reviewed
619 User wants app to work using Chrome 5 reviewed
$$$
$
37
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Using Story Points for Estimation
 Different people may take different amounts of time
to perform the same task
 Estimating in hours mixes together the scope of the
work that needs to be done with the speed at which
a particular individual can do that work
 Story points are a relative measure of the scope of a
user story
 Story points separate out the “what” from the “who”
 To use story points, you need to create a relative
scale of scope for reference
38
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Planning Poker
 An Agile estimation technique
 Often uses story points as estimation units
 Leverages the collective wisdom of the whole
team
 Helps to build a sense of team and shared
responsibility
 “We’re all in this together”
 Discourages division by type of work performed
39
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
40
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
41
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
42
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
43
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
44
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
We’re all
in this
together
45
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Velocity
Velocity
10
20
30
40
0
StoryPoints
Time
46
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Bringing it All Together
new reviewed todo wip coded tested done
Burnup
10
20
30
40
0
StoryPoints
Backlog
47
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Modern Practices
Refactoring
User
Stories
Whole
Teams
Collocation
Backlog
Unit Tests
Continuous
Integration
CI
Multi-Stage
CI
One Piece
Flow
S
I
D
C
WT
D
T
T
Burnup
Chart
Velocity
Planning
Poker
48
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Additional Practices for Agile
Product
Owner
$$$
$
Retro-
spectives?
Short
Iterations
Iteration
Review
Daily
Standup
49
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com
Poll/Resources/Q&A
 Damon Poole
dpoole@accurev.com
http://damonpoole.blogspot.com
http://twitter.com/damonpoole
 Continuous Integration, Paul M. Duvall
 User Stories Applied, Mike Cohn
 Refactoring, Martin Fowler
 JUnit Recipes, J.B. Rainsberger
 The Art of Unit Testing, Roy Osherove
50
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com 5050
50
Questions?
www.synerzip.com
Hemant Elhence
hemant@synerzip.com
469.322.0349
51
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com 5151
1. Software product development partner for small/mid-
sized technology companies
 Exclusive focus on small/mid-sized technology companies
 By definition, all Synerzip work is the IP of its respective clients
 Deep experience in full SDLC – design, dev, QA/testing, deployment
 Technology and industry domain agnostic
2. Dedicated team of high caliber software professionals
 Seamlessly extends client’s local team, offering full transparency
 NOT just “staff augmentation”, but provide full mgmt support
3. Actually reduces risk of development/delivery
 Experienced team - uses appropriate level of engineering discipline
 Practices Agile development – responsive, yet disciplined
4. Reduces cost – dual-shore team, 50% cost advantage
5. Offers long term flexibility – allows (facilitates) taking
offshore team captive – aka “BOT” option
Synerzip in a Nut-shell
52
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com 5252
Some of Our Clients
53
Presentation copyright © 2009-2010 AccuRev, Inc.
May be used with permission only. Contact dpoole@accurev.com for permission.
www.synerzip.com 5353
53
Call Us for a Free Consultation!
www.synerzip.com
Hemant Elhence
hemant@synerzip.com
469.322.0349
Thanks!

More Related Content

Similar to Modern Software Practices - by Damon Poole

Java fx ap is
Java fx ap isJava fx ap is
Java fx ap is
Tom Schindl
 
Supercharging Optimizely Performance by Moving Decisions to the Edge
Supercharging Optimizely Performance by Moving Decisions to the EdgeSupercharging Optimizely Performance by Moving Decisions to the Edge
Supercharging Optimizely Performance by Moving Decisions to the Edge
Optimizely
 
What's New in IBM Cognos BI Version 10.2.1.1, Plus New Product Previews
What's New in IBM Cognos BI Version 10.2.1.1, Plus New Product PreviewsWhat's New in IBM Cognos BI Version 10.2.1.1, Plus New Product Previews
What's New in IBM Cognos BI Version 10.2.1.1, Plus New Product Previews
Senturus
 
Robust collaboration services with OSGi - Satya Maheshwari
Robust collaboration services with OSGi - Satya MaheshwariRobust collaboration services with OSGi - Satya Maheshwari
Robust collaboration services with OSGi - Satya Maheshwari
mfrancis
 
Theater Management Software - Features & technology
Theater Management Software - Features & technologyTheater Management Software - Features & technology
Theater Management Software - Features & technology
Hemant Maheshwari
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and Jenkins
SOASTA
 
Cloud Native Cost Optimization UCC
Cloud Native Cost Optimization UCCCloud Native Cost Optimization UCC
Cloud Native Cost Optimization UCC
Adrian Cockcroft
 
Asynchronous architecture (Node.js & Vert.x)
Asynchronous architecture (Node.js & Vert.x)Asynchronous architecture (Node.js & Vert.x)
Asynchronous architecture (Node.js & Vert.x)
Yu Kwangjong
 
Steve Anavi - Smokio presentation Manufacturing meetup April 22, 2015
Steve Anavi - Smokio presentation Manufacturing meetup April 22, 2015Steve Anavi - Smokio presentation Manufacturing meetup April 22, 2015
Steve Anavi - Smokio presentation Manufacturing meetup April 22, 2015
Hardware Club
 
Technology and Digital Platform | 2019 partner summit
Technology and Digital Platform | 2019 partner summitTechnology and Digital Platform | 2019 partner summit
Technology and Digital Platform | 2019 partner summit
Andrew Kumar
 
Modern Load Testing: Move Your Load Testing from the Past to the Present
Modern Load Testing: Move Your Load Testing from the Past to the PresentModern Load Testing: Move Your Load Testing from the Past to the Present
Modern Load Testing: Move Your Load Testing from the Past to the Present
SOASTA
 
Modern Load Testing: Move Your Load Testing from the Past to the Present
Modern Load Testing: Move Your Load Testing from the Past to the PresentModern Load Testing: Move Your Load Testing from the Past to the Present
Modern Load Testing: Move Your Load Testing from the Past to the Present
SOASTA
 
Delivery Pipelines as a First Class Citizen @deliverAgile2019
Delivery Pipelines as a First Class Citizen @deliverAgile2019Delivery Pipelines as a First Class Citizen @deliverAgile2019
Delivery Pipelines as a First Class Citizen @deliverAgile2019
ciberkleid
 
Test Engineering on Mobage
Test Engineering on MobageTest Engineering on Mobage
Test Engineering on Mobage
Masaki Nakagawa
 
Automating Screenshot Testing Component Library
Automating Screenshot Testing Component LibraryAutomating Screenshot Testing Component Library
Automating Screenshot Testing Component Library
Applitools
 
WebRTC Live Q&A Session #5 - JavaScript Promises and WebRTC Interoperability ...
WebRTC Live Q&A Session #5 - JavaScript Promises and WebRTC Interoperability ...WebRTC Live Q&A Session #5 - JavaScript Promises and WebRTC Interoperability ...
WebRTC Live Q&A Session #5 - JavaScript Promises and WebRTC Interoperability ...
Amir Zmora
 
Performance test
Performance testPerformance test
Performance test
Tony Fortunato
 
Using Selenium To Test Mobile? Meet Appium!
Using Selenium To Test Mobile? Meet Appium!Using Selenium To Test Mobile? Meet Appium!
Using Selenium To Test Mobile? Meet Appium!
Sauce Labs
 
TechWell Accelerating Software Delivery with Continuous Integration feat. Dan...
TechWell Accelerating Software Delivery with Continuous Integration feat. Dan...TechWell Accelerating Software Delivery with Continuous Integration feat. Dan...
TechWell Accelerating Software Delivery with Continuous Integration feat. Dan...
SOASTA
 
Business Success With Core Web Vitals | Izzi Smith
Business Success With Core Web Vitals | Izzi SmithBusiness Success With Core Web Vitals | Izzi Smith
Business Success With Core Web Vitals | Izzi Smith
Noisy Little Monkey
 

Similar to Modern Software Practices - by Damon Poole (20)

Java fx ap is
Java fx ap isJava fx ap is
Java fx ap is
 
Supercharging Optimizely Performance by Moving Decisions to the Edge
Supercharging Optimizely Performance by Moving Decisions to the EdgeSupercharging Optimizely Performance by Moving Decisions to the Edge
Supercharging Optimizely Performance by Moving Decisions to the Edge
 
What's New in IBM Cognos BI Version 10.2.1.1, Plus New Product Previews
What's New in IBM Cognos BI Version 10.2.1.1, Plus New Product PreviewsWhat's New in IBM Cognos BI Version 10.2.1.1, Plus New Product Previews
What's New in IBM Cognos BI Version 10.2.1.1, Plus New Product Previews
 
Robust collaboration services with OSGi - Satya Maheshwari
Robust collaboration services with OSGi - Satya MaheshwariRobust collaboration services with OSGi - Satya Maheshwari
Robust collaboration services with OSGi - Satya Maheshwari
 
Theater Management Software - Features & technology
Theater Management Software - Features & technologyTheater Management Software - Features & technology
Theater Management Software - Features & technology
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and Jenkins
 
Cloud Native Cost Optimization UCC
Cloud Native Cost Optimization UCCCloud Native Cost Optimization UCC
Cloud Native Cost Optimization UCC
 
Asynchronous architecture (Node.js & Vert.x)
Asynchronous architecture (Node.js & Vert.x)Asynchronous architecture (Node.js & Vert.x)
Asynchronous architecture (Node.js & Vert.x)
 
Steve Anavi - Smokio presentation Manufacturing meetup April 22, 2015
Steve Anavi - Smokio presentation Manufacturing meetup April 22, 2015Steve Anavi - Smokio presentation Manufacturing meetup April 22, 2015
Steve Anavi - Smokio presentation Manufacturing meetup April 22, 2015
 
Technology and Digital Platform | 2019 partner summit
Technology and Digital Platform | 2019 partner summitTechnology and Digital Platform | 2019 partner summit
Technology and Digital Platform | 2019 partner summit
 
Modern Load Testing: Move Your Load Testing from the Past to the Present
Modern Load Testing: Move Your Load Testing from the Past to the PresentModern Load Testing: Move Your Load Testing from the Past to the Present
Modern Load Testing: Move Your Load Testing from the Past to the Present
 
Modern Load Testing: Move Your Load Testing from the Past to the Present
Modern Load Testing: Move Your Load Testing from the Past to the PresentModern Load Testing: Move Your Load Testing from the Past to the Present
Modern Load Testing: Move Your Load Testing from the Past to the Present
 
Delivery Pipelines as a First Class Citizen @deliverAgile2019
Delivery Pipelines as a First Class Citizen @deliverAgile2019Delivery Pipelines as a First Class Citizen @deliverAgile2019
Delivery Pipelines as a First Class Citizen @deliverAgile2019
 
Test Engineering on Mobage
Test Engineering on MobageTest Engineering on Mobage
Test Engineering on Mobage
 
Automating Screenshot Testing Component Library
Automating Screenshot Testing Component LibraryAutomating Screenshot Testing Component Library
Automating Screenshot Testing Component Library
 
WebRTC Live Q&A Session #5 - JavaScript Promises and WebRTC Interoperability ...
WebRTC Live Q&A Session #5 - JavaScript Promises and WebRTC Interoperability ...WebRTC Live Q&A Session #5 - JavaScript Promises and WebRTC Interoperability ...
WebRTC Live Q&A Session #5 - JavaScript Promises and WebRTC Interoperability ...
 
Performance test
Performance testPerformance test
Performance test
 
Using Selenium To Test Mobile? Meet Appium!
Using Selenium To Test Mobile? Meet Appium!Using Selenium To Test Mobile? Meet Appium!
Using Selenium To Test Mobile? Meet Appium!
 
TechWell Accelerating Software Delivery with Continuous Integration feat. Dan...
TechWell Accelerating Software Delivery with Continuous Integration feat. Dan...TechWell Accelerating Software Delivery with Continuous Integration feat. Dan...
TechWell Accelerating Software Delivery with Continuous Integration feat. Dan...
 
Business Success With Core Web Vitals | Izzi Smith
Business Success With Core Web Vitals | Izzi SmithBusiness Success With Core Web Vitals | Izzi Smith
Business Success With Core Web Vitals | Izzi Smith
 

More from Synerzip

HOW VOCERA LEVERAGES SYNERZIP FOR ENHANCEMENT OF VOCERA PLATFORM & ITS USER E...
HOW VOCERA LEVERAGES SYNERZIP FOR ENHANCEMENT OF VOCERA PLATFORM & ITS USER E...HOW VOCERA LEVERAGES SYNERZIP FOR ENHANCEMENT OF VOCERA PLATFORM & ITS USER E...
HOW VOCERA LEVERAGES SYNERZIP FOR ENHANCEMENT OF VOCERA PLATFORM & ITS USER E...
Synerzip
 
The QA/Testing Process
The QA/Testing ProcessThe QA/Testing Process
The QA/Testing Process
Synerzip
 
Test Driven Development – What Works And What Doesn’t
Test Driven Development – What Works And What Doesn’t Test Driven Development – What Works And What Doesn’t
Test Driven Development – What Works And What Doesn’t
Synerzip
 
Distributed/Dual-Shore Agile Software Development – Is It Effective?
Distributed/Dual-Shore Agile Software Development – Is It Effective?Distributed/Dual-Shore Agile Software Development – Is It Effective?
Distributed/Dual-Shore Agile Software Development – Is It Effective?
Synerzip
 
Using Agile Approach with Fixed Budget Projects
Using Agile Approach with Fixed Budget ProjectsUsing Agile Approach with Fixed Budget Projects
Using Agile Approach with Fixed Budget Projects
Synerzip
 
QA Role in Agile Teams
QA Role in Agile Teams QA Role in Agile Teams
QA Role in Agile Teams
Synerzip
 
Agile For Mobile App Development
Agile For Mobile App Development Agile For Mobile App Development
Agile For Mobile App Development
Synerzip
 
Using Agile in Non-Ideal Situations
Using Agile in Non-Ideal SituationsUsing Agile in Non-Ideal Situations
Using Agile in Non-Ideal Situations
Synerzip
 
Accelerating Agile Transformations - Ravi Verma
Accelerating Agile Transformations - Ravi VermaAccelerating Agile Transformations - Ravi Verma
Accelerating Agile Transformations - Ravi Verma
Synerzip
 
Agile Product Management Basics
Agile Product Management BasicsAgile Product Management Basics
Agile Product Management Basics
Synerzip
 
Product Portfolio Kanban - by Erik Huddleston
Product Portfolio Kanban - by Erik HuddlestonProduct Portfolio Kanban - by Erik Huddleston
Product Portfolio Kanban - by Erik Huddleston
Synerzip
 
Context Driven Agile Leadership
Context Driven Agile LeadershipContext Driven Agile Leadership
Context Driven Agile Leadership
Synerzip
 
Adopting TDD - by Don McGreal
Adopting TDD - by Don McGrealAdopting TDD - by Don McGreal
Adopting TDD - by Don McGreal
Synerzip
 
Pragmatics of Agility - by Venkat Subramaniam
Pragmatics of Agility - by Venkat SubramaniamPragmatics of Agility - by Venkat Subramaniam
Pragmatics of Agility - by Venkat Subramaniam
Synerzip
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App Development
Synerzip
 
Agile2011 Conference – Key Take Aways
Agile2011 Conference – Key Take AwaysAgile2011 Conference – Key Take Aways
Agile2011 Conference – Key Take Aways
Synerzip
 
Performance Evaluation in Agile
Performance Evaluation in AgilePerformance Evaluation in Agile
Performance Evaluation in Agile
Synerzip
 
Managing Technical Debt - by Michael Hall
Managing Technical Debt - by Michael HallManaging Technical Debt - by Michael Hall
Managing Technical Debt - by Michael Hall
Synerzip
 
Elephants in The Agile Room - by Todd Little
Elephants in The Agile Room - by Todd LittleElephants in The Agile Room - by Todd Little
Elephants in The Agile Room - by Todd Little
Synerzip
 
Panning for User Story Gold - by Damon Poole, Agile Coach
Panning for User Story Gold - by Damon Poole, Agile CoachPanning for User Story Gold - by Damon Poole, Agile Coach
Panning for User Story Gold - by Damon Poole, Agile Coach
Synerzip
 

More from Synerzip (20)

HOW VOCERA LEVERAGES SYNERZIP FOR ENHANCEMENT OF VOCERA PLATFORM & ITS USER E...
HOW VOCERA LEVERAGES SYNERZIP FOR ENHANCEMENT OF VOCERA PLATFORM & ITS USER E...HOW VOCERA LEVERAGES SYNERZIP FOR ENHANCEMENT OF VOCERA PLATFORM & ITS USER E...
HOW VOCERA LEVERAGES SYNERZIP FOR ENHANCEMENT OF VOCERA PLATFORM & ITS USER E...
 
The QA/Testing Process
The QA/Testing ProcessThe QA/Testing Process
The QA/Testing Process
 
Test Driven Development – What Works And What Doesn’t
Test Driven Development – What Works And What Doesn’t Test Driven Development – What Works And What Doesn’t
Test Driven Development – What Works And What Doesn’t
 
Distributed/Dual-Shore Agile Software Development – Is It Effective?
Distributed/Dual-Shore Agile Software Development – Is It Effective?Distributed/Dual-Shore Agile Software Development – Is It Effective?
Distributed/Dual-Shore Agile Software Development – Is It Effective?
 
Using Agile Approach with Fixed Budget Projects
Using Agile Approach with Fixed Budget ProjectsUsing Agile Approach with Fixed Budget Projects
Using Agile Approach with Fixed Budget Projects
 
QA Role in Agile Teams
QA Role in Agile Teams QA Role in Agile Teams
QA Role in Agile Teams
 
Agile For Mobile App Development
Agile For Mobile App Development Agile For Mobile App Development
Agile For Mobile App Development
 
Using Agile in Non-Ideal Situations
Using Agile in Non-Ideal SituationsUsing Agile in Non-Ideal Situations
Using Agile in Non-Ideal Situations
 
Accelerating Agile Transformations - Ravi Verma
Accelerating Agile Transformations - Ravi VermaAccelerating Agile Transformations - Ravi Verma
Accelerating Agile Transformations - Ravi Verma
 
Agile Product Management Basics
Agile Product Management BasicsAgile Product Management Basics
Agile Product Management Basics
 
Product Portfolio Kanban - by Erik Huddleston
Product Portfolio Kanban - by Erik HuddlestonProduct Portfolio Kanban - by Erik Huddleston
Product Portfolio Kanban - by Erik Huddleston
 
Context Driven Agile Leadership
Context Driven Agile LeadershipContext Driven Agile Leadership
Context Driven Agile Leadership
 
Adopting TDD - by Don McGreal
Adopting TDD - by Don McGrealAdopting TDD - by Don McGreal
Adopting TDD - by Don McGreal
 
Pragmatics of Agility - by Venkat Subramaniam
Pragmatics of Agility - by Venkat SubramaniamPragmatics of Agility - by Venkat Subramaniam
Pragmatics of Agility - by Venkat Subramaniam
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App Development
 
Agile2011 Conference – Key Take Aways
Agile2011 Conference – Key Take AwaysAgile2011 Conference – Key Take Aways
Agile2011 Conference – Key Take Aways
 
Performance Evaluation in Agile
Performance Evaluation in AgilePerformance Evaluation in Agile
Performance Evaluation in Agile
 
Managing Technical Debt - by Michael Hall
Managing Technical Debt - by Michael HallManaging Technical Debt - by Michael Hall
Managing Technical Debt - by Michael Hall
 
Elephants in The Agile Room - by Todd Little
Elephants in The Agile Room - by Todd LittleElephants in The Agile Room - by Todd Little
Elephants in The Agile Room - by Todd Little
 
Panning for User Story Gold - by Damon Poole, Agile Coach
Panning for User Story Gold - by Damon Poole, Agile CoachPanning for User Story Gold - by Damon Poole, Agile Coach
Panning for User Story Gold - by Damon Poole, Agile Coach
 

Recently uploaded

Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
NaapbooksPrivateLimi
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
varshanayak241
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
MayankTawar1
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
Peter Caitens
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 

Recently uploaded (20)

Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 

Modern Software Practices - by Damon Poole

  • 1. 1 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Modern Best Practices for Software Development and Process Improvement Damon Poole – CTO, AccuRev
  • 2. 2 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com About Damon Poole  Founder and CTO of AccuRev, a leading provider of Software Development Tools  Creator of multiple Jolt-award winning products  20 years of process improvement leadership ranging from small co-located teams to 10,000- person global development shops.  Frequent speaker at software development events  Constant interaction with software development shops of all sizes across many industries
  • 3. 3 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Modern Practices Refactoring User Stories Whole Teams Collocation Backlog Unit Tests Continuous Integration CI Multi-Stage CI One Piece Flow S I D C WT D T T Burnup Chart Velocity Planning Poker
  • 4. 4 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Some Practices Have Whole Books Written About Them
  • 5. 5 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com The Structure of the Work Specify Design Code Integrate Document Write tests Test S D C I W TD
  • 6. 6 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com The Telephone Game
  • 7. 7 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com The Telephone Game ? ? ? ? ?? ??
  • 8. 8 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com The Telephone Game ? ? ? ? ?? ?? ? ? ? ?
  • 9. 9 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com The Telephone Game DS C I W T D What the…
  • 10. 10 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Requirements  3.4 Customer Identification • 3.4.1 A web “cookie” shall be used to uniquely identify visitors • 3.4.2 Each customer shall be associated with a cookie • 3.4.3 Cookies shall be stored in an RDBMS  3.5 Sale presentation • 3.5.1 Each item for sale shall have a button marked “buy” next to the item • 3.5.2 Selecting the “buy” action shall trigger an order placement action  3.6 Fulfillment • 3.6.1 By default, all orders shall use the on-file default shipping information • 3.6.2 If available, all orders will use the customer’s default payment method • 3.6.3 It shall be possible for the customer to cancel any order for up to 4 hours after they place that order.
  • 11. 11 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com User Stories  “As a user I want to order what I am browsing with a single click.”  As a <user role> I want to <achieve some goal>
  • 12. 12 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Why Use User Stories  Keeps focus on the customer’s perspective  Provides a single description used by customer, product owner, scrum master, developer, tester, and documenter  Short term high bandwidth high value communication  Separates need and implementation (like an API)  Simplifies planning  Well suited for Agile (assumes many quick turns)  Encourages innovation and creativity at all levels
  • 13. 13 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com One Piece Flow Within a release DS C I W T D DS C I W T D DS C I W T D
  • 14. 14 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com DS C I W T D DS C I W T D DS C I W T D Within a release One Piece Flow
  • 15. 15 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com DS C I W T D DS C I W T D DS C I W T D DS C I W T D DS C I W T D DS C I W T D DS C I W T D DS C I W T D DS C I W T D DS C I W T D Within a release One Piece Flow
  • 16. 16 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com S I D C WT D T T One Piece Flow Developer Test & Doc
  • 17. 17 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Collocation •2-4 megabit •High latency •Not always avail. •Gigabit •Low latency •Usually available 5 File servers 5 Db servers 4 App servers 4 Build servers 4 Test environments San Jose Boston ChennaiKiev
  • 18. 18 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Collocation •Low bandwidth •High latency •Not always avail. •High bandwidth •Low latency •Usually available San Jose Boston ChennaiKiev Architect Developer Doc writer Product Manager Tester
  • 19. 19 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Collocation Infrequent coordination San Jose Boston ChennaiKiev Architect Developer Doc writer Product Manager Tester Manager Constant communication
  • 20. 20 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Cross Functional/Whole Team Developer(s) Tester(s) Manager Doc WriterProduct Manager
  • 21. 21 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Testing System Integration C C C C C C C C C C C C Unit
  • 22. 22 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Modern Unit Testing  JUnit & JMock for Java  NUnit & NMock for C#  Works best when part of Continuous Integration  Supports refactoring
  • 23. 23 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Refactoring C C C C C C C C C •Same functionality •Better organized •More maintainable •Easier to add new functionality •Joining and splitting methods •File content changes •File renames •Works best with Unit Testing and CI
  • 24. 24 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com $5M per lane $11M per lane
  • 25. 25 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Splitting Work Along Technical Lines Value A
  • 26. 26 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Splitting Work Along Technical Lines Value A Back end, infrastructure Middle layer Front end
  • 27. 27 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Splitting Work By Value Value B Value C Back end, infrastructure Middle layer Front end Value D
  • 28. 28 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Continuous Integration  Fully automated, 1-step build used by everybody  Fully automated, 1-step testing used by everybody  Integration • Integrate new changes into baseline • Build • Test  Faster feedback  Everybody on the same page  Longer runway
  • 29. 29 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Continuous Integration Continuous Integration Specify Design Code Integrate Write tests Test Crunch Time Doc Big Bang
  • 30. 30 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com CI ws ws ws ws ws ws main Continuous Integration on Mainline Only Minutes Hours Team A Team B
  • 31. 31 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com CI CI CI Team A Team B ws ws ws Multiple Stages of Continuous Integration Minutes Hours int Daily ws ws ws
  • 32. 32 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com CI CI CI CI Team A Team B ws ws ws Multiple Stages of Continuous Integration Minutes Hours int Daily ws ws ws staging ship
  • 33. 33 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Managing Priorities Priority Definition 0 Must have/committed 1 Very important 2 Significant value 3 Minor value 4 Unsure
  • 34. 34 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Managing Priorities Priority Actual Meaning 0 Maybe
  • 35. 35 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Managing Priorities Priority Actual Meaning 0 Maybe 1 Definitely not 2 Definitely not 3 Definitely not 4 Definitely not
  • 36. 36 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Backlog Based Prioritization Business Value Issue Story Points State 432 User wants layout pleasing to the eye 2 reviewed 420 User wants example templates to choose from 3 reviewed 419 Admin wants zero installation 5 reviewed 612 Manager wants dashboard view 5 reviewed 599 Admin wants LDAP integration 5 reviewed 831 Admin wants self-serve password reset 2 reviewed 692 User wants automatic todo list generation 2 reviewed 432 User wants easy task entry 1 reviewed 119 User wants subscription-based e-mail notification 5 reviewed 332 Marketing wants fancy splash screen 3 reviewed 516 Admin wants 1-click license update 2 reviewed 533 User wants app to be ready in 3 seconds or less 5 reviewed 619 User wants app to work using Chrome 5 reviewed $$$ $
  • 37. 37 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Using Story Points for Estimation  Different people may take different amounts of time to perform the same task  Estimating in hours mixes together the scope of the work that needs to be done with the speed at which a particular individual can do that work  Story points are a relative measure of the scope of a user story  Story points separate out the “what” from the “who”  To use story points, you need to create a relative scale of scope for reference
  • 38. 38 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Planning Poker  An Agile estimation technique  Often uses story points as estimation units  Leverages the collective wisdom of the whole team  Helps to build a sense of team and shared responsibility  “We’re all in this together”  Discourages division by type of work performed
  • 39. 39 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com
  • 40. 40 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com
  • 41. 41 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com
  • 42. 42 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com
  • 43. 43 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com
  • 44. 44 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com We’re all in this together
  • 45. 45 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Velocity Velocity 10 20 30 40 0 StoryPoints Time
  • 46. 46 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Bringing it All Together new reviewed todo wip coded tested done Burnup 10 20 30 40 0 StoryPoints Backlog
  • 47. 47 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Modern Practices Refactoring User Stories Whole Teams Collocation Backlog Unit Tests Continuous Integration CI Multi-Stage CI One Piece Flow S I D C WT D T T Burnup Chart Velocity Planning Poker
  • 48. 48 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Additional Practices for Agile Product Owner $$$ $ Retro- spectives? Short Iterations Iteration Review Daily Standup
  • 49. 49 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com Poll/Resources/Q&A  Damon Poole dpoole@accurev.com http://damonpoole.blogspot.com http://twitter.com/damonpoole  Continuous Integration, Paul M. Duvall  User Stories Applied, Mike Cohn  Refactoring, Martin Fowler  JUnit Recipes, J.B. Rainsberger  The Art of Unit Testing, Roy Osherove
  • 50. 50 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com 5050 50 Questions? www.synerzip.com Hemant Elhence hemant@synerzip.com 469.322.0349
  • 51. 51 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com 5151 1. Software product development partner for small/mid- sized technology companies  Exclusive focus on small/mid-sized technology companies  By definition, all Synerzip work is the IP of its respective clients  Deep experience in full SDLC – design, dev, QA/testing, deployment  Technology and industry domain agnostic 2. Dedicated team of high caliber software professionals  Seamlessly extends client’s local team, offering full transparency  NOT just “staff augmentation”, but provide full mgmt support 3. Actually reduces risk of development/delivery  Experienced team - uses appropriate level of engineering discipline  Practices Agile development – responsive, yet disciplined 4. Reduces cost – dual-shore team, 50% cost advantage 5. Offers long term flexibility – allows (facilitates) taking offshore team captive – aka “BOT” option Synerzip in a Nut-shell
  • 52. 52 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com 5252 Some of Our Clients
  • 53. 53 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact dpoole@accurev.com for permission. www.synerzip.com 5353 53 Call Us for a Free Consultation! www.synerzip.com Hemant Elhence hemant@synerzip.com 469.322.0349 Thanks!