Outsourcing With Agile

  • 1,642 views
Uploaded on

An overview of IT challenges and how Perficient China uses agile frameworks, methodologies, and practices to address these challenges and consistently deliver valued results to our clients.

An overview of IT challenges and how Perficient China uses agile frameworks, methodologies, and practices to address these challenges and consistently deliver valued results to our clients.

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • HI dear i am Priscilla by name, i read your profile and like to be in contact with you, that is why i drop this note for you, please i we like you to contact me in my privet mail box to enable me send my picture to you,and also tell you more about me thanks i we be waiting for your reply, (bernard_priscilla@yahoo.com)
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
1,642
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
94
Comments
1
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Outsourcing with Agile April 2009
  • 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
  • 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
  • 4. Ground Rules
    • Mute your cell phone
    • Participate – ask and answer questions
    Do Don’t
  • 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
  • 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.”
  • 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
  • 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
  • 9. Our Business Groups & Locations Global Delivery Centers: Macedonia & China US & Europe: 17 City Network Atlanta, Austin, Houston (2), Dallas, Denver, St. Louis (2), Chicago (2), Fairfax, Minneapolis, Philadelphia, New Orleans, Detroit, Columbus, Cincinnati, Indianapolis, San Francisco, Toronto Recruiting Facility: Indian
  • 10. Our Customers
    • Retail/Franchise
    • Telecommunications
    • Consumer Goods
    • Manufacturing
    • Energy
    • Financial Services
    • Healthcare & Life Sciences
    • AgriBusiness
    • Insurance
  • 11. About Perficient China
    • Perficient (Hangzhou) Co., Ltd. 博克软件(杭州)有限公司
      • http://www.perficient.com
      • E stablished 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
  • 12.
    • Challenges in IT
  • 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
  • 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
  • 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!
  • 16.
    • How do we address these challenges?
    • Agile!
  • 17. Agile Manifesto
  • 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
  • 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
  • 20.
    • A brief introduction to Scrum
  • 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 
  • 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
    Product Owner Thanks to Mountain Goat Software, LLC
  • 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
    ScrumMaster Thanks to Mountain Goat Software, LLC
  • 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
    The Team Thanks to Mountain Goat Software, LLC
  • 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
    Sprints Thanks to Mountain Goat Software, LLC
  • 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
    Sprint Planning 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
  • 27.
    • These are not status for the ScrumMaster
      • They are commitments in front of peers
    Daily Scrum What did you do yesterday? 1 What will you do today? 2 Is anything in your way? 3 Thanks to Mountain Goat Software, LLC
  • 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
    Sprint Demo Thanks to Mountain Goat Software, LLC
  • 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
    Product backlog Thanks to Mountain Goat Software, LLC
  • 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
    Sprint backlog Thanks to Mountain Goat Software, LLC
  • 31. Burndown chart Hours Thanks to Mountain Goat Software, LLC
  • 32. Perficient’s Enable-M Methodology
  • 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
  • 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
  • 35. How are the challenges addressed through Agile?
  • 36.
    • Co-location
    • Daily stand up
    • Transparency
    • “ Team”
    • Test-driven Requirements
    • Defining “done”
    Communication Break-downs
  • 37.
    • Demos
    • Retrospectives
    • Agile state of mind - embrace change
    • Iterative development
    Poor user input
  • 38.
    • “ Team”
      • Chickens and Pigs
    • Product Owner
    • Backlog management
    • Iterative development
    Stakeholder Conflicts
  • 39.
    • Iterative development
    • Demos of potentially shippable products
    • Embracing change
    Vague Requirements
  • 40.
    • Backlog estimates
    • Sprint planning
    • Velocity
    • Sprints
    • Inspect/adapt
    Poor Cost and Schedule Estimates
  • 41.
    • Transparency
    • Burn-down charts
    • Demos of potentially shippable products at the end of each iteration
    Hidden costs of going ‘lean and mean’
  • 42.
    • Backlog management
    • Sprint planning
    • Burn-down charts
    Failure to plan
  • 43.
    • Agile Modeling
    • Simple/Iterative design (borrowed from XP)
      • YAGNI (you ain’t gonna need it)
    Poor architecture
  • 44.
    • Sprints
    • Burn-down charts
    • Potentially shippable product
    • Commitment and “done”
    • Transparency
    Late failure warning signals
  • 45.
    • Pull-based task management
    • Cross-functional teams
    Skills that do not match the job
  • 46.
    • This works great in a single environment, with small and capable teams, but can it work in geographically distributed teams?
  • 47.
    • Some answers can be found in a report delivered at the Agile 2006 International Conference
      • Distributed Scrum: Agile Project Management with Outsourced Development Teams
      • Agile 2006 International Conference
      • Jeff 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
  • 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)
  • 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…
  • 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
  • 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)
  • 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
  • 53.
    • What are the most important Agile characteristics required for a successful project?
  • 54.
    • Great people!
  • 55.
    • Delivery!
    • Delivering a “potentially shippable product” every Sprint!
  • 56.
    • Quality
    • TDD – Test Driven Development
  • 57. Does it work?
    • Yes!
    • 20+ satisfied clients, many with repeat business can’t be wrong.
  • 58.
    • Q&A
  • 59. Agile Manifesto Principles
    • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
    • Welcome changing requirements , even late in development. Agile processes harness change for the customer's competitive advantage .
    • Deliver working software frequently , from a couple of weeks to a couple of months, with a preference to the shorter timescale.
    • Business people and developers must work together daily throughout the project.
    • Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
    • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
    • Working software is the primary measure of progress.
    • Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
    • Continuous attention to technical excellence and good design enhances agility.
    • Simplicity -- the art of maximizing the amount of work not done -- is essential.
    • The best architectures, requirements, and designs emerge from self-organizing teams.
    • At regular intervals, the team reflects on how to become more effective , then tunes and adjusts its behavior accordingly.