Global Development and Delivery Design
In 2006-2008 I performed research, scenario design, and defined the user experience strategy for the IBM Rational Global Development and Delivery offering
What is Global Development and Delivery
Global development profiles organizations with a distributed team dispersed across towns, across the borders, or overseas. Teams may be Onsite, Nearshore, Offshore, or Outsourced. Generally, hybrid structures are used. Onsite and Nearshore and often internal staff. Nearshore and Offshore are often directly owned subsidiaries or joint partnerships. Outsourced covers contracts with the service provider that supplies supplemental resources or assumes responsibility for all or part of the software development lifecycle.
While the user of global resources often lowers the cost of staff, additional pains arise. Mismatched and Misunderstood Processes. Communication Issues. Cultural Issues. Decrease Productivity. Increased Rework. Mistakes in Work-Transfer. Higher Coordination Costs. Political Issues. Security IP Protection. Lack of Project Visibility, Agility, and Control. Unable to Measure Success.
Support for GDD best practices can change the equation. Process, Workflow, and Development challenges can be addressed by improving team efficiency across cultures and geographies by automating the full lifecycle processes and development tools. Communication and Collaboration challenges can be improved by accelerating project success through collaborative team-based development and a workplace environment. Project Management & Portfolio Management challenges can be improved by providing global visibility through accurate project metrics and reporting.
Researching Global Development and Delivery
I researched global organizations in the US, Europe, and India that depend on global development and delivery or deliver outsourcing services to uncover the root causes of the challenges reported above. The following root causes were identified.
- Communications issues – time lag, cultural
- Requirements not well-defined upfront
- The requirements management process does not provide a feedback loop or method for communicating changing / evolving requirements
- Requirements well defined, but not well communicated
- Organizational issues – lack of motivation
- Process (handoff, delivery, change management) not well understood – time spent trying to figure out who does what
- Additional project management overhead
- Mismatched and unsynchronized configuration management processes and systems – resulting in classic configuration management problems – work to know what files to work on, what is the latest build, why did the build break, etc.
- The end product, not the right product (requirements mismatch)
- The end product has a high defect density
- The offshore testing process not aligned with onsite needs
- Requirements changes not reflected in product
- Enhancement requests not reflected in product
- Poorly defined deliverables
- Wrong versions delivered for integration and deployment
Conclusions on User Research
The metrics from the research show that
- Productivity may decrease by up to 50%
- Typically localized project rework is 20%-30%
- Distributed development: 50%-100% rework in initial projects
The research also shows two emerging client topologies
- Centralized
- Single centralized server hub
- Local LAN access – thick clients
- Remote WAN access – thin web clients
- Distributed/Replicated
- Multisite backbone with server hubs
- Local LAN access – thick clients
- Remote WAN access – thin web clients
- Integration with open source SCM tools like Subversion
The research identified new trends impacting our GDD design strategy
-
- The enterprise development model is challenging
- Consolidate infrastructure to centralized hubs
- Connect global teams with remote access
- Connect global teams into supply chains
- Be aware of competitive pressure from open source
Needs on GDD called out by our Board of Advisors
- Need to launch new projects quickly
- Need to provision new global sites quickly
- Collaboration between distributed teams are key to success
Formulating a GDD User Experience Strategy
Based on my analysis we formulated a GDD UX strategy
- 7 Views identifying the key aspects of global delivery
- Collaboration
- Governance
- Access
- Administration and Scaleability
- Security
- Usability
- GDD Drivers identifying the stakeholders and their incentives
- Portfolio drivers
- Project drivers
- IT drivers
We also formulated a hill for GDD that ‘Global organizations can grow development capacity and achieve cost savings by providing a centralized the development infrastructure with remote access to global teams’
This UX strategy was driving our
- Design scenarios for GDD
- Product strategies approved by the GDD Offering Team
- Solution and product design for GDD
Formulating GDD Design Scenarios
We identify four key scenarios for GDD. Our sponsors ranked the importance.
Priority: Improve setup of a distributed project
- Manage team, people, and plans
- Provision tools, workspaces, assets, and access
- Integrate team platforms and workflows
- Establish team collaboration
Priority: Improve execution of a distributed project
- Integrate a distributed project workplace
Manage the business process of outsourcing
- Align portfolio and global innovation structures
- Collaborate from proposal to execution
Govern outsourced service
- Track key performance indicators
- Govern contracted service performance
GDD Improvements Measured
The 7 views of GDD were used as KPIs for the GDD solution improvements and the remaining gaps were tracked.
Gartner survey of 219 clients who outsourced projects offshore and domestically – half are expecting to fail to deliver anticipated savings.