ag09 offshore et pratiques agiles en
DESCRIPTION
Offshore et pratiques agilesStuart Adlis et Bernard VoituronTRANSCRIPT
Henri Petitet, Managing DirectorValtech Technology
Mardi 17 Novembre 2009Paris, la Défense
Comment intégrer les options off-shore et les prati ques Agiles dans les choix stratégiques d’une DSI ?
Stuart AlldisHead of eCommerce Rail [email protected]
Henri Petitet, Managing DirectorValtech Technology
Mardi 17 Novembre 2009Paris, la Défense
Part I : Are Offshore and Agile compatible?
The Problem of the CIO
Doing more with a smaller budget
• More application development
• More responsiveness to business demand
• Reduce maintenance costs
• Reduce infrastructure costs
• Establish an organizationwhich emphasizes business innovation
• Position his organization as the center of valuerather than the center of cost
#3
Proposed solutions - chronologically
● Selected list of vendors
• in order to benefit from the rate effect on the volumes
●Generalization of subcontracting and fixed-bid proj ects
● Appearance of development centers in regions (near shore)
●Widespread use of open source
●Offshore Strategy Development
#4
First Offshore Observations
● Uneven quality of deliverablesthat impact compliance with the time to market
● Tunnel effect accentuated by the distance
● Problem of understanding the requirement
● Improbable responsivenessto business demands and functional changes
● Lack of transparency● Less benefit on small project teams
#5
Agility helps offset these side effects
In fact, agility provides: • Greater predictability
• Better responsivenessbecause the IT and Business teams are integrated
• Self-organizing teams
• Transparency, feedback,visual management, communication
• Time to market
• Reduced maintenance coststhanks to better quality
• Adapted for small teams
#6
Are Agility and offshore compatible?
At Valtech we firmly believe thatagility and offshore are not only compatible
but that the combination of both is a key factor of success.
Agility naturally erases the distance through• Periodic and frequent mandatory ceremonies• Collaborative tools (wiki, code repository, instant m sg.…)• Permanent monitoring of progress (daily scrum, demos, Co nt.Int.)• Transparency of KPIs shared in real time: velocity, qua lity
Agility adapts to offshore: • Adapt the documentation to facilitate mutual underst anding• Put in place powerful means of video-conferencing• Plan to travel and do workshops
#7
Conclusion
Agility is consistent with Offshoring
and many of our customers like Rail Europe
have understood, adopted and generalized it.
#8
Prénom NOM, FonctionSOCIETE
Mardi 17 Novembre 2009Paris, la Défense
Prénom NOM, [email protected]
Part II : Offshore Development The Inside Track
Stuart Alldis
Head of eCommerce
Contents
#2
• Rail Europe• Development - Internal vs Offshore• External Tender Process• Agile In Practice
Rail Europe
#3
About Us
• Subsidiary of the French railway operator SNCF• Responsible for distribution of European rail to the UK market• Various distribution channels for both B2C to B2B
• Retail Outlet• Call Centre
• Web
• Largest European rail supplier in the UK• Sister company with Eurostar
Rail Europe
#4
Projects developed with Valtech India
• 3 Web applications – B2B & B2C web sites• Website represent 70% of turnover• Switched booking engine from legacy system to web servic es• Increase customer offering• Shift from paper tickets to e-tickets• Ability to up-sell ancillary products• Improved user navigation and simplified booking proces s• Enhanced web site content• Integrated Content Management System• Reduced distribution costs
Rail Europe
#5
Benefits Of Working In Off Shore Agile Enviroment
• Increase in sales
• Reduction in distrubution costs
• Increased Return On Investment
• IT not a barrier to market
#6
• Disadvantages
– lack of resources
– recruitment drive
– expensive
– slower timescales
– hardware set up
– high staffing costs
– Software licenses
• Advantages
– more control
– easier communication
– less security risks
– requirements easier to explain
Internal
Development – Internal or External?
#7
• Disadvantages
– requirement understanding
– communication
– control
– security
– Can't understand foreign accents
– Slow response time
• Advantages
– Costs
– help develop internal staff
– on tap resources
– quicker development
– agreed standards of delivery
– Concentrate on core competencies
– Increase productivity
Offshore
Development – Internal or External?
External Tender Process – Who?
#8
• 4 companies tendered:• One company Based in UK• One company Based in France
• One company Based in Belgium
• Valtech (Worldwide, Indian Development)
• Each company was graded on:• Communication
• Quality of work
• Customer base• Size
• Brief understanding
• Can do attitude• Price
• Companies presented to:• Myself• Project Stake holders
External Tender Process – Who?
#9
• Voting Results(Radar View):
External Tender Process – Who?
#10
• Voting Results(Functional Coverage):
Agile In Practice
#11
Requirements vs Development – The Agile Methodology
Agile In Practice
#12
Iteration Planning
Iteration 2 (August)
Date Time Activities Participants
31-Aug Full day Iteration 1 demo, Retrospective meeting Product Owner and Offshore team
03-Sep First half day Iteration 2 planning Product Owner and Offshore team
03-Sep Second half day Requirement workshop Product Owner and Offshore team
04-Sep First half day Estimation Workshop Offshore team *
04-Sep Second half day Modelling Workshop Offshore team *
Iteration 3 (September)
28-Sep Full day Iteration 2 demo, Retrospective meeting Product Owner and Offshore team
01-Oct First half day Iteration 3 planning Product Owner and Offshore team
01-Oct Second half day Requirement workshop Product Owner and Offshore team
03-Oct First half day Estimation Workshop Offshore team *
03-Oct Second half day Modelling Workshop Offshore team *
Iteration 2
Example Of Iteration Planning ForIteration 2 & 3
Iteration 1
Agile In Practice
#13
For a successful project you need:
• Communication• Understanding• Product Knowledge• Customer Services With 3rd parties• Plan Do Check Act (PDCA)• Extended Team
Agile In Practice
#14
Chain Of Command
1. Product Owner
2. Client Project Manager
3. Off Shore Delivery Manager
4. Off Shore Project Manger
5. Internal and Off Shored Development & Testing Team
Agile In Practice
#15
Communication – The Key
• Before The Project Starts You Will Need :
• Face to face meeting and introduction among the project stake holders
• Introductions between client team and offshore team• Video / conference call / picture exchange between the teams
• Provide the software company with key contacts such as product owner
#17
Agile In Practice
#18
Communication – The Key
• During The Project You Will Need:
• Daily scrum meeting between client and development team
• Can last from 5 minutes to 1 hour depending on issue level• All participants must commit to these daily meetings
• Questions & answers
• Clarification
Agile In Practice
#19
Communication – The Key
• During The Project You Will Need:
• An instant messaging system for all involved staff. Such as• Skype• MSN Messenger• ICQ
• A common communication and document repository such as Confluence Wiki Page for information sharing of the project
• Share each others contact details (mobile, landline, email, skype etc)
Agile In Practice
#20
Product Knowledge
• To sell anything you need to understand what you are selli ng. Software development is the same:
• Spend time the with your off-shored team to explain what your business does
• Provide product training to key personal within the testing and developmentteam
• Give them a point of contact for future reference and help for your productsand services
Agile In Practice
#21
Product Knowledge
• To sell anything you need to understand what you are selli ng. Software development is the same:
• Spend time the with your off-shored team to explain what your business does
• Provide product training to key personal within the testing and developmentteam
• Adopt interactive and informal training rather than text book style training
• Do not give them a product guide document and expect them to understandwhat your business does and why
Agile In Practice
#22
Customer Service
• Many projects involve a client 3rd party. Make sure you :
• Communicate all key information to all parties
• Have frequent scrum meetings between all parties• Share your project plan and road map between everyone
• Be transparent between all parties
• Involve your 3rd party for key decisions
Agile In Practice
#23
Managing The Project - Plan Do Check Act (PDCA)
• Using an Agile methodology for development you will need to:
• Participate in each iteration meeting
• Take the lead in the requirement workshops with all developers and testers• Constantly monitor the project progress using tools such as a burn down chart
Agile In Practice
#24
Managing The Project - Plan Do Check Act (PDCA)
• Using an Agile methodology for development you will need to:
• Provide quick decisions for road blocks faced by the team
• Give feedback on the each iteration demo• Participate in the iteration retrospective meetings with the team
• Implement action points raised from the retrospective meetings in the upcoming iteration
Agile In Practice
#25
Extended Team
• Once the commercials have been agreedas product owner you need to:
• Treat your off shored team as your own
• Share with them the highs and lows• Integrate your team with their team
• Provide branding merchandise to motivate them
• Synchronise their team environment the same as yours with posters, stationary, mouse mats etc
Agile In Practice
#26
Agile In Practice
#27
Extended Team
• Once the commercials have been agreedas product owner you need to:
• Get to know your off shored team• Socialise with them - Lunch / Dinner / Drinks
• Gift them with country specific presents
• Sit with the team rather than a separate isolated office• Be flexible in working hours to synchronise time zone differences
Agile In Practice
#28
Agile In Practice
#29
Agile In Practice
#30
Agile In Practice
#31
My Average Month In The Project Cycle
A normal month equals one development and release iter ation.
• Week 1
• Deploy code from the last iteration release in our environment
• Start the user acceptance testing (UAT)
• Log defects and change request• Lead the next iteration requirements workshop and planning meeting
• Attend the daily scrum meeting
Agile In Practice
#32
My Average Month In The Project Cycle
A normal month equals one development and release iter ation.
• Week 2 & 3
• Provide responses to clarifications
• Find solutions for potential road blocks
• Track the UAT status• Monitor the progress of the iteration
• Draft the business requirements and test cases for the next iteration
• Attend the daily scrum meeting• Keep everyone motivated
Agile In Practice
#33
My Average Month In The Project Cycle
A normal month equals one development and release iter ation.
• Week 4
• Publish final requirement documents for the next iteration
• Publish final acceptance testing documents for the next iteration
• Attend the daily scrum meeting• Iteration demo and retrospective meeting
• Plan to implement the action points for the next iteration that resulted from the
current iteration retrospective meeting
#34
Thanks for listening
Any Questions?
Stuart AlldisHead of eCommerce
Rail Europe
34 Tower View, West Malling
Kent, ME19 4ED, England
+44 (0)1732 526 727