In a Flat World There Are Many Potholes

[article]
Summary:
Imagine that you are the project manager of a software delivery program. Say someone on your team has been stumped by a problem for numerous hours and needs to resolve this "show stopper" to move to the next delivery phase of the project. You have called an emergency meeting and gathered a group of analysts, architects, software developers, and testers in a room for you all to work towards solving the issue. What do you do? David Lipien and Nicolas Concha explain how to handle this stressful situation as well as the lessons to be learned.


Imagine that you are the project manager of a software delivery program. Say someone on your team has been stumped by a problem for numerous hours and needs to resolve this "show stopper" to move to the next delivery phase of the project. You have called an emergency meeting and gathered a group of analysts, architects, software developers, and testers in a room for you all to work towards solving the issue.

Yes, individually everyone has their part to finish, but you also have to collaborate to get the job done. I remind you that you are in a roomtogether. The farthest person from you is maybe ten or fifteen feet away. 

What do you do in a flat world when such a pothole is experienced—and what if the teams were globally distributed? Obviously you all cannot hop on a plane or congregate all the same practitioners at once, especially when some are likely in drastically different time zones.

How many times can you recall where a co-located team has encountered a problem similar to the team gathering in the story above, but has chosen not to meet in a room? Inevitably team members may rely on the use of e-mail or instant messaging to communicate a clarification in a use case or technical constraint in a wire frame design rather than walking over or maybe picking up the phone and talking to the person down the hall. Electronic communication works most of the time. 

However, I think we all agree, sometimes things get lost in translation. That translation attenuation results in defects, missed requirements and dissatisfaction with the end product.

As comical as it may sound, I think many of us in the IT world have a similar story regarding teaming and communication, whether we are in the same room, building or campus. This is exaggerated when the team is not co-located.

Challenge
Considering the over 8 billion lines of software code being developed and/or modified each year and that both the internet (Figure One) and the number of software consumers is growing everyday, there is a lot of work out there. 

We must expand beyond the room!

As project manager (or anyone in a leadership position—architect, tech lead, etc.) we have to operate in the global marketplace where we are becoming ever more globally integrated. As such, each phase of our project maybe performed in a different part of the world by different team members and delivery can become more of a challenge then it already is. 

When leading a global, multi-national team I think a quote in the November 2006 Harvard Business Review article "Managing Multicultural Teams" says it best: "Multicultural teams often generate frustrating management dilemmas. Cultural differences can create substantial obstacles to effective teamwork-but these may be subtle and difficult to recognize until significant damage has already been done."

Advice
The key to success in managing a global delivery model are as follows:

  1. Project management fundamentals still apply
  2. Focus on people
  3. Use standards
  4. Define reporting metrics
  5. Leverage technology
  6. Leverage global competencies
  7. Take ownership and accountability
  8. Remember the value of iterations
  9. Get educated

Project Management Fundamentals
As a project manager we all know the importance of communication and human resource management.  The Project Management Institute's Guide to Project Body of Knowledge (PMBOK®) defines nine knowledge areas, one of them being communication management and another being human resource management.

In the story above about the gathering of practitioners in the same room to solve the "show-stopper" problem, it was a team that had worked together before; they know each others' capabilities and personal quirks, and even sometimes grab a beverage after work. 

Whether you are in the same room performing a deliverable inspection with a developer or working with a business analyst in Poland, project management fundamentals still apply.  Well defined scope, governance models, clarity in roles and responsibilities, communication plans and risk mitigation all lead to delivery excellence.

Focus on people
Always team, engage, recognize, and reward all team members. 

  • Something as simple as bringing coffee and snacks to a meeting if you are in the same building or thanking a team member on a conference call is extremely effective
  • Include the global team in staff meetings on a regular basis. Better yet, turn over portions of the agenda to the global team
  • Include the global teams when publishing newsletters or other account communications
  • Seek ways to expose global team members to the whole team and the customer where applicable
  • Facilitate cross team and customer visits to see the remote global team
  • Create a skill and subject matter expertise profile to assist in identifying where cross training is needed and to define career growth opportunities within the team
  • Work closely with global team to create and manage an account on-boarding and roll-off plan to include both on-site and off-site rotation
  • Identify top 20-25 percent performers on the account and create incentive program for these resources
  • Travel offshore resources on-site periodically to gain more insight, or even as motivation/recognition
  • Overstaff to anticipate attrition where applicable
  • Have tech leads from onsite

Execute the process
Ensure the entire team (the global team) has what they need - workstations, licenses, connectivity, etc. - it is unfair to expect them to deliver without them. 

Use standards
Never underestimate the power of common nomenclature and patterns available with standards like PMI (Project Management Institute), Unified Modeling Language (UML), Java EE (Java 2 Platform, Enterprise Edition), and/or Microsoft .NET.  Standard release management is also something that falls into this category.  Standards for release numbering, the categorization of major, minor and emergency releases, are critical.

Define reporting metrics
Very early in the project, define the reporting metrics.  Although they may evolve over the project duration, building a cadence of effective reporting will provide the necessary line of sight to upper management and the client. Go beyond the simple "canned" reports and focus on what matters.  Report on both positive and negative aspects of a project such as defect aging.  The sooner you can identify a negative trend, the sooner you can resolve it.

Leverage global competencies
Remember, Brazil, Russia, India, and China are just another "BRIC" in the wall.  Although current and future darlings of off-shore work, leverage where possible a geographic core competency such as housing testing in Brazil, development in India, and design China.  This sub-division of work by geography can aid in role definition and reduce function overlap.

Our ever-flattening world takes software development global.  From the US to Ireland to India to China, software development can be literally around-the-clock for a given software shop.  Therefore, strive to define the interconnection between all these entities and do not forget the value of a high performing project management office.

Also, when leveraging global delivery, some things to consider are:

  • Technical work force (specialization and flexibility)
  • Language
  • Culture
  • Infrastructure availability
  • Security
  • Disaster recovery
  • Geo-political stability
  • Legal system
  • Quality systems
  • Practitioner experience and efficiency
  • Cost
  • Time zone difference
  • Cost of living
  • Cross-cultural teaming
  • Visa and emergency travel abilities

 

Take ownership and accountability
Build team relationships, over-communicate, never assume, create an environment of trust and boost the team's emotional quotient (EQ). 

In global delivery, emotional intelligence will become a critical ingredient to success. The table below presents the five components of emotional intelligence and some the hallmark traits.

ComponentDefinitionHallmarks
Self-AwarenessAbility to recognize and understand your moods, emotions and drivers, as well as their effects on othersSelf-confidence

Realistic self-assessment

Self-deprecating sense of humor
Self-RegulationAbility to control or redirect disruptive impulses and moods

Propensity to suspend judgment - to think before acting
Trustworthiness and integrity

Comfort with ambiguity

Openness to change
MotivationPassion to work for reasons that go beyond money or status

Propensity to pursue goals with energy and persistence
Strong drive to achieve

Optimism, in the face of failure

Organizational commitment
EmpathyAbility to understand emotional makeup of other people

Skill in treating people according to their emotional reactions
Expertise in building and retaining talent

Cross-cultural sensitivity

Service to clients and customers
Social SkillProficiency in managing relationships and building networks

Ability to find common ground & build rapport
Effectiveness in leading change

Persuasiveness

Expertise in building and leading teams

Table 1. Five Components of Emotional Intelligence at Work (HBR January 2004)

Do not be afraid to provide a competency and/or communication test.  Many global firms and practitioners provide outstanding resources; however, always have a buyer beware attitude.  Many of the hyper-growth markets will tantalize you with words about their CMMI compliance and their vast pool of practitioners with specialized skills, experience and certification.  Make each prove it.  Do not be fooled by the games.

Remember the value of iterations
Given the reference in this article to Thomas Friedman's The World is Flat, I cannot help but provide an illustration about how to avoid one of the biggest potholes in global delivery - or any project for that matter: remember the value of iterations.  Friedman's idea for the "The World is Flat" came from an epiphany he had while sitting in the InfoSys Executive Briefing Center in Bangalore, India.  Thomas was marveling at how flat and interconnected the world was while gazing at the huge InfoSys video conferencing wall.

Ironically, to visit the flat world at the InfoSys campus or any other business in Electronic City outside of Bangalore, you will be struck by the irony of the "freeway" being built.  For over 7km from Bangalore to Electronic City, you will see very sporadic sections of the freeway being constructed.  It is quite obvious that building out ½ km iterations at a time is not the intent.  Instead of having operational sections available in months, the use of the freeway will only be viable when all 7km are constructed.  So avoid a major pothole with global delivery by remembering the value of iterations.


Get educated
Picking up a book in the Kiss, Bow, or Shake Hands series can be a huge help. This series provides cultural overviews, tips for doing business, negotiation strategies and general protocol.  Spend the time up front to understand the culture, including factoring in the time in the project plan to educate/provide awareness on each culture.   The investment will help determine how to maximize your working relationship and reduce surprises.  Don't make any assumptions relative to expectations or approach as communication styles may be very different depending on the Global Provider country's culture.  For example "yes" doesn't necessarily mean agreement, it may mean one has heard your point.

Beyond Project Management
Going beyond the project management disciplines and advice, what sort of technologies and process can assist with smoothing out the flat world?

  1. Leverage technology to foster communication
  2. Programmatically integrate project plans
  3. Ensure lifecycle traceability
  4. Automate change management
  5. Automate test management
  6. Reuse assets

Leverage technology to foster communication
Many times the most valuable conversations for software delivery occur at the water cooler.  Simulating water cooler chatter is vital to fostering new ideas or even providing clarity on how to understand a functional requirement or how to resolve a technical challenge.

Communication is critical whether 15 feet away, 15 miles or 1,500 miles or more. Leverage technology to foster communication.  As such, leverage technology like video conferencing and software like instant messenger, blogs, peer to peer networking, podcasts and social networks to foster collaboration and simulate water cooler talk.  A recent McKinsey Consulting article titled "How Businesses are using Web 2.0" stated that 75 percent of the 2,847 executives surveyed use Web 2.0 tools to mange collaboration internally.  

Also, do not forget the value of simple electronic utilities and gadgets like World Time, a freeware utility that provides multiple time zone displays and a time calculator.

Programmatically Integrate Project Plan
Consolidate the reporting, financials, task assignment/tracking, and management of documents into a single portfolio and project management tool.

Lifecycle traceability
Transforming a stakeholder request into a functional solution that meets the customer and end-user expectations is an art form. Whether or not you are globally distributed, the key to ensuring the functions of a system meet a stakeholder requests is dependent on providing traceability from the initial request throughout each phase of the project lifecycle. 

Imagine a requirement as a tangible item with a string attached to it.  Then image that string cross-cutting each phase of the project delivery lifecycle so as to provide continuity and traceability from the final deployment units back through testing, coding, designing, and requirement artifacts.  Now, imagine interconnecting numerous strings, i.e., requirements, so that you can see how one traces to and depends on other such strings. 

As such, providing a singular, traceable viewpoint of all requirements across all the project delivery phases enables the globally distributed team to grasp the ripple effect that would ensure either through a change to one requirement or not delivering a function to the specifications required.

Automate change management
Change is inevitable, whether it be a new client enhancement requests, a defect, or a gap.  Therefore, providing an automated, centralized change management system based on a well defined work flow allows a team to be notified of change.  Furthermore, the visibility afforded the project management into the work to be done (defects and gaps) or revenue yet to be collected (enhancement request) is critical to maintaining or refreshing the project delivery schedules.

Automate test management
Ensuring automated testing is enabled early and performed often can greatly enhance the quality of the deliverable.  Moreover, providing automated unit and regression testing can save hundreds of man hours of time while ensuring the systems integrating through the evolution of the software delivery. Automating security testing ensures last minute vulnerabilities are avoided and provides time to take proactive measures to ensure security compliance.

Reuse assets
Put simply, do not try to reinvent the wheel when you can reuse your companies' intellectual assets and work products.  Look to the ubiquitous catalog of open source frameworks to assist in software delivery.

Conclusion
A recent BusinessWeek cover captures it best: "The Future of Work - How we will master technology, manage companies and build careers in the era of the global, 24-7 workforce."

This is the challenge going forward!

For those of us that adapt, apply lean thinking techniques, embrace technology and execute in the global market place, while fostering innovation and creativity, the possibilities will be endless in the ever-evolving global landscape.  Just remember there are plenty of potholes to be encountered, so brace yourself or prepare, plan, and execute to avoid them.

Resources

  • Friedman, Thomas L., The World is Flat, Farrar, Straus and Giroux, New York NY, 2007
  • Sanford, L., and Taylor, D., Let Go to Grow: Escaping the Commodity Trap, Prentice Hall; New York, 2005
  • Software Engineering Economics, Boehm, B. -- Reference on analyzing software project costs.
  • Code Complete, McConnell, S. -- Microsoft Press 1993 -- The seminal work on quality software development.
  • Service-Oriented Architecture (SOA) Compass: Business Value, Planning, and Enterprise Roadmap by Norbert Bieberstein, Sanjay Bose, Marc Fiammante, Keith Jones (Author), Rawn Shah
  • Learn more about the Project Management Institute Body of Knowledge (PMBOK®) at pmi.org.
  • Visit the Carnegie Mellon Software Engineering Institute's website at sei.cmu.edu.

 


Nicolas Concha is an IT Architect for IBM Global Business Services in Singapore. In his seven plus years with IBM, Nicolas has specialized in leading the analysis, design and construction of multi-platform custom built service oriented architectures and applications.  His core competencies also include estimating, architecture and requirements management and deployment of IBM products like WebSphere and Rational. Nicolas complements his delivery experience with a strong command of all phases of the project life cylce and multiple industry experience. Nick holds a Bachelor of Business Administration in Information Systems from Baylor University.

David Lipien works for Microsoft, where he manages a portfolio of diverse technology delivery projects for clients across industry and technology domains. His specialties include internet-based technologies, object-based project methodologies, program, project, release management and global delivery. David is a PMI Certified Project Management Professional and Microsoft Certified Professional (MCP), and holds a Bachelor of Science and a Master of Business Administration. He has also completed an Executive Management Program at the Harvard Business School. David has published numerous articles in the IT and business space. Prior to joining Microsoft, David had the pleasure and privilege of working at AT&T and IBM.  David can be reached at [email protected].

 


[i] Integration Management, Scope Management, Time Management, Cost Management, Quality Management, Human Resource Management, Communication Management, Risk Management, and Procurement Management

[ii] Gan, P., Lipien, D. and Haines, J. (2006) Enterprise Software Release Management, IBM developerworks

[iii] Source McKinsey Article "How Businesses are using Web 2.0"

  • Blogs (short for Web logs) are online journals or diaries hosted on a Web site and often distributed to other sites or readers using RSS (see below).
  •  Peer-to-peer networking (sometimes called P2P) is a technique for efficiently sharing files (music, videos, or text) either over the Internet or within a closed set of users. Unlike the traditional method of storing a file on one machine-which can become a bottleneck if many people try to access it at once-P2P distributes files across many machines, often those of the users themselves. Some systems retrieve files by gathering and assembling pieces of them from many machines.
  • Podcasts are audio or video recordings-a multimedia form of a blog or other content. They are often distributed through an aggregator, such as iTunes.
  • Social networking refers to systems that allow members of a specific site to learn about other members' skills, talents, knowledge, or preferences. Commercial examples include Facebook and LinkedIn. Some companies use these systems internally to help identify experts.
  • Web services are software systems that make it easier for different systems to communicate with one another automatically in order to pass information or conduct transactions. For example, a retailer and supplier might use Web services to communicate over the Internet and automatically update each other's inventory systems.
  • Wikis, such as Wikipedia, are systems for collaborative publishing. They allow many authors to contribute to an online document or discussion.

About the author

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.