Upload
cygnet-infotech
View
111
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
Spring + Agile = Maximum ROI
- Nirav Sanghavi
About Cygnet Infotech
• We are a global IT services & solutions provider.
• We provide custom software development services across technologies and domains to our clients in over 23 countries.
• We are ISO 9001, ISO 27001 and CMMi Level III Certified
• Learn more about us at www.cygnet-infotech.com
TestingWhiz™ is an Easy, Intuitive and Affordable Test Automation Solution that uses Keyword-Driven Testing and Data Driven Testing for Web and Cloud Application Testing
www.testing-whiz.com
m1 enterprise ordering systems provide a range of smartphone based ordering apps applicable for B2B, retail, restaurants and catalog companies
www.my-m1.com
Code Less, Test More
Webinar Agenda
• Compare and contrast Agile with waterfall
• Best practices with Agile development
• Going Agile in product development with J2EE
• Tips for Spring based product development
• How to start recovering investment cost in early phase of product
• Q&A
Webinar Agenda
• Compare and contrast Agile with waterfall
• Best practices with Agile development
• Going Agile in product development with J2EE
• Tips for Spring based product development
• How to start recovering investment cost in early phase of product
• Q&A
Fixed Requirements Resources Time
Estimated Resources Time Features
Plan
Driven
Value
Driven
Waterfall Agile
The plan creates cost/schedule
estimates
Release themes and feature
Indent drive estimates
Compare and contrast Agile with waterfall
Compare and contrast Agile with waterfall
Important
• Process and tools
• Comprehensive documentation
• Contract negotiation
• Following a plan
More Important
• Individuals and interaction
• Working software
• Customer collaboration
• Responding to change
Design in Scrum
Traditional Thinking
• Key decisions made up front
• Design all before build any
• Based on core assumptions
• (Point-based thinking)
Agile Thinking
• Build from the beginning
• Build spanning solutions
• Build thin strips of product
• Let working product guide
• Don’t assume – find out
• Decide as late as possible
Webinar Agenda
• Compare and contrast Agile with waterfall
• Best practices with Agile development
• Going Agile in product development with J2EE
• Tips for Spring based product development
• How to start recovering investment cost in early phase of product
• Q&A
Avoid Over-planning
• Good enough is better thanperfect
• Delay decisions as late as possible
• Keep an holistic view
• Work to your horizon
Va
lue
0Effort
Stop planningsomewhere here
Point-based vs. Set-based Decision-Making
Point-based
• Deciding early
• Lost opportunities
• Hit-and-miss: increased risk of failure
Set-based
• Emerging constraints
• Keeps options open
• Honing in on rightsolution
?
?
?
?
!
Value Based Teams
• Possesses all competencesto deliver value
• Has change access to allparts of the system
• Directly answerable to customer
• Stands or falls as a teamQA
Backlog grooing and importance of Acceptance Criteria
Basics
• Aka Definition of Done
• What does done mean?
• Is a feature done?
• Criteria set by Product Owner
• Be clear and concise
Benefits
• Aligned expectations
• More reliable estimates
• Better testing
• Review agenda
Utilising the Burndown ChartEf
fort
(B
ack
log
Siz
e)
Sprint
3
1
2
4
5
6
Barely Good Enough
• Beyond good enough is waste
• Don’t gold-plate product
• Don’t build product that doesn’tadd value
Technical Debt
• Poor/undone work is debt
• Impact of debt exacerbates over time
• Upstream debt costs more
• Pay as you go: don’t fix what you don’t need
Product quality
The Sprint Retrospective
Basics
• Striving for ever leaner performance
• Both technical and interpersonalfocus
• ”What went (not so) well in thissprint?”
• ”What impediments did we have and how did/can we fix them(permanently)?”
Hints and Tips
• Be honest with self and others
• Be involved and allow othersthe same opportunity
• Engender mutual respect
• Make your learning visible
• Use working agreements
• An improvement backlog?
Webinar Agenda
• Compare and contrast Agile with waterfall
• Best practices with Agile development
• Going Agile in product development with J2EE
• Tips for Spring based product development
• How to start recovering investment cost in early phase of product
• Q&A
Agile does not mean say NO to processes!
Image courtesy http://creativityhacker.ca
• Do document whatever is concluded.• Subject experts and domain members
can be invited on need basis.• All questions raised and assumptions
taken has to be in black and white.• Daily scrum, sprint planning, sprint
review are vital.
Avoid communication gaps and ping-pong
Unit testing is not just dress rehearsals
• Quality can not be overlooked• Code for today not for tomorrow but
consider ‘Maintenance’ aspects• Early catch and early fix
Agile projects are built around motivated individuals. Let each team member focus on integrating his or her work. Leave it to continuous integration tool to package your build and ship it to QA. Eliminate the need for manual handoffs.
Self Service Deployment
Stop waiting around on each other
No surprises
Agile teams don’t wait until launch to discover trouble. Errors are inevitable as humans are involved in software development. Look at the graph of impact for error catching and its severity.
• Known grey areas must be passed through PoC
• Do not hesitate putting something as ‘Spike’
Fail Fast , Learn Fast
Image courtesy Ramey Newell
Webinar Agenda
• Compare and contrast Agile with waterfall
• Best practices with Agile development
• Going Agile in product development with J2EE
• Tips for Spring based product development
• How to start recovering investment cost in early phase of product
• Q&A
Tips for Spring based product development
Do’s Don’ts
Use best of Java features Don’t code APIs that are vendor dependent
Use Maven based project structure with Spring
Omit version numbers plugins! Do not rely on Maven’s built in Super pom plugin versions
Use Jetty for faster deployment in dev Don’t use Tomcat unless there is a reason
Localize Disparate Logics Exposition of Presentation Tier Data Structures
Minimize Duplication of Control Logic Exposing Sensitive Resources to Client
Monitor Requests Making non-transaction services REQUIRED.
Webinar Agenda
• Compare and contrast Agile with waterfall
• Best practices with Agile development
• Going Agile in product development with J2EE
• Tips for Spring based product development
• How to start recovering investment cost in early phase of product
• Q&A
Estimating Business Value
Benefit = How much do we gain by having this feature?
Penalty = How much do we lose by not having this feature?
Business Value = Benefit + Penalty Note: Benefit ≠ -Penalty
Item BW rBV SP rE ROI
Item A 12 33% 13 37% 0.90
Item B 15 42% 8 23% 1.82
Item C 6 17% 13 37% 0.44
Item D 3 8% 1 3% 2.91
rBV = BW
∑all release BWs
rE = SP
∑all release SPs
ROI = rBV
rE
• Which item should be delivered first?
• Why?
Example of a very small release Backlog
Facilitating Prioritization: ROI
* Sprint velocity will stabilise over the initial sprints† Assuming project runs to completion. Also, remember that
estimates are estimates!
Project cost† = sprint cost . backlog size
sprint velocity
Sprint velocity* = story points consumed
sprints completed
Project duration† = sprint duration . backlog size
sprint velocity
Feature TTM = sprint duration . prioritised story points + 1
sprint velocity
Release Management with the Burndown Chart
Webinar Agenda
• Compare and contrast Agile with waterfall
• Best practices with Agile development
• Going Agile in product development with J2EE
• Tips for Spring based product development
• How to start recovering investment cost in early phase of product
• Q&A
Question and Answers
Write to us: [email protected]
To get free consultation on your curiosities/queries
Thank You