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 (20)

KEY
Everything you ever wanted to know about deployment but were afraid to ask
lauraxthomson
 
PDF
Practical Guide to Scrum
Pavel Dabrytski
 
PPTX
Product owner
Luis Gonçalves, CSP
 
PPTX
Product owner
MrSnow76
 
PPT
Continuous Integration
Preetam Palwe
 
PPTX
Continuous Integration & the Release Maturity Model
cPrime | Project Management | Agile | Consulting | Staffing | Training
 
PPTX
Continuous Delivery in the Enterprise
IBM UrbanCode Products
 
PPTX
prod-dev-management.pptx
Michael Ming Lei
 
PPT
extreme Programming
Bilal Shah
 
PPT
Q7503 12post
anilktumarmahapatra
 
PDF
Andy singleton continuous delivery-fcb - nov 2014
Brad Power
 
PDF
Agile practices for management
Icalia Labs
 
PPTX
What the music of the 1980s taught me about shipping software
Michael Ewins
 
PDF
The NRB Group mainframe day 2021 - DevOps on Z - Jerome Klimm - Benoit Ebner
NRB
 
PPTX
FlowCon 2013 Conference
gbgruver
 
PDF
Use Scrum and Continuous Delivery to innovate like crazy!
Peter Gfader
 
PPTX
Application Lifecycle Management with TFS
Mehdi Khalili
 
PDF
Monktoberfest Fast Delivery
Adrian Cockcroft
 
PPTX
Xanpan extended presentation
allan kelly
 
PDF
Agile Scrum at Double V3
bmasse @ Nexio
 
Everything you ever wanted to know about deployment but were afraid to ask
lauraxthomson
 
Practical Guide to Scrum
Pavel Dabrytski
 
Product owner
Luis Gonçalves, CSP
 
Product owner
MrSnow76
 
Continuous Integration
Preetam Palwe
 
Continuous Integration & the Release Maturity Model
cPrime | Project Management | Agile | Consulting | Staffing | Training
 
Continuous Delivery in the Enterprise
IBM UrbanCode Products
 
prod-dev-management.pptx
Michael Ming Lei
 
extreme Programming
Bilal Shah
 
Q7503 12post
anilktumarmahapatra
 
Andy singleton continuous delivery-fcb - nov 2014
Brad Power
 
Agile practices for management
Icalia Labs
 
What the music of the 1980s taught me about shipping software
Michael Ewins
 
The NRB Group mainframe day 2021 - DevOps on Z - Jerome Klimm - Benoit Ebner
NRB
 
FlowCon 2013 Conference
gbgruver
 
Use Scrum and Continuous Delivery to innovate like crazy!
Peter Gfader
 
Application Lifecycle Management with TFS
Mehdi Khalili
 
Monktoberfest Fast Delivery
Adrian Cockcroft
 
Xanpan extended presentation
allan kelly
 
Agile Scrum at Double V3
bmasse @ Nexio
 

More from Synerzip (20)

PDF
HOW VOCERA LEVERAGES SYNERZIP FOR ENHANCEMENT OF VOCERA PLATFORM & ITS USER E...
Synerzip
 
PPT
The QA/Testing Process
Synerzip
 
PPT
Test Driven Development – What Works And What Doesn’t
Synerzip
 
PDF
Distributed/Dual-Shore Agile Software Development – Is It Effective?
Synerzip
 
PPT
Using Agile Approach with Fixed Budget Projects
Synerzip
 
PDF
QA Role in Agile Teams
Synerzip
 
PDF
Agile For Mobile App Development
Synerzip
 
PDF
Using Agile in Non-Ideal Situations
Synerzip
 
PDF
Accelerating Agile Transformations - Ravi Verma
Synerzip
 
PDF
Agile Product Management Basics
Synerzip
 
PDF
Product Portfolio Kanban - by Erik Huddleston
Synerzip
 
PPT
Context Driven Agile Leadership
Synerzip
 
PDF
Adopting TDD - by Don McGreal
Synerzip
 
PDF
Pragmatics of Agility - by Venkat Subramaniam
Synerzip
 
PPT
Cross Platform Mobile App Development
Synerzip
 
PPT
Agile2011 Conference – Key Take Aways
Synerzip
 
PPT
Performance Evaluation in Agile
Synerzip
 
PDF
Scrum And Kanban (for better agile teams)
Synerzip
 
PPT
Managing Technical Debt - by Michael Hall
Synerzip
 
PPT
Elephants in The Agile Room - by Todd Little
Synerzip
 
HOW VOCERA LEVERAGES SYNERZIP FOR ENHANCEMENT OF VOCERA PLATFORM & ITS USER E...
Synerzip
 
The QA/Testing Process
Synerzip
 
Test Driven Development – What Works And What Doesn’t
Synerzip
 
Distributed/Dual-Shore Agile Software Development – Is It Effective?
Synerzip
 
Using Agile Approach with Fixed Budget Projects
Synerzip
 
QA Role in Agile Teams
Synerzip
 
Agile For Mobile App Development
Synerzip
 
Using Agile in Non-Ideal Situations
Synerzip
 
Accelerating Agile Transformations - Ravi Verma
Synerzip
 
Agile Product Management Basics
Synerzip
 
Product Portfolio Kanban - by Erik Huddleston
Synerzip
 
Context Driven Agile Leadership
Synerzip
 
Adopting TDD - by Don McGreal
Synerzip
 
Pragmatics of Agility - by Venkat Subramaniam
Synerzip
 
Cross Platform Mobile App Development
Synerzip
 
Agile2011 Conference – Key Take Aways
Synerzip
 
Performance Evaluation in Agile
Synerzip
 
Scrum And Kanban (for better agile teams)
Synerzip
 
Managing Technical Debt - by Michael Hall
Synerzip
 
Elephants in The Agile Room - by Todd Little
Synerzip
 
Ad

Recently uploaded (20)

PPTX
Function & Procedure: Function Vs Procedure in PL/SQL
Shani Tiwari
 
PDF
How AI in Healthcare Apps Can Help You Enhance Patient Care?
Lilly Gracia
 
PDF
Code and No-Code Journeys: The Maintenance Shortcut
Applitools
 
PPTX
PCC IT Forum 2025 - Legislative Technology Snapshot
Gareth Oakes
 
PDF
Message Level Status (MLS): The Instant Feedback Mechanism for UAE e-Invoicin...
Prachi Desai
 
PPTX
Operations Profile SPDX_Update_20250711_Example_05_03.pptx
Shane Coughlan
 
PDF
How Attendance Management Software is Revolutionizing Education.pdf
Pikmykid
 
PDF
Show Which Projects Support Your Strategy and Deliver Results with OnePlan df
OnePlan Solutions
 
PPTX
Build a Custom Agent for Agentic Testing.pptx
klpathrudu
 
PDF
Meet in the Middle: Solving the Low-Latency Challenge for Agentic AI
Alluxio, Inc.
 
PPTX
UI5con_2025_Accessibility_Ever_Evolving_
gerganakremenska1
 
PDF
10 Salesforce Consulting Companies in Sydney.pdf
DianApps Technologies
 
PPTX
Chess King 25.0.0.2500 With Crack Full Free Download
cracked shares
 
PDF
Everything you need to know about pricing & licensing Microsoft 365 Copilot f...
Q-Advise
 
PDF
Salesforce Experience Cloud Consultant.pdf
VALiNTRY360
 
PDF
How to Download and Install ADT (ABAP Development Tools) for Eclipse IDE | SA...
SAP Vista, an A L T Z E N Company
 
PDF
ESUG 2025: Pharo 13 and Beyond (Stephane Ducasse)
ESUG
 
PDF
custom development enhancement | Togglenow.pdf
aswinisuhu
 
PDF
Virtual Threads in Java: A New Dimension of Scalability and Performance
Tier1 app
 
PDF
ERP Consulting Services and Solutions by Contetra Pvt Ltd
jayjani123
 
Function & Procedure: Function Vs Procedure in PL/SQL
Shani Tiwari
 
How AI in Healthcare Apps Can Help You Enhance Patient Care?
Lilly Gracia
 
Code and No-Code Journeys: The Maintenance Shortcut
Applitools
 
PCC IT Forum 2025 - Legislative Technology Snapshot
Gareth Oakes
 
Message Level Status (MLS): The Instant Feedback Mechanism for UAE e-Invoicin...
Prachi Desai
 
Operations Profile SPDX_Update_20250711_Example_05_03.pptx
Shane Coughlan
 
How Attendance Management Software is Revolutionizing Education.pdf
Pikmykid
 
Show Which Projects Support Your Strategy and Deliver Results with OnePlan df
OnePlan Solutions
 
Build a Custom Agent for Agentic Testing.pptx
klpathrudu
 
Meet in the Middle: Solving the Low-Latency Challenge for Agentic AI
Alluxio, Inc.
 
UI5con_2025_Accessibility_Ever_Evolving_
gerganakremenska1
 
10 Salesforce Consulting Companies in Sydney.pdf
DianApps Technologies
 
Chess King 25.0.0.2500 With Crack Full Free Download
cracked shares
 
Everything you need to know about pricing & licensing Microsoft 365 Copilot f...
Q-Advise
 
Salesforce Experience Cloud Consultant.pdf
VALiNTRY360
 
How to Download and Install ADT (ABAP Development Tools) for Eclipse IDE | SA...
SAP Vista, an A L T Z E N Company
 
ESUG 2025: Pharo 13 and Beyond (Stephane Ducasse)
ESUG
 
custom development enhancement | Togglenow.pdf
aswinisuhu
 
Virtual Threads in Java: A New Dimension of Scalability and Performance
Tier1 app
 
ERP Consulting Services and Solutions by Contetra Pvt Ltd
jayjani123
 
Ad

Modern Software Practices - by Damon Poole

  • 1. 1 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] for permission. www.synerzip.com The Telephone Game
  • 7. 7 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact [email protected] for permission. www.synerzip.com The Telephone Game ? ? ? ? ?? ??
  • 8. 8 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact [email protected] for permission. www.synerzip.com The Telephone Game ? ? ? ? ?? ?? ? ? ? ?
  • 9. 9 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] for permission. www.synerzip.com
  • 40. 40 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact [email protected] for permission. www.synerzip.com
  • 41. 41 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact [email protected] for permission. www.synerzip.com
  • 42. 42 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact [email protected] for permission. www.synerzip.com
  • 43. 43 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact [email protected] for permission. www.synerzip.com
  • 44. 44 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] for permission. www.synerzip.com Poll/Resources/Q&A  Damon Poole [email protected] 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 [email protected] for permission. www.synerzip.com 5050 50 Questions? www.synerzip.com Hemant Elhence [email protected] 469.322.0349
  • 51. 51 Presentation copyright © 2009-2010 AccuRev, Inc. May be used with permission only. Contact [email protected] 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 [email protected] 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 [email protected] for permission. www.synerzip.com 5353 53 Call Us for a Free Consultation! www.synerzip.com Hemant Elhence [email protected] 469.322.0349 Thanks!