Outsourcing With Agile
-
Upload
vernon-stinebaker -
Category
Technology
-
view
1.709 -
download
0
description
Transcript of Outsourcing With Agile
![Page 1: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/1.jpg)
Outsourcing with Agile
April 2009
![Page 2: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/2.jpg)
2
Agenda
Purpose and expected outcomes Ground rules About the presenter About Perficient Agile – concepts and methodologies The Perficient Enable-M Methodology How Agile concepts and methodologies address the
challenges that result in failed projects
![Page 3: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/3.jpg)
3
Purpose and Outcomes
Purpose:– Familiarize you with:
• Perficient• Agile concepts and methodologies• Applying agile concepts to (outsourcing) projects• Introduce China GDC’s policy, procedure and benefits
Outcomes:– Know something about Perficient– Understand the challenges (outsourcing) projects face– Recognize key Agile concepts and methodologies– Describe how Agile can be applied to successfully deliver
outsourced projects
![Page 4: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/4.jpg)
4
Ground Rules
Mute your cell phone
Participate – ask and answer questions
Do Don’t
![Page 5: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/5.jpg)
5
About Me
Vernon Stinebaker (史文林)http://www.linkedin.com/in/vernonstinebaker– Director of Technology/Principal Architect– 20+ years software development and process experience
• CMMI, SDLC/waterfall, and agile methodologies– Certified ScrumMaster/Certified Scrum Practitioner– Founder of the open source FDDTools project
![Page 6: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/6.jpg)
6
Perficient Vision & Mission
Vision– To be the preeminent information technology
management consultancy in the US.
Mission– Enable our clients to gain competitive
advantage by making their businesses more responsive to market opportunities and threats, strengthening relationships with customers, suppliers and partners, improving productivity and reducing information technology costs.
Tag Line– “Experts in delivering business-driven
technology solutions.”
![Page 7: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/7.jpg)
7
2008 Fortune American Fastest Growth Companies – Winner
2008 IBM Lotus Distinguished Partner Award for North America – Winner
2007 IBM Information Management North American Distinguished Partner – Winner
2007 EMC Partner of Year – Winner 2007 EMC Select Services Team Partner of the
Year – Winner 2007 Business 2.0 100 Fastest Growing Tech
Companies — #6 2007 Fortune Small Business America’s Fastest-
Growing Small Public Businesses — #9 2007 Fortune 100 Fastest-Growing Companies —
#15
Recent Recognition & Awards
![Page 8: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/8.jpg)
8
Fast Facts
Founded in 1997 Publicly traded (NASDAQ: PRFT) with ~$340
million in annual revenues 1,500 employees, 1,400+ certified business
and technology consultants Over 600 blue chip clients with 80% repeat
business rate Strong partnerships six of the major
vendors: IBM, Microsoft, TIBCO, Documentum, Oracle-Siebel and webMethods
20 locations in North America, Offshore Development Centers in Hangzhou and Macedonia and a technology consulting recruiting office in India
![Page 9: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/9.jpg)
9
Our Business Groups & LocationsUS & Europe: 17 City NetworkAtlanta, Austin, Houston (2), Dallas, Denver, St. Louis (2), Chicago (2), Fairfax, Minneapolis, Philadelphia, New Orleans, Detroit, Columbus, Cincinnati, Indianapolis, San Francisco, Toronto
Global Delivery Centers: Macedonia & China Recruiting Facility: Indian
![Page 10: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/10.jpg)
10
Retail/Franchise Telecommunications Consumer Goods
Manufacturing Energy
Financial Services Healthcare & Life Sciences
Our Customers
AgriBusiness
Insurance
![Page 11: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/11.jpg)
11
About Perficient China
Perficient (Hangzhou) Co., Ltd. 博克软件(杭州)有限公司http://www.perficient.com– Established in 2004 as BoldTech Systems (Hangzhou) Co.,
Ltd.– WOFE of Perficient Inc. (NASAQ: PRFT)– Agile BoldDelivery Methodology (now Enable-M)– 2005 - CMMI 3– 2006 - CMMI 4– 2008- CMMI 5– 12 Agile Certified Project Managers (17 by mid-May)– 20+ projects successfully delivered– Currently running 12 concurrent projects
• Some multi-year• Some with large teams (@50)• Many repeat business
![Page 12: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/12.jpg)
12
Challenges in IT
![Page 13: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/13.jpg)
13
31% of projects are cancelled before they are completed
53% of projects cost over 189% of their original estimates
Only 16% of software projects are completed on-time and on-budget
7 out of 10 IT projects ‘fail’ in some respect
[The Chaos Report 1995/OASIG Study 1995]
Project Failure Statistics
![Page 14: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/14.jpg)
14
Communication breakdowns Poor user input Stakeholder conflicts Vague requirements Poor cost and schedule estimations Hidden costs of going “lean and mean” Failure to plan Poor architecture Late failure warning signals Skills that do not match the job
[http://www.stsc.hill.af.mil/crosstalk/frames.asp?uri=1998/07/causes.asp]
Why Projects Fail
![Page 15: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/15.jpg)
15
Outsourcing
How does Outsourcing – performing work in distributed locations, and often with people from different cultures, who speak different languages effect these challenges?
These challenges become even more acute!
![Page 16: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/16.jpg)
16
How do we address these challenges?
Agile!
![Page 17: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/17.jpg)
17
Agile Manifesto
![Page 18: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/18.jpg)
18
Scrum eXtreme Programming (XP) FDD DSDM Crystal Perficient’s Enable-M …
But they share the same objectives -- those described in the Agile Manifesto
No “one” Agile
![Page 19: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/19.jpg)
19
Modularity - Modularity allows a process to be broken into activities. Iterative - Things change. Short iterations allow us to adapt and
respond to change. Time-bound - Iterations are a perfect unit for planning the software
development project. Parsimony - Agile process focus on parsimony: they require the
minimum number of activities necessary to mitigate risks and achieve their goals.
Adaptive - The agile process adapts to attack new risks. Incremental - We don’t try to build the entire system at once. Instead
we partition it into increments which can be developed in parallel. Convergent - We actively attack all risks worth attacking. People Oriented - Agile processes favor people over process and
technology. People are empowered. Collaborative - Agile processes foster communication among team
members.
Frequent, Tangible, Working Results - Peter Coad
Characteristics of Agile
Miller, Granville G, “The Characteristics of Agile Software Processes”,http://faculty.salisbury.edu/~xswang/Research/Papers/SERelated/Agile/12510385.pdf
![Page 20: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/20.jpg)
20
A brief introduction to Scrum
![Page 21: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/21.jpg)
21
Scrum – A well known Agile framework
3 Roles– Product Owner– ScrumMaster– Team
3 Ceremonies– Sprint Planning– Daily Stand-up– Sprint Demo
3 Artifacts– Product Backlog– Sprint Backlog– Burn-down Charts
Simple, but not easy
![Page 22: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/22.jpg)
22
Define the features of the product
Decide on release date and content
Be responsible for the profitability of the product (ROI)
Prioritize features according to market value
Adjust features and priority every iteration, as needed
Accept or reject work results
Thanks to Mountain Goat Software, LLC
Product Owner
![Page 23: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/23.jpg)
23
Represents management to the project
Responsible for enacting Scrum values and practices
Removes impediments
Ensure that the team is fully functional and productive
Enable close cooperation across all roles and functions
Shield the team from external interferences
Thanks to Mountain Goat Software, LLC
ScrumMaster
![Page 24: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/24.jpg)
24
Typically 5-9 people
Cross-functional:
Programmers, testers, user experience designers, etc.
Members should be full-time
May be exceptions (e.g., database administrator)
Teams are self-organizing
Ideally, no titles but rarely a possibility
Membership should change only between sprints
Thanks to Mountain Goat Software, LLC
The Team
![Page 25: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/25.jpg)
25
Scrum projects make progress in a series of “sprints” Typical duration is 2–4 weeks or a calendar month at
most A constant duration leads to a better rhythm Product is designed, coded, and tested during the
sprint
Thanks to Mountain Goat Software, LLC
Sprints
![Page 26: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/26.jpg)
26
Team selects items from the product backlog they can commit to completing
Sprint backlog is created
Tasks are identified and each is estimated (1-16 hours)
Collaboratively, not done alone by the ScrumMaster
High-level design is considered
As a vacation planner, I want to see photos of the hotels.
As a vacation planner, I want to see photos of the hotels.
Code the middle tier (8 hours)Code the user interface (4)Write test fixtures (4)Code the foo class (6)Update performance tests (4)
Thanks to Mountain Goat Software, LLC
Sprint Planning
![Page 27: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/27.jpg)
27
These are not status for the ScrumMaster They are commitments in front of peers
What did you do yesterday?What did you do yesterday?11
What will you do today?What will you do today?22
Is anything in your way?Is anything in your way?33
Thanks to Mountain Goat Software, LLC
Daily Scrum
![Page 28: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/28.jpg)
28
Team presents what it accomplished during the sprint
Typically takes the form of a demo of new features or underlying architecture
Informal
2-hour prep time rule
No slides
Whole team participates
Invite the world
Thanks to Mountain Goat Software, LLC
Sprint Demo
![Page 29: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/29.jpg)
29
The requirements
A list of all desired work on the project
Ideally expressed such that each item has value to the users or customers of the product
Prioritized by the product owner
Reprioritized at the start of each sprint
Thanks to Mountain Goat Software, LLC
Product backlog
![Page 30: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/30.jpg)
30
Individuals pull work of their own choosing
Work isn’t assigned
Any team member can add, delete or change tasks in the sprint backlog
Work for the sprint emerges
If work is unclear, define a task with a larger amount of time and break it down later
Update work remaining as more becomes known
Thanks to Mountain Goat Software, LLC
Sprint backlog
![Page 31: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/31.jpg)
31
Hou
rs
Thanks to Mountain Goat Software, LLC
Burndown chart
![Page 32: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/32.jpg)
32
Perficient’s Enable-M Methodology
![Page 33: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/33.jpg)
33
Based on XP Kent Beck was a consultant on initial implementation Considers Scrum and other Agile frameworks,
methodologies, and practices Enhanced to support multi-sourcing projects Additional rigor as required
by clients to satisfy CMMI Level 5 practices
Enable-M
![Page 34: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/34.jpg)
34
Communication breakdowns Poor user input Stakeholder conflicts Vague requirements Poor cost and schedule estimations Hidden costs of going “lean and mean” Failure to plan Poor architecture Late failure warning signals Skills that do not match the job
[http://www.stsc.hill.af.mil/crosstalk/frames.asp?uri=1998/07/causes.asp]
Remember: why projects fail
![Page 35: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/35.jpg)
35
How are the challenges addressed through Agile?
![Page 36: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/36.jpg)
36
Co-location Daily stand up Transparency “Team” Test-driven Requirements Defining “done”
Communication Break-downs
![Page 37: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/37.jpg)
37
Demos Retrospectives Agile state of mind - embrace change Iterative development
Poor user input
![Page 38: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/38.jpg)
38
“ Team”– Chickens and Pigs
Product Owner Backlog management Iterative development
Stakeholder Conflicts
![Page 39: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/39.jpg)
39
Iterative development Demos of potentially shippable products Embracing change
Vague Requirements
![Page 40: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/40.jpg)
40
Backlog estimates Sprint planning Velocity Sprints Inspect/adapt
Poor Cost and Schedule Estimates
![Page 41: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/41.jpg)
41
Transparency Burn-down charts Demos of potentially shippable products at the
end of each iteration
Hidden costs of going ‘lean and mean’
![Page 42: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/42.jpg)
42
Backlog management Sprint planning Burn-down charts
Failure to plan
![Page 43: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/43.jpg)
43
Agile Modeling Simple/Iterative design (borrowed from XP)
– YAGNI (you ain’t gonna need it)
Poor architecture
![Page 44: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/44.jpg)
44
Sprints Burn-down charts Potentially shippable product Commitment and “done” Transparency
Late failure warning signals
![Page 45: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/45.jpg)
45
Pull-based task management Cross-functional teams
Skills that do not match the job
![Page 46: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/46.jpg)
46
This works great in a single environment, with small and capable teams, but can it work in
geographically distributed teams?
![Page 47: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/47.jpg)
47
Some answers can be found in a report delivered at the Agile 2006 International Conference
Distributed Scrum: Agile Project Management with Outsourced Development TeamsAgile 2006 International ConferenceJeff Sutherland, Anton Viktorov, Jack Blount
They advocate:– Cross functional teams that are relatively
autonomous– Daily Scrum meetings help break down cultural
barriers and disparities in work styles– Scrum-of-Scrums where ScrumMasters meet
regularly (from all locations)
Distributed teams best practices
![Page 48: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/48.jpg)
48
Daily Scrum meetings of all developers from multiple sites
Daily meeting of Product Owner Team Frequent, automated builds from a single
repository No distinction between developers at different
sites on the same team Seamless integration of XP practices
Distributed teams best practices (continued)
![Page 49: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/49.jpg)
49
Again, some best practices many not be available in all environments
– No common, overlapping time zone to conduct daily Scrum meetings
– Different geographic locations represent specializations (such as testing as an independent function)
But…
![Page 50: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/50.jpg)
50
Try to retain as many of the ‘out of the box’ Agile practices as possible without change
– Conduct daily Scrums with all members if there is time zone overlap (compromise if no overlap but some groups are willing to come early or stay late)
– Look at alternatives if no overlap can be found• Record and share daily Scrum meetings• Use project Wiki for to provide public daily updates• Use Issue tracking systems to enter and track issues
Inspect and adapt
![Page 51: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/51.jpg)
51
Some activities must be performed as a group– Backlog review– Sprint planning
Scrum-of-Scrums (ScrumMaster meeting) must take place every day
Continuous Integration – Daily build should be shared – Common repository is essential
Inspect and adapt (continued)
![Page 52: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/52.jpg)
52
Scrum requires cross-functional teams– Cross-functional is
• The team has all capabilities required to complete work• The team will have different levels of skill and different
strengths
Scrum encourages that all team members be willing to take on any task; the objective is to move the ball down the field and score
Distributed team composition
![Page 53: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/53.jpg)
53
What are the most important Agile characteristics required for a successful project?
![Page 54: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/54.jpg)
54
Great people!
![Page 55: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/55.jpg)
55
Delivery!
Delivering a “potentially shippable product” every Sprint!
![Page 56: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/56.jpg)
56
Quality
TDD – Test Driven Development
![Page 57: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/57.jpg)
57
Does it work?
Yes!
20+ satisfied clients, many with repeat business can’t be wrong.
![Page 58: Outsourcing With Agile](https://reader034.fdocuments.us/reader034/viewer/2022052619/5550ccb9b4c905e8318b49bb/html5/thumbnails/58.jpg)
58
Q&A