Webinar agile-spring-maximum-roi

Post on 27-Jan-2015

111 views 0 download

Tags:

description

 

Transcript of Webinar agile-spring-maximum-roi

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: inquiry@cygnet-infotech.com

To get free consultation on your curiosities/queries

Thank You