Upload
naresh-jain
View
1.578
Download
1
Embed Size (px)
DESCRIPTION
Agile development practice has gained popularity in the last few years. India has so far been riding on CMMI bandwagon, with companies vying with each other to get CMMI certification. Recently, we are seeing more and more projects being executed using agile methodologies. This has also brought with it, some challenges. Not all of them are unique to agile, but they tend to manifest earlier and has higher impact in agile.While there are different types of challenges, here, we are focusing on the Indian cultural ones. Also, we are looking at the challenges in a joint product development – where work is done both by offshore team (which is typically the outsourced organization) and the onsite team (the client team).After we elaborate on the challenges, we present how we have tried to solve them in our current client engagement.
Citation preview
Cultural Challenges in Global
AgileAgile
Agile India Conference 2010
Raghuram Bharathan
BACKGROUND
Playground
• Co-development
– Different time zones
– Different teams
• 2 week iterations• 2 week iterations
• Separate QA team
• Remote Product Owner
• QA inline with iteration
• Common toolset
Rules of the game
• Meetings
– Pre-planning and Planning
– Demo and Retro
– Standups– Standups
– Conference calls
• Work
– User stories
– Bugs from released stories
Players
• Customer team
– Average 10+ years experience
– Similar experience levels
• Offshore team• Offshore team
– Different experience levels - 0 to 10
– Different cultural backgrounds
– Most with no agile experience
THE CHALLENGES
Why IT industry?
Why IT industry?
• High-paying
• Opportunities
• Overseas exposure
• Glamorous• Glamorous
• Air-conditioned work, 5 day week
Education System
• Theoretical focus
– Civics and civic sense
– Learn about road rules but not follow
– System of Government
– Less importance to games and sports
• How many of us can fix a leaking tap, build a book shelf
Programming
• Focus on quantity – number of languages
• Learn through a set of programs
– Sort a list of numbers
– Binary search– Binary search
– Matrix multiplication
– Doubly linked list
Data Structure
Complexity
Programming
• Less focus on design and implementation
– Performance, scalability and reliability
– Testability
– Coding standards – Coding standards
– Best practices of programming
How it affects
• Doing it right the first time
• Test First/ Test Driven Development
• Writing clean code (free of violations)
IT/Service Mindset
• Somehow solve a problem
• Means are not important or relevant
• Deadline driven
• Quantity rather than quality• Quantity rather than quality
• Applicable for only one situation
Contrasting Product Mindset
• Hardware, OS, browser independence
• Design for change
• Logging
• Installation and deployment strategy• Installation and deployment strategy
• Upgrade strategy
• Service packs and hotfixes
How it affects
• Designing for change
• Thinking beyond specific problem
• Looking at the bigger picture
Distractions at work
• Flexible working hours
• Getting to office – traffic jams
• Breakfast and coffee breaks
• Phone calls• Phone calls
• Personal mails and social network
• Friends at work
• Hobbies and recreations – lack of
How it affects
• Sticking to estimated time
• Working to compensate for lost time
• Dependant team members and delays
• Dependant groups – QA, schedule• Dependant groups – QA, schedule
Hierarchy
• Parents at home
– School
– College
– Job– Job
– Marriage
• Teachers at school/college
• Supervisors at work
– Tell me what to do and by when
How it affects
• Commitment
• Estimation
• Ownership
• Proactiveness• Proactiveness
Resume fattening
• Number of different technologies
• Number of projects
• Jack of all arts
– Master of none?– Master of none?
• Superficial/Shallow knowledge
• Disinterest in specialization
How it affects
• Working in a time-boxed environment
– Sticking to estimates
– Overcoming technical challenges
– Writing optimized code– Writing optimized code
– Using appropriate library features
Reporting Impediments
• Cultural influence
– left hand stigma
– fear of punishment
• Self-conscious• Self-conscious
• Linking to appraisal
• Non-technical
Manager
Retrospective participation
• Cultural influence– Stoic and self-content
– Why upset the apple-cart?
• Set a goal – meet or exceed
• Why raise the barrier?
• Skirt around sensitive topics
– People, ability, aptitude
Collaboration
• Talking vs discussion
• Divide and conquer vs
independence
• Me, mine, myself vs us, ours• Me, mine, myself vs us, ours
• Blame game
• Taking feedbacks personally
Communication
• Cultural influence
– English as foreign language
– Mother tongue influence
• Trouble with accent• Trouble with accent
• What I said and what I
mean
• Verbal and written
Holidays
• Cultural influence
– Away from family
– Going home for festivals
• Multitude of festivals• Multitude of festivals
• Regional and religious
• 2 week iterations and holidays
Unlearning
• Happy with status quo
– resistance to change
• Unaware of doing
mistakesmistakes
• Difficulty in correcting
• Importance of learning
it right the first time
Tools of tradeTools of trade
Prayer Programming
Pat on the back
OVERCOMING CHALLENGES
Self-driven teams
• Who should bell the cat?
• Why me?
• What is in it for me?
• Harder I work, the more • Harder I work, the more
work I get
• Peer pressure
Chief Programmer model
• Create specializations amongst team members
• Break stories into tasks
– Specialized team member picks tasks
• Less self-driven and more ability-driven• Less self-driven and more ability-driven
• Leads as Chief Programmers
– interact with customer
– coach and mentor team
Tool-driven approach
• Minimize the human factor
• Tools
– to flag style violations
– to identify lack of code coverage– to identify lack of code coverage
– to flag incorrect coding practices
– to run for each check-in and identify issues at the
earliest
– consistent across local and remote teams
• Core business hours
• Blocking of social networking at work
• Co-location – low cubicle walls
Overcoming distractions
•
• Manager co-located with team
Tracking
• Variant of Pomodoro technique – pre-lunch
and post-lunch (3 hour slots)
• Stand ups before start of work and post-lunch
• Individual follow-ups and reminders• Individual follow-ups and reminders
• Proxy updates
• Multiple channels
– Wiki, Issue tracking system, email, instant
messaging
– Regular teleconferences
Communication Channels
– Regular teleconferences
– Large whiteboard with visible status
Pigs and Chickens
• Be transparent
• Track through tools
• Try to help• Try to help
• Shield from
distraction
* of the iteration* of the iteration
Summary
• Agile is here to stay
• Brings issues to surface rapidly
• Focuses on continuous improvement
• Need to work hard to stay afloat• Need to work hard to stay afloat
• Survival of the fittest