Introduction…
A new level of value is available in corporate software development
Observations and best practices…
Observation: The evolution of the GLOBAL labor pool…
…led to increased effectiveness and greater acceptance
…because it makes a better optimum available
Observation: Independent variables are more directly controllable than Dependent variables
Observations and best practices… Labor Rates & Individual Productivity
Observation: Labor Rates vs. Individual Productivity - India has high value
Observations and best practices… Labor Rates & Individual Productivity
Best Practice: Strive for access to global workforce
Observations and best practices… Staff Levels…
Best Practice: High staff levels can shorten duration, but System Integration Projects are notoriously incompressible
Observations and best practices… Agreement…
Observation: “Agreement” is the primary determinant of duration; adding sites & shifts erodes stable agreement
- 6 of top 10 success indicators, as listed below, are related to “Agreement”
- Executive support
- User involvement
- Experienced project manager
- Clear business objectives
- Minimized scope
- Standard software infrastructure
- Firm, basic requirements
- Formal methodology
- Reliable estimates
- Other criteria (small milestones, proper planning, competent staff, and ownership)
- The feedback loop between Duration and Agreement is critical.
- Remote project leadership is able to communicate with stakeholders less often and generally via less rich communication channels
- Slower feedback longer duration
Observations and best practices… Agreement…
Best Practice: Use well-known but not often adopted agreement building practices
- JAD sessions
- Operation walkthroughs for the entire project team
- Facilitated Graphic Groupware sessions replicated at multiple sites
- Requirements artifacts in non-technical standard formats (RUP, Use Cases, etc.)
- Documentation publishing infrastructure
- UI storyboards, proof-of-concepts, prototypes
- ‘Secundments’; particularly for Technical Collaborators
Observations and best practices… Team Productivity…
Observation: Multi-site projects constrain team productivity
- Team leadership constraint
- Establish object framework
- Able to direct all participants confidently
- Team communication constraint
- Programming as an ‘objective seeking’ activity greatly affected by feedback delay
- Staggered shifts, email-only communication adds delay
- Cultural miscommunication? (more on this)
- More face-to-face events lead to more travel & logistics delays and time constraints
- DHS legal delays - you’ll need a lawyer
- Travel administration becomes very challenging
- Team motivation constraint
- “Who am I working for, again? What do they do?”
Observations and best practices… Team Productivity…
Best Practice: Start with a single location, add specific roles for specific tasks and objectives
Observations and best practices… Team Productivity…
Best Practice: Be aware of cultural miscommunication
- Software development ‘culture’ may outweigh local culture
- Carmel’s Framework
- Revering hierarchy vs. Question Authority v. Informalism
- Individualism vs. collectivism
- Task vs. relationship focus
- Risk avoidance vs. Risk acceptance – comfort with ambiguity
- Long-term orientation; future to present to past
- Hall’s 5 Dimensions
- Space: personal space, ‘place’ in meetings
- Material goods: status markers, corner office?
- Friendship: degree transitory, quicker or slower trust mechanisms
- Time consciousness: deadline orientation
- Agreement process: Formal contracts vs. informal consensus, discussion in meetings vs. 1-on-1, meetings as ceremonial conclusion
Observations and best practices… Process Discipline…
Observation: Cheap Labor is sometimes a new excuse for “Code & Fix” atrocities
Observations and best practices… Process Discipline…
Best Practice: “Rational Unified Process” (RUP) is a good process discipline starter kit and communication kit bag
Observations and best practices… Infrastructure Investment…
Observation: Infrastructure is just as costly and remains as important
- Infrastructure in a big city in India is about as expensive as the same rent and other infrastructure costs incurred in the developed Western countries.
- Reliable infrastructure costs more
- Reliable infrastructure for a foreign company, that’s extra
- Infrastructure extended to peoples homes
- “Bigger, quieter, more private offices with fewer interruptions”
– DeMarco
- Best Practice: Measure your steady-state requirement for labor. Rent before you buy. Rent to own
Observations and best practices… Infrastructure Investment…
Best Practice: ‘eCollaboration’ Tools Insure Efficiency, Increase Chances of Success
Observations and best practices… Diagnostic Questions…
Every Situation is Unique, ask yourself about the Independent Variables
- Is there a top-down imperative? Cost, urgency…
- How much agreement exists now?
- What would an optimal team in a single location look like?
- What range of labor rates do I have access to?
- Where do the various necessary skills exist?
- What technical platform will be used?
- What is the right degree of Process Discipline for this project?
- High Ceremony v. low ceremony?
- Have I ever achieved high discipline?
- Where is my best development infrastructure right now?
- What will be the length of life of the resulting system?