VA Software Background
VA Software Background
•
• Publicly held since 1999 (Nasdaq: LNUX)Publicly held since 1999 (Nasdaq: LNUX)
•
• Parent company of OSTGParent company of OSTG
•
• Flagship product: SourceForge Enterprise Flagship product: SourceForge Enterprise Edition
Edition
•
• Customers include Fortune 1000 firms in Customers include Fortune 1000 firms in financial services, communications,
financial services, communications, manufacturing, government & defense manufacturing, government & defense……
•
• SourceForge technology also powers SourceForge technology also powers the efforts of the open
the efforts of the open-source -source community worldwide
community worldwide (SourceForge.net)
(SourceForge.net)
•
• Over 1 Million+ SourceForge users Over 1 Million+ SourceForge users worldwide
Late 2001 Needs
Late 2001 Needs
…
…
..
..
Fremont, CA Chennai, India Ukraine Tokyo, Japan •• Bring new team swiftly up to speedBring new team swiftly up to speed
•
• Swift ramp upSwift ramp up •
• CoCo--developmentdevelopment •
• New team takes on all 3.x lead developmentNew team takes on all 3.x lead development •
• 3.x moves into sustaining engineering mode when 4.1 is released3.x moves into sustaining engineering mode when 4.1 is released •
• 3.x moves into maintenance mode when 4.2 is released3.x moves into maintenance mode when 4.2 is released •
• Continued, efficient collaborative development with teams in Continued, efficient collaborative development with teams in Ukraine and Japan
Ukraine and Japan
•
• Continued development of 3.x Continued development of 3.x product line
product line
•
• Start development of 4.x productStart development of 4.x product
•
What We
What We
’
’
re
re
Developing
Developing
…
…
. &
. &
What We Use
What We Use
Key Offshore Requirements
Key Offshore Requirements
•
• High quality and timeliness of workHigh quality and timeliness of work
•
• Ease of knowledge transfer and retentionEase of knowledge transfer and retention
•
• High flexibility regarding locale of project executionHigh flexibility regarding locale of project execution
•
• Strong IP protectionStrong IP protection
•
• Accurate & transparent project governance:Accurate & transparent project governance:
•
• Comprehensive audit trailComprehensive audit trail •
• High visibility and control of programsHigh visibility and control of programs •
• Identify and obviate costs that reduce offshore savingsIdentify and obviate costs that reduce offshore savings
•
• Savings expectations as high as 80%Savings expectations as high as 80% •
Offshore Team: Build vs. Buy
Offshore Team: Build vs. Buy
•
• BuyBuy
•
• Swift start up (+)Swift start up (+) •
• Minimal infrastructural complexity (+)Minimal infrastructural complexity (+) •
• Less control (Less control (--)) •
• Higher cost (Higher cost (--)) •
• Less risk, lower commitment (+)Less risk, lower commitment (+) •
• Flexibility to swiftly add staff (+)Flexibility to swiftly add staff (+) •
• BuildBuild
•
• Longer to establish team and infrastructure (Longer to establish team and infrastructure (--)) •
• Greater control and lower cost in the long run (+)Greater control and lower cost in the long run (+)
Hybrid Model
Hybrid Model
Gain experience & prove it works
Establish your own entity, lower cost, increase control
Document Requirements Candidate Identification
Vendor Selection Trial Project
No cost to VA Software; Exercised both teams
RFP
Included contract term-sheet
Contract
Rate of staff turnover “Shadow Staff”
Price adjusts as team grows ……
Identify & Quantify Needs
Establishing the Relationship
Establishing the Relationship
•
• Decision: buy not build Decision: buy not build
•
• Swift processSwift process
•
• 12 weeks from go to close12 weeks from go to close •
• Formal processFormal process
•
• Trial projectTrial project •
• RFPRFP •
• Informal process –Informal process –
getting to know the team getting to know the team
•
• Trial project was Trial project was veryvery enlightening
enlightening
•
Building The Relationship
Building The Relationship
•
• TrainingTraining
•
• Formal & informalFormal & informal •
• Staff exchangeStaff exchange •
• ““Eat our own dog foodEat our own dog food”” •
• ProcessProcess
•
• Defined within the development environmentDefined within the development environment •
• Lots of examples & guidance; Lots of feedbackLots of examples & guidance; Lots of feedback •
• RelationshipRelationship
•
• Brief Indian team on status of VABrief Indian team on status of VA’’s businesss business •
• Teach Teach ““Push backPush back”” •
Costs
Costs
•
• Software Engineer: $16 per hour / $30k p.a.Software Engineer: $16 per hour / $30k p.a.
•
• Lead Engineer, Project Manager: $22 per hour / $42k p.a.Lead Engineer, Project Manager: $22 per hour / $42k p.a.
•
• [Beware of 9[Beware of 9-hour workdays!]-hour workdays!]
•
• Fully-Fully-loaded Software Engineer in Silicon Valley: $120k p.a.loaded Software Engineer in Silicon Valley: $120k p.a.
•
• 4 India-4 India-based engineers = 1 USbased engineers = 1 US--based engineerbased engineer
•
• Travel to US:Travel to US:
•
• $1,500 transport per trip$1,500 transport per trip •
• $100 per diem $100 per diem •
• Costs included network bandwidth & majority of offCosts included network bandwidth & majority of off-shore located -shore located hardware
Staffing Levels
Staffing Levels
Efficiency
Efficiency
•
• New engineers took, on average, 40 working days to achieve full New engineers took, on average, 40 working days to achieve full efficiency
efficiency
•
• Upon allocation, shadow staff were at full efficiency within 2 Upon allocation, shadow staff were at full efficiency within 2 –– 3 days3 days
•
• Efficiency of IndiaEfficiency of India-based staff averaged 80% of that of US-based staff averaged 80% of that of US--based based staff
staff
•
• Mutual efforts drove continuous quality improvementsMutual efforts drove continuous quality improvements
•
• Location of senior resources makes a big difference:Location of senior resources makes a big difference:
•
• E.g. When designing a major product component, a Product DesigneE.g. When designing a major product component, a Product Designer/Manager was r/Manager was allocated locally in India.
allocated locally in India. •
• Effective on-Effective on-shore leadership skills tended to transfer well to offshore leadership skills tended to transfer well to off- -shore staff
Efficiency
Efficiency
•
• Initial tasks usually bug fixing –Initial tasks usually bug fixing – large, historic dataset made it easy large, historic dataset made it easy to measure efficiency
to measure efficiency
•
• Fix rate by severity & complexity of issue (function points, Fix rate by severity & complexity of issue (function points, LOCLOC’’ss etc)etc) •
Technology
Technology
•
• Central, shared collaboration serverCentral, shared collaboration server
•
• Capture all eCapture all e--mail in discussion forumsmail in discussion forums •
• Document storage, versioning, review/approvalDocument storage, versioning, review/approval •
• Task management synchronized with MS ProjectTask management synchronized with MS Project •
• Source code change managementSource code change management •
• Bug and enhancement prioritization, assignment and trackingBug and enhancement prioritization, assignment and tracking •
• Instant MessagingInstant Messaging
•
• Shared whiteboard & desktop for jointShared whiteboard & desktop for joint-development sessions-development sessions
•
• Voice over IP (VOIP)Voice over IP (VOIP)
•
• Primary and backup broadband connectionPrimary and backup broadband connection
•
Lessons learned
Lessons learned
(1)(1)•
• Offshore development can be very cost effectiveOffshore development can be very cost effective
•
• But not on day 1; Focus on incremental improvementsBut not on day 1; Focus on incremental improvements •
• Significantly increased planning and execution flexibilitySignificantly increased planning and execution flexibility
•
• Communication is a key to successCommunication is a key to success
•
• Archives, change management and audit trails saved our lives!Archives, change management and audit trails saved our lives! •
• Great source of materials for reuse elsewhere in the companyGreat source of materials for reuse elsewhere in the company •
• Management time was [initially] greater than we expectedManagement time was [initially] greater than we expected
•
• OnOn--site project manager from vendor made a big differencesite project manager from vendor made a big difference •
• BUT we removed this role when the relationship was establishedBUT we removed this role when the relationship was established •
•
• Treat the offshore team as you would treat your own staffTreat the offshore team as you would treat your own staff
•
• Identify risks and establish mitigation plans early in the Identify risks and establish mitigation plans early in the process
process
•
• Expect and plan for communications downtime: AutonomyExpect and plan for communications downtime: Autonomy •
• Example: Software Change Management system replicationExample: Software Change Management system replication •
• Face-Face-time is valuable for relationship building and can be very time is valuable for relationship building and can be very cost effective
cost effective
–
– Example: Indian staff working in the US are paid at Indian rate Example: Indian staff working in the US are paid at Indian rate
–
– Incremental cost is travel and per diem Incremental cost is travel and per diem
•
• Ever-Ever-growing knowledge base makes staff regrowing knowledge base makes staff re--assignment & assignment & project
project--locale reassignment easierlocale reassignment easier
Lessons learned
Lessons learned
(2)(2)•
• High value in common processes, practices & terminologyHigh value in common processes, practices & terminology
–
– Established at project start, and accumulated over timeEstablished at project start, and accumulated over time •
• Regular process post-Regular process post-mortem and improvementsmortem and improvements
•
• Demand that offshore partner be very critical Demand that offshore partner be very critical
•
• Understanding that they are taught not to criticize the customerUnderstanding that they are taught not to criticize the customer
•
• Our use of a collaborative environment for offshore Our use of a collaborative environment for offshore development has:
development has:
•
• Validated our own product (SourceForge) for offshore developmentValidated our own product (SourceForge) for offshore development •
• Helped us improve SourceForge for managing offshore projectsHelped us improve SourceForge for managing offshore projects •
• Allowed us to meet our cost and productivity objectives while reAllowed us to meet our cost and productivity objectives while retaining taining control and flexibility
control and flexibility
Lessons learned
Lessons learned
(3)(3)•
• Auto-Auto-assignment of bugs & enhancement requests keeps work assignment of bugs & enhancement requests keeps work moving 24 x 7
moving 24 x 7
•
• Automatic ‘Automatic ‘MonitoringMonitoring’’ optimizes workflowoptimizes workflow
•
• ‘‘MonitoringMonitoring’’ = automatic notification of problem situations based on = automatic notification of problem situations based on technical & business defined set of rules
technical & business defined set of rules •
• Keeps your finger on the pulseKeeps your finger on the pulse •
• ““File and forgetFile and forget”” •
• All staff run standard, preAll staff run standard, pre-defined reports-defined reports
•
• Always on the Always on the ““same pagesame page”” based on real-based on real-time datatime data •
• No No ““dead treesdead trees”” that are out of date and have been “that are out of date and have been “massagedmassaged””
Practical Experiences
Practical Experiences
(1)(1)•
• Centralized project management for very early visibility into Centralized project management for very early visibility into possible problems
possible problems
•
• Staff is rewarded for early identification of problemsStaff is rewarded for early identification of problems •
• Penalized for late identificationPenalized for late identification •
• Friendly, Cross-Friendly, Cross-team competition is valuableteam competition is valuable
•
• Watch out for weak middleWatch out for weak middle-management-management
•
• In some cases, rapid growth of business has caused junior staff In some cases, rapid growth of business has caused junior staff to be to be promoted faster than is appropriate.
promoted faster than is appropriate. •
• Take advantage of non $-Take advantage of non $-cost opportunitiescost opportunities
•
• What noWhat no--cost/low cost ways can you help your offshore partnercost/low cost ways can you help your offshore partner
It
It’’s your product, your cost, your business, your risk: s your product, your cost, your business, your risk: Own it!Own it!
Practical Experiences
•
• ““Knowledge Threading”Knowledge Threading” is invaluable for Knowledge retention is invaluable for Knowledge retention and transfer
and transfer
Practical Experiences
Practical Experiences
(3)(3)“…
“…the size of an organization is the size of an organization is determined by the cost of gathering information. determined by the cost of gathering information.””
Nobel-winning economist Ronald Coase:
Practical Experiences
Practical Experiences
(4)(4)Single, real
Single, real--time time “
“dashboarddashboard”” view view of all projects is of all projects is invaluable invaluable