35
How to optimize offshore software development with Agile methodologies Prasad Chaudhari [email protected] 14 Mai 2012 , Munich 1 Wednesday, May 16, 2012

How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari [email protected] ... Challenges

Embed Size (px)

Citation preview

Page 1: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

How to optimize offshore software development with Agile methodologies

Prasad [email protected]

14 Mai 2012 , Munich

1

Wednesday, May 16, 2012

Page 2: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

Still why do companies outsource?

2

Wednesday, May 16, 2012

Page 3: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

Have you heard of these problems with software outsourcing?

- Business requirement comprehension- Motivation of the project co-ordinators- Actual project status?- Out of budget✓ How some companies successfully outsource

their software development?

3

Wednesday, May 16, 2012

Page 4: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

Success story

Customer: zooplus AG www.zooplus.deLeading online shop in Europe for pet supplies Turnover: 300m € Project: Implementing next generation online shopProject duration: 12 monthsTeam: 2 onsite, 9 offshoreResult: Success, new shop is in production.

4

Wednesday, May 16, 2012

Page 5: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

Agenda

• Why establishing control over the offshore project is necessary?

• How just in time specifications closes gap between requirements and delivery?

• How to increase productivity through iterative adaptations?

• Service offerings

• Question and Answers

5

Wednesday, May 16, 2012

Page 6: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

ESTABLISHING CONTROL

What is meant by controlling?

• Where you are, compared with where youʼre supposed to be

• What lies ahead that can affect you

• Where youʼre going to end up, compared with where you said you would end up

6

Wednesday, May 16, 2012

Page 7: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

ESTABLISHING CONTROL

Why it is difficult to get control?

Problem lies with knowing the real status

• Nature of relationship Customer - Supplier

• Not knowing the team very well

• Work cultural differences

• Geographical location

• Second language for critical business communication

7

Wednesday, May 16, 2012

Page 8: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

ESTABLISHING CONTROL

Why Agile methodology?

• Iterative development

• Incremental development

• Delivered work package = Status

8

Wednesday, May 16, 2012

Page 9: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

ESTABLISHING CONTROL

SCRUM Framework: Agile implementation

9

Wednesday, May 16, 2012

Page 10: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

ESTABLISHING CONTROL

Deliver working software in iterations

10

Wednesday, May 16, 2012

Page 11: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

ESTABLISHING CONTROL

Daily SCRUM

11

Daily meeting and the three questions?• What did you do yesterday to get the work package done?

• What will you do today to get the work package done?

• What are impediments that prevent you from finishing the top priority work package

Wednesday, May 16, 2012

Page 12: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

ESTABLISHING CONTROL

Daily SCRUM from conference room

12

Wednesday, May 16, 2012

Page 13: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

ESTABLISHING CONTROL

Have you recognized these advantages?

Delivery in smaller work packagesClear goal for team per iterationIndividual interactionProblem identificationAssessing project status

13

Wednesday, May 16, 2012

Page 14: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

ESTABLISHING CONTROL

Challenges

✴ Creating work packages✴ Solving impediments/problems in time✴ Attending to daily meetings

14

Wednesday, May 16, 2012

Page 15: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

ESTABLISHING CONTROL

Summary

• Why control over offshore team is difficult?

• How interactive and incremental development gives you that control?

• How SCRUM framework supports this?

15

Wednesday, May 16, 2012

Page 16: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

Just in-time specification: Reduce the gap between requirements and delivery

16

Vision

High level specification

3 - 4 weeks

Low level specification

5 - 6 weeks

Development

12 weeks

Potentialinformation

loss

Potentialinformation

loss

At onsiteInternal team

At onsiteInternal + external teams

At offshoreExternal team

Wednesday, May 16, 2012

Page 17: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

Just in-time specificationChanging requirements

• Humphrey's law “Customer does not know exactly what he wants until he sees working software

• Wegnerʼs lemma “it is not possible to completely specify an interactive system. Nor it is possible to test it completely”

17

Wednesday, May 16, 2012

Page 18: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

Just in-time specificationHow?

18

Vision

High level specification

3 - 4 weeks

Low level specification

Development

2 weeksLow level

specification

Development

2 weeks

Wednesday, May 16, 2012

Page 19: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

Just in-time specification

How just it works?

19

Wednesday, May 16, 2012

Page 20: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

Just in-time specification

Product backlog: Document management

20

High level

ManageDocuments

Delete Document

Edit document

Create document

List ofDocuments

Paging &Sorting

Show the listDelete

Document

Edit document

Create document

Paging &Sorting

Show the list

Product Backlog

Wednesday, May 16, 2012

Page 21: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

Just in-time specification

Sprint backlog: Document management

21

ManageDocuments

Delete Document

Edit document

Create document

List ofDocuments

Paging &Sorting

Show the list

Product Backlog

Delete Document

Edit document

Create document

Paging &Sorting

Show the list

PrioritizedCreate

document

Show the list

Sprint Backlog

User story

Wednesday, May 16, 2012

Page 22: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

Just in-time specification

Sprint planning :Communication effectiveness

22

Wednesday, May 16, 2012

Page 23: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

Just in-time specification

Sprint planning: Estimations

Product owner presentsTeam estimates

23

Wednesday, May 16, 2012

Page 24: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

Just in-time specification

Advantages

FlexibilityLow specifications inventoryEfficient requirements communicationFaster project set upShortens development cycle

24

Wednesday, May 16, 2012

Page 25: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

Just in-time specification

Challenges

✴ Rejecting the changes during Sprint✴ Maintain specification inventory level low✴ Make sure that small pieces fits together✴ Fixed price projects

25

Wednesday, May 16, 2012

Page 26: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

Summary

• Just in-time specifications

• Readiness for change

• Efficient requirement communication

26

Wednesday, May 16, 2012

Page 27: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

Iterative adaptation

How to improve productivity?

• Act

• Reflect

• Adapt

27

Wednesday, May 16, 2012

Page 28: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

Iterative adaptation

Productivity: iterative adaptation

28

http://www.methodsandtools.com/archive/scrum1.gif

Wednesday, May 16, 2012

Page 29: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

Iterative adaptation

Sprint Review

• Demo

• As Expected?

• Was important functionality built?

• Is the Order right?

29

Wednesday, May 16, 2012

Page 30: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

Iterative adaptation

Retrospective

• Team reflects on finished iteration

• Team analyses stakeholder feedback

• Team finds actions to improve productivity

30

Wednesday, May 16, 2012

Page 31: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

Putting all pieces together

31

• Establishing control

• Just in-time specification

• Continuos feedback and iterative adaptation

Wednesday, May 16, 2012

Page 32: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

Iterative adaptation

Productivity: iterative adaptation

32

http://www.methodsandtools.com/archive/scrum1.gif

Wednesday, May 16, 2012

Page 33: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

Our services

33

Wednesday, May 16, 2012

Page 34: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

Partners

34

CMMI Level 3 appraisedISO 27001 company

• Software services • Business intelligence consultancy• Business process outsourcing

• Gaming• Social platform integraion

• Apps development iPhone, iPad, Anroid, Blackberry

Successful engineering,Munich • Agile coaching

Wednesday, May 16, 2012

Page 35: How to optimize offshore software development with Agile ... · How to optimize offshore software development with Agile methodologies Prasad Chaudhari prasadvc@gmail.com ... Challenges

Thank You

35

Wednesday, May 16, 2012