cultural challenges in global agile

Post on 06-May-2015

1.579 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

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.

TRANSCRIPT

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

Maharaja’s College, Ernakulam

http://maruhgar.blogspot.com

raghuram.bharathan@yahoo.com

top related