Webinar agile-spring-maximum-roi

31
Spring + A gile = Maximum ROI - Nirav Sanghavi

description

 

Transcript of Webinar agile-spring-maximum-roi

Page 1: Webinar agile-spring-maximum-roi

Spring + Agile = Maximum ROI

- Nirav Sanghavi

Page 2: Webinar agile-spring-maximum-roi

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

Page 3: Webinar agile-spring-maximum-roi

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

Page 4: Webinar agile-spring-maximum-roi

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

Page 5: Webinar agile-spring-maximum-roi

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

Page 6: Webinar agile-spring-maximum-roi

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

Page 7: Webinar agile-spring-maximum-roi

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

Page 8: Webinar agile-spring-maximum-roi

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

Page 9: Webinar agile-spring-maximum-roi

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

Page 10: Webinar agile-spring-maximum-roi

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

Page 11: Webinar agile-spring-maximum-roi

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

?

?

?

?

!

Page 12: Webinar agile-spring-maximum-roi

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

Page 13: Webinar agile-spring-maximum-roi

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

Page 14: Webinar agile-spring-maximum-roi

Utilising the Burndown ChartEf

fort

(B

ack

log

Siz

e)

Sprint

3

1

2

4

5

6

Page 15: Webinar agile-spring-maximum-roi

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

Page 16: Webinar agile-spring-maximum-roi

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?

Page 17: Webinar agile-spring-maximum-roi

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

Page 18: Webinar agile-spring-maximum-roi

Agile does not mean say NO to processes!

Image courtesy http://creativityhacker.ca

Page 19: Webinar agile-spring-maximum-roi

• 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

Page 20: Webinar agile-spring-maximum-roi

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

Page 21: Webinar agile-spring-maximum-roi

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

Page 22: Webinar agile-spring-maximum-roi

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

Page 23: Webinar agile-spring-maximum-roi

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

Page 24: Webinar agile-spring-maximum-roi

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.

Page 25: Webinar agile-spring-maximum-roi

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

Page 26: Webinar agile-spring-maximum-roi

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

Page 27: Webinar agile-spring-maximum-roi

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

Page 28: Webinar agile-spring-maximum-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

Page 29: Webinar agile-spring-maximum-roi

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

Page 30: Webinar agile-spring-maximum-roi

Question and Answers

Write to us: [email protected]

To get free consultation on your curiosities/queries

Page 31: Webinar agile-spring-maximum-roi

Thank You