Global Resouces Qse Ap External


Published on

Software development across global teams

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • This presentation will discuss collaboration, specifically global collaboration, and why it is important. In addition, the four types of collaboration, the tools available for collaborative efforts and teaming behaviors that ensure successful efforts will be explored. The presentation will then cover virtual test and development teams with specific attention to the problems that may arise and their solutions. The presentation will wrap up with a brief discussion of two projects, one successful and one that needed some improvements.
  • The information age began in the 1980’s and is defined as the period of time where the movement of information exceeded the speed of physical movement. [1] Some of the results of the information age are the flattening of the world and the simplicity of working across multiple geographies regardless of the distance between these geographies. The information age also made it much easier for employees to work remotely from anywhere around the globe. Since this remote working was simplified it enabled people to work collaboratively on projects regardless of their physical location. During the information, multiple collaborative tools were developed to promote the ability of this geographically dispersed collaboration, such as E-mail, instant messaging and remote access applications. This ability to collaborate worldwide also permitted a higher degree of competition among multinational organizations with a presence in countries where skilled labor is plentiful and a fraction of the cost. [1]
  • “Unshared knowledge is lost knowledge, and lost knowledge is wasted capital. Knowledge is shared most effectively when people collaborate, which makes Internet-driven collaboration technologies essential for competitive organizations.” [2] With the trend in business toward team efforts it is important to use, share and pass along this knowledge. This prevents the loss of intellectual capital and single points of failure. It is widely understood that group efforts are both more productive and more effective than the efforts of a single person. With this in mind, effective collaboration is essential for the team to be successful as well as for informed decision making. Informed decision making is clearly the most desirable means of determining strategic and tactical planning as it will decrease unnecessary cost and schedules. This also increases the quality of the products and services delivered to the customers. [2] The Importance of Collaboration,
  • Collocated, synchronous collaboration is the teamwork done in the same place at the same time. This is obviously the most effective means of working together. Face to face meetings are the most effective since “Between 60-80% of our message is communicated through our Body Language, only 7-10% is attributable to the actual words of a conversation.” [3] With face to face meetings we can employ the use of whiteboards and clear explanations with attendees following along with us as we go through the explanations. Classroom settings permit us to get the messages orally, visually and experientially. This also includes the interaction of participants that often builds upon the input of other people in attendance. Office visits are a commonplace occurrence when people are collocated. We have the ability to stop by someone’s desk and ask any questions we may have and get the explanations or answers immediately with the added bonus of personal interaction that strengthens the working relationship between the participants. Simple conversation is a good means of building trust and rapport, two essential ingredients in building a relationship that contributes to effective teaming. Clearly, this is the simplest form of collaboration that requires the least amount of time and effort in order to gain success in the teaming effort. [3] Body Language Training, http:// /
  • Collocated, asynchronous collaborative efforts are teamwork that takes place in the same location, but a different time. This type of teaming is a direct result of flexible work practices instituted by companies. This is most typically exercised in shared office space, shared hardware and software by multiple employees. Job sharing is another example of flexible working and collocated, asynchronous collaboration. This permits staff to work part-time but ensure full-time coverage for a given position. There are many cases where there is a requirement of some overlap in order for it to be fully effective. Personal notes left at someone’s location of work are a means of collaborating, despite working different hours. These personal notes typically have a personal touch that is not present in teaming from people in different locations as they are handwritten and often include the personality of the writer in them. Boeing and IBM worked jointly on the development of TeamSpace to promote this type of collaboration in 2001. [4] IBM continues to be a forerunner in employing the newest technologies available that improve the ability to collaborate in this manner. Since this is slightly more effort and less effective than collocated, synchronous collaboration, a bit more effort is needed by participants to ensure the teaming is successful. [4] TeamSpace, A Web-based Team Based Collaboration Environment, http://
  • Distributed, synchronous collaboration can be defined as working together from different locations at the same time. This is one step further that requires a bit more effort on the part of those engaging in this type of teaming. Instant messaging is one of the most often used tools employed by these team members. Instant messaging permits people to work together during the same time frame regardless of their physical location. As this technology has matured, multiple features have been added to enhance its value in distributed teams. Emoticons are those cute little faces and pictures that allow users to portray emotions in their typed conversations. There are more instant messaging applications than can be listed here. The two most commonly used within the workplace at IBM are Notes Buddy and SameTime, which is bundled with a standard workstation build. The latest versions of both applications include the ability to use emoticons, screen captures, invitations to NetMeeting, ability to look people up and add users through Blue Pages, capability to send e-mail and the saving of time-stamped chat logs. NetMeeting is one of many available remote access tools. These tools vary in functionality and include functions such as a whiteboard simulator, seeing and/or controlling a computer in a remote location, and file transfers, as well as internet chat functionality. NetMeeting, Remote Desktop and VNC are three of the most commonly used free tools that allow teams to follow along in meetings, hold demonstrations, and do problem determination and development. Conference calls have advanced in their employment by teams around the globe. Between tie lines and toll-free numbers, we allow the ability for people to participate with minimal cost no matter where they reside and work. These calls allow employees to collaborate on their work efforts effectively and efficiently. Webcams and webcasts permit all employees everywhere to not only see their coworkers but hear their coworkers to provide the visual cues and voice inflections to communicate more effectively. There is less loss of body language and intonation messages that supplement the speech in communicating. The advent of voice over internet protocol (VoIP) technology substantially decrease the costs associated with calling to distant locations. As a result, employees can more readily use the telephone to communicate with their teammates no matter where they are working. Pagers are the final tool we will discuss. These are a good way to let a coworker know when an important issue arises at work and communicate the emergency to someone located in a different location. Distributed, synchronous collaboration is not easy and requires a fair amount of time and effort in order for it to work well. Being prepared for this and using as many of the tools available in the right manner is essential.
  • Distributed, asynchronous collaboration is the teaming from different locations during at different times. Probably the most difficult and requiring the most additional effort, this is typical of a working relationship between people that live and work in disparate time zones that are not conducive to working during the same time frame. E-mail is the used and perhaps over-used collaboration tool available. This permits the ability to communicate with others at any time and in any location. Team Rooms are one of the most valuable tools available to these teams. Lotus Notes is a terrific tool that has Team Rooms with substantial capabilities. The most widely used function of Team Rooms is its function of being a central repository for documents. It also has the ability to deploy a “must process next” function, such as reviews. A review is initiated; the first reviewer will do the required review and then complete the transaction, the review is then automatically forwarded to the next reviewer in the list. This continues until all required reviews are completed and the final approval is processed. Team Rooms also have the functionality to implement action items for individuals on a project and send notifications with a click of a button. The calendaring function of Lotus Notes is an essential tool in being able to assign resources to activities and schedule meetings. These activities can be completed regardless of whether or not all resources are working at the same time or in the same place. An intranet is a wonderful way of making information and activities available regardless of space or time. Its ability to limit access and authority is especially valuable in a business environment. Work specific activities and information available at any time and from any place permits all employees to conduct work activities regardless of their schedule. Voicemail does not require us to manage an answering machine or rely on power. This tool allows employees to communicate with coworkers when the need arises and helps the receiver to handle important issues as soon as they check the voicemail at the beginning of their day. A web log is a collaboration tool that is rapidly gaining appreciation and usage by companies around the world. In addition to allowing users to share information and get information, they do not force the participants to work in the same place or time space. The final tools we will examine are newsgroups. Newsgroups have been around for a long time and allow people to keep up to date on the latest and greatest trends and news in the industry. These tools are a great way to solve problems or gain necessary background prior to beginning a new project. Since this is the most difficult type of collaboration, it’s necessary to employ as many of the tools as are available and in the correct situations to increase your effectiveness in the teaming effort.
  • This chart is a quick overview of the four different types of collaboration and a few of the tools available for each type of collaboration. While there are tools that fit neatly into one category, this does not mean that you cannot implement some tools from other categories if they work for you. For instance, E-mail, though listed in the distributed – asynchronous category, is essential of all types of collaboration. It is up to you to determine which tools will work for your and your project work.
  • Anyone that works on globally integrated teams needs a collaboration toolbox. We will discuss some of the tools to ensure you include in your toolbox. At IBM, we are very fortunate in having Lotus Notes. This is an absolutely essential tool in working collaboratively. While there are other free tools available that can replace the components of Lotus Notes, the fact that we already have this available to us free of charge lends to its usage over any other applications. The only issue that may arise with the usage of Lotus Notes is for those that are using Linux or AIX as their operating system. For those folks, it would be best to have a dual operating system upon boot up since there are no open source applications as of yet that can really compare to Lotus Notes. The second application that needs to be in your tool box is an instant messaging application. Some of the most popular within IBM are SameTime, Notes Buddy, AOL Instant Messenger, Yahoo Messenger, Microsoft Messenger and ICQ, an internet relay chat tool that permits file transfer. All of these tools have the necessary functionality to allow the user to put the tool on “do not disturb” so that coworkers can be prevented from sending messages. This is a valuable function when we are busy with something that makes receiving messages a problem. The internal IBM messaging tools are nice for communicating with coworkers. The advantage of using AIM or others is the ability to chat remotely with people outside of IBM. The next category of tools for your collaboration toolbox is the remote control tools. Four of these tools are available for no cost. Desktop on Call, an IBM application, has limited functionality and is not often used by some teams. Remote Desktop is bundled with Windows and permits multiple people to hold remote sessions that do not interfere with each other. This application is the best to use when working with CPU and memory applications like WebSphere on the remote computer, since it paints the screen relatively well. Remote Desktop also has limited functionality, though a bit more than Desktop on Call. NetMeeting is another Microsoft tool that allows users to do demonstrations, use a simulated whiteboard and allow passing control to a user. This tool is also bundled with Windows and is a wonderful option for use since it is easy to use and has multiple functions available. This is not a good option for more technical work. For technical work, Virtual Net Client, also known as VNC, is a good choice. VNC opens only a single session so it has the limitation of multiple users stepping on top of each other. Its ability to paint when CPU and memory intensive application are running is not conducive to its use when working directly with those applications or the configuring of them. VNC’s file transfer and copy/paste functionalities are good additions for a remote access tool. PCAnywhere is a great tool with the most functionality, but is not available without a license and additional cost. RemotelyAnywhere is another license tool that required funding. It contains much the same functionality as PCAnywhere but is a web-based tool. The free tools available to IBM employees are more than adequate replacements. For technical work, remote on/off switches for your servers in remote locations is a great addition to your toolbox. These switches range from $250 upward and permit users to do cold starts and completely shut down servers regardless of their location. VoIP is another tool to include in your toolbox. The decreased cost makes calling around the world easier and more practical. The quality of the connection is no different than traditional telephone calls. There are however a couple of drawbacks. If the power goes out or the internet connection goes down, the availability of the telephone is also gone. Anyone who has tried to use the screen print function understands there are limitations. Screen captures and prints are a nice addition to your collaboration toolbox. MWSwap is a freeware tool available for this use. Snag-it is probably one of the easiest to use and has some of the best enhancements. The cost is relatively low, however one would be hard pressed to be able to present a good business case to get their company to pay for it. This is because there are free options available. 5 Clicks and !Quick are two more options for a nominal cost. IRM is an open source application for managing assets and submitting change requests for a team that is geographically dispersed. Whether you are a lab manager or user, this is a great addition that will enable your team to work on shared hardware. A conference line that is available to use at any time is an absolute essential component for your toolbox. Without this tool, meetings become a problem rather than a solution. The final tool for your collection is the Microsoft Office applications. While some people may not initially consider these collaboration tools, they are indeed just that. With the ability to using the tracking and markup functions, as well as the timestamp functions, they permit all members of a team to provide their input and track all of the input in an organized manner. These tools all work together or individually to enable us to work well with people on a single project or on a single team regardless of time or space.
  • Time zone issues are the first issue that globally integrated teams come across. Scheduling meetings that include people all over the world are difficult to manage. One of the best practices that teams have found to be very effective are shift change tag up meetings. As each team begins their shift, they have a short meeting with those ending their shift. This allows those beginning the day to learn what has been accomplished and any issues that arose while they slept. Since these meetings are held at the beginning and end of each day for all employees, no one is left with the feeling that they are compromising more than any other and everyone on the team is always aware of what is happening with the project. Another way to schedule meetings is to schedule them at the times that have the least impact on personal time for all members. While it is impossible to make everyone happy, the least impact as possible is appreciated by team members. Since this is not always possible, it also helps to rotate the impacts. This method shares the pain across all geographies. Many of us have grown up with the 9 to 5 workday mindset. This is something that is just not possible with our global business environment. Flexible scheduling permits us to help employees continue to work with geographically dispersed teams and still avoid constant sleep deprivation. Flexible workdays can mean working split shifts, longer hours but fewer days of the week or even working nights. In addition, recognition and incentives for staff that work on global teams is another way to help them lose the 9 to 5 workday mindset. Helping them to understand the importance of their contributions on these virtual teams and recognizing their sacrifices will at the very least contribute to better morale among these teams. Public recognition of these teams and their accomplishments will encourage them in their work and encourage others to continue or increase their efforts toward success. Incentives, either monetary or through recognition, are another way to get employees to volunteer for these teams. Sometimes small IBM logo gifts can be sent to the office of these folks or usage of Thanks awards can be given. The final factor that is necessary for us to overcome these time zone issues is management support. Trust is probably one of the most important components of this support. Another component that is also very important is realizing the amount of additional work that is required for these geographically dispersed teams and giving support with provision of tools, time and encouragement. Simply directing employees to participate in global teams is adequate. It must be understood that the compromises made to resolve time zone issues need to be shared by all team members in all geographies.
  • Different cultures have differing views of time. Some cultures, such as the United States, Germany and Switzerland have an absolute view of time. That is, they consider a deadline to be hard and fast, something that must be met regardless of the sacrifices made. Other cultures, such as Italy, India and Latin America consider time to be relative. It is a negotiable component of any project. When planning and scheduling a project that includes people with both viewpoints, include the supplier and receiver in the scheduling of the work products. This helps ensure the project team has a realistic view of what the deliverables are and ensures commitment by all stakeholders. Periodic checkpoints throughout the project will ensure the schedule remains attainable and everyone has a clear idea of the deadlines. If the schedule is in jeopardy, the entire team needs to work together to get things back on track. It may be a good idea to build this into the risk plan so that there is no confusion at which point in the project mitigation actions need to be implemented. When the team is composed of people holding both views of time, it is helpful to build some level of contingency into the plan to ensure an absolute deadline is actually achieved in the end. Some teams have an automatic 30% contingency, if additional is needed for global teams, it is the responsibility of the team to increase this since global teams typically need a little more time to counter the difference in how the team works together. When doing the scheduling, it needs to be made very clear to all members of the team whether the deadline is an absolute deadline or a relative deadline. Misunderstanding of this can determine success or failure to deliver on time. Trying to understand the opposing view of time cannot be stressed enough. Time can be a source of great frustration if we do not actively work to put ourselves in the view that does not come natural to us. In order for these teams to feel successful, they must all be on the same page regarding the scheduled due date and how flexible that date is.
  • Communication on globally integrated teams requires additional efforts by the entire team to ensure that the messages sent are the messages received and perceived. These teams usually end up with some form of communication hardships. Chances are that if you are having trouble understanding a speaker, they also have trouble understanding you. Speaking slowing and clearly can help your listeners to understand what you are trying to say. There is nothing wrong with asking a speaker to slow down, repeat what they said or clarify the meaning of a word. This will accomplish two things. You want to understand what they are saying to you and it will let the speaker know that you want to understand and what they are saying is important to you. This latter point assists in strengthening the working relationship as an added bonus. It helps to ask if there are any other questions they have (sometimes they feel there is time for only one question; by encouraging them to continue other items/issues/questions can be be addressed in a safe and encouraging environment. Sometimes a question is asked twice, that means rephrasing the answer is necessary to clarify any confusion. If you are speaking, try to avoid slang or phrases that may be unfamiliar to someone from a different geographic region. The sole purpose of communication is to send a message that is clearly received. Mirroring behavior and communication styles is a good way to ensure your messages are received effectively. Some cultures begin their interaction with people with a bit of light chat. Typically, this is the “Hi, Good Morning. How are you?” Other cultures seem to skip this step and go directly to the “Do you know what happened with the problem opened yesterday?” Many of us have learned the hard way of not mirroring our coworkers’ behavior. By mirroring the style of speaking of our coworkers, we improve the working relationship and often they are more willing to share information with us. This provides us with the tools that allow us to accomplish tasks more successfully. Global teams that have experienced the most success are those teams that communicated on a daily basis. This strengthens the working relationship and ensures everyone has all of the information possible.
  • As we know people, expectations are more readily understood. Clarification of these expectations does not come natural. It is through knowing a person’s personality and habits that we learn what they expect from us or what we expect from them. We must work to make our expectations clearly understood by people who are not collocated or we are not familiar with. In addition, we must put forth some effort to understand someone else’s expectations. By explicitly stating all expectations, all team members have a clearer understanding of the project team’s expectations. This includes defining each member’s role and their individual responsibilities. These expectations need to include tasks assigned, due dates, and the quality of those deliverables. The clarification needs to involve exchange that permits input from those on the team. The initial meeting that discusses expectations can be compared to a negotiation of the commitments by all stakeholders. If there is any confusion in this, it is the responsibility of the confused party to ask questions in order to better understand. This does not mean that leaving someone to get up the courage to ask questions is acceptable. When presenting complex topics, be sure your audience clearly understands what you are trying to communicate. Team meetings are essential to the monitoring of expectations and fulfillment of these expectations. These meetings need to be regularly scheduled and include the entire team, not just a geographic team. They also must include a small amount of time that allows some personal exchange. This personal exchange time is as important as attending to business since the personal exchanges are what build the trust and team concept for all. By ensuring that these activities are employed on a project, there is less likelihood people on the team will not deliver what is expected at the time we are looking for it and with the level of quality everyone anticipates.
  • The world societies can be divided into individualist societies and collectivist societies. Individualist societies place the value of contributions on the individual. Collectivist societies place the value of contributions on the group. One society is not better than the other, simply different from each other in how they work nor where they place importance in efforts undertaken. As we continue to work more and more with globally integrated teams we need to learn to strike a balance between the two. Each person brings something to any effort and every team accomplishes much as a group. We need to remember that the successful completion of a project is our goal. Recognizing the value of both the individual and the team toward that success will help us to understand. There is a place and a need for both in our efforts in the workplace. We need individualism in order to take advantage of innovations people think of. We need the collectivism in order to implement those innovations in a manner that will capitalize on its economic value. Ethnocentricity is the “belief in the superiority of one's own ethnic group.” [5] Everyone believes that where they come from to be the best place in the world. It is what we know and have come to love. It must be understood that regardless of where we live, there are good and bad points about it and none are superior to another, rather they are different. We need to consciously put forth an effort to not communicate to others that our place is better. Values are principles and standards that people place importance in or consider worth having. Values are taught to us by family, experience and society. There are some values that we obtain as a result of living in a particular place or during a particular time. Personal values such as family, self and leisure help us to understand and predict behavior. We know that if a person values the extended family, then a cousin’s wedding is as important to attend as someone in our immediate family. If we place a high value on our leisure time, we are less likely to volunteer for weekend work. Work values can be a bit complex to uncover. These values can be based on the self, the team and the organization and there are times that conflicts among these three arise. Knowing a bit about our coworkers will help us to understand when these conflicts arise and understand the resultant behavior. The one thing about values we can be certain of is that it is not a clear cut concept. Clearly, we all value our families. However, some are more willing to sacrifice family time, vacations and holidays for the team or organization. As such, we can never say someone’s decision in this realm is right or wrong, but certainly within their personal values. Understanding these cultural differences will assist you in your work across these geographically dispersed teams. [5]
  • Building trust on a virtual team is never easy and often slower in coming than with a collocated, synchronous team. Trust is important in any relationship, personal or working. We trust our coworkers will do what they say they will do and we can depend on them as we proceed with our efforts on the job. Communication is how we can best build that trust. Contacting and conversing with our teammates throughout a project and not just when we have problems will improve our ability to strengthen that working relationship. If we communicate with them only during troubled times, we run the risk of being associated with difficulties and not as a trustworthy member of the team. Personal sharing is the primary method of building this trust. Personal sharing is risky and done only when we as individuals feel safe. It also encourages reciprocal personal sharing. Obviously, we do not just begin sharing with coworkers. We begin with light conversation and over time we begin to know our fellow employees. After we feel well acquainted and the environment is safe for sharing, we may tell them a bit about our home life. This results in learning about our coworkers as well. Before you know it, you have someone you consider trustworthy and reliable, as well as like. We spend a great deal of time at work and much of this time is communicating with coworkers around the world. Fun is any activity that makes us smile and enjoy what we are doing and this is possible in the workplace. Having fun with our coworkers on calls or while working together on a project is easily attainable by laughing and joking with each other. This also builds a stronger working relationship. One of the difficulties for these globally integrated teams is a lack of visual contact. Probably the easiest activity that can help with this is posting your photo on Blue Pages and SameTime or Notes Buddy. This allows those who you converse with to visualize and see your face when they speak with you. Rarely, if ever, do we picture people in our minds as they actually look just by speaking with them over the telephone or reading their e-mails. This helps to make contact with them more personable. The use of emoticons enables us to communicate emotion in our typed conversations. This enhances our ability to converse more effectively. This typically makes the conversation more fun as well. Finally, try to budget for face time with team members in different locations. Yes, this can be quite expensive but the payback is a more effective and efficient team. This face to face contact does more for the team building than any other single activity. Budgeting for this is easier with larger or longer term projects, but should always be attempted in order to get the very most from the project team. Building trust and a strong working relationship is essential in having a team that works well together and achieves continued success.
  • Before we discuss the communication needs of testers and developers, we need to look at the differences between test and development disciplines. Developers are creators and builders. They use code to create something that makes people’s lives easier or more enjoyable. Testers can be likened to detectives. They take an application and explore all the ins and outs of it and try to discover weaknesses or flaws that have always been there, but hidden behind functioning behavior. We can say a tester is a jack of all trades and a master of none. That is, they tend to have general knowledge about all of the components of a single application. A developer, on the other hand, tends to be an expert about single components or aspects of an overall application. They are pros at knowing every aspect about their component. It’s a difference of general knowledge versus specific knowledge. Developers focus on how it works and testers focus on what and if it works. While developers look behind the scenes, testers look at the actual production that users see. Typically, developers perform the black box testing and testers conduct the white box testing. Most of our developers learned how to be developers in school, receiving a formal education in building, creating and coding. Testers typically take that same type of training. While we all understand the value of software testing, there seem to much fewer courses in college dedicated to test efforts than development efforts. As a result, many testers learn the testing mindset and proficiencies on the job and through their experience. A developer looks at the application and whether it does what it was designed to do as a based upon the customer requested requirements. A tester tries to look at the overall picture from the viewpoint of a user. Does the transaction make sense performing the way it does and is it easy to use? These differences in viewpoint mean they are trying to accomplish very different tasks using very different means. As a result, they need to adjust how they communicate with the different roles and what goals are trying to be achieved by those two. That communication gets a bit more complicated when the teams are not in the same location or the customer is geographically distant.
  • Now, let’s talk about the collaboration between testers and developers on globally integrated teams. Knowledge transfer is the first type of collaboration we will explore. This knowledge transfer for a project begins with developers communicating how an application is designed. This can include documentation, demonstrations or detailed explanation. No application can be adequately tested unless the test and development teams collaborate and hold a code review that includes both teams. These code reviews typically require the developer to hold a meeting, go through the code and explain what they did to get the desired function. In addition, this can include a demonstration of the application and the function. There are times that the test team must demonstrate or document how the customer is using the application for the development team. This helps the developers to understand how a function would best meet the customer needs. The knowledge transfer is also done when the development team conducts their review of the test cases that will be exercising the coded applications. Additionally, collaboration between these two teams doing installation and configuration activities for the applications created by the development team is essential. Demonstrations are also a collaborative activity that require the usage of collaboration tools and activities. One of the most important activities undertaken by these two groups is problem determination. This needs creative and exhaustive use of multiple collaborative tools in order to do this successfully. The last effort we will include in their collaboration is the verification of fixes done by development. This can be done by either the testers or the developers and is a sign of a mature teaming between the two groups. All of the tools previously defined as essential collaboration tools are all invaluable in the communication and efforts between test and development and a clear understanding of when to use which tool is imperative in order for the collaboration efforts to be fully effective. At the very least, e-mail, instant messaging, screen capturing, remote access, Microsoft Office, team rooms and conference lines allow for this type of work.
  • Let’s take a look at a globally integrated project that had a few problems. The team members were located in India and the United States. This was the very first project for the test lead and the development lead. The project had turnover for overall project manager and went through three different project managers. The project content consisted of 78 requirements which were actually defect fixes since it was a patch release. By the conclusion of the project, 63 change requests had gone through the Change Control Board (CCB). 103 defects were opened by the test team, which consisted of two analysts in Austin and four analysts in Bangalore. Of those 103 defects, eight of the defects were canceled due to the fact that they were duplicates of defects opened by other test team members on the project. The project also released with 23% of the defects having been deferred by the CCB. Initially, there were no team meetings. About halfway through the project, weekly meetings were held with the IBM India portion of the test team. The United States testers were not invited to the meetings nor did the U.S. test team send notification of defects they opened to any other team members. They sent notification to the test lead. These notifications were not forwarded to other test team members. The preferred method of communication was e-mail, these sometimes included the entire test team. The test team could not identify the scheduled completion of any of the separate phases, nor the completion date expected for end of the test effort. Now that we’ve got some of the test related information, let’s take a look at what contributed to the project’s end result. Projects with people serving in a new role are at a disadvantage since they are unfamiliar with procedures and required templates. The project manager is the stability and guiding hand for the project team. With the turnover in project managers, this project was at risk. Studies have shown that the most successful projects are those that are led by an experienced project manager and no turnovers in this particular role. The number of requirements and change requests are not an issue for an experienced test lead as they have more experience in determining realistically if a change request will impact the test effort. The number of defects was substantially greater than had been predicted, however if we remove the canceled defects then, there were only 80 opened defects. The large number of duplicate defects shows that there was poor communication between members of the test team. Part of working well on a team is ensuring that all members of the team are aware of what others on the project are doing, specifically activities that may impact them in project work. The large number of canceled defects meant test analysts either did not understand the correct behavior, did not communicate well, or did not collaborate with the development team to ensure it was actually incorrect behavior. The team meetings that included only one geography instead of the entire team meant that all members did not have or share information necessary to deliver quality deliverables. This team should have included all members of the team. The communication from the test lead was predominantly e-mail. We’ve learned there are many different collaborative tools. Each tool has its strengths and weaknesses and one tool does not meet all needs of a geographically disbursed team. The testers did not have access to the project team room and the most current schedule. This hindered their ability to understand the expectations, therefore they consistently fell short of expectations. The large number of deferred defects was due to lack of time that prevented them from being fixed and forced deferral. One issue that ate up a lot of time and effort was the problem people on the team had in communication. There was also a fair amount of time in doing rework. Testing items that were not delivered yet, caused much rework to be done. Another problem was the amount of unnecessary effort expended on invalid defects. These failures impacted the quality of the product. With all these deferred defects, the quality of the application released is suspect. The issues discussed impact only globally integrated projects but all projects.
  • We’ll wrap up with a globally integrated team that experienced a successful completion. This project was a very short term effort that involved a customer opening a severity one problem ticket against an application. There was no development or test environment that could truly replicate the production environment so it was agreed that the database to be used during the test effort would be a production database. The team was truly geographically disparate. The customer was in Singapore, the customer focal in Poughkeepsie, NY, the support representative in Houston, TX, the database administrator in Austin, TX, the developer in Bangalore, the tester in Bangalore and the test lead in Tampa, FL. The developer coded a fix, but when testing began issues were found that prevented approval of delivery to the customer. After sharing screen shots, emails, discussing over the phone and using NetMeeting to demonstrate the issues encountered, the team decided it was time to come together as a whole and work on the problems. A meeting was held at 11:30pm EDT in order to work with the customer during their workday. The whole team worked with the customer on the problem determination and resolution. The test analyst was not included in the meeting as there was no need for dual representation of the test organization. The call took two and a half hours to complete the problem determination and resolution. This included changes to the database at the direction of the database administrator. The developer provided input as to how it was designed to work. The test lead verified the behavior of the application after each change was made. The support representative and the customer focal used their established relationship with the customer to facilitate the meeting. Although it was late for some and this was a high severity issue, the team laughed and joked with each other as they worked the problem. At the end of the call, the customer thanked the entire team, clearly pleased with the end result. Every member of the team thanked the attendees for their sacrifices and hard work. When the call completed, the test lead worked with the test analyst to update her on what transpired during the meeting. While the test lead slept, the test analyst redid all of the testing to verify the fixes were now successful and delivered one day ahead of schedule. This made what was initially an unhappy customer into a satisfied customer with an understanding that their needs were truly attended to by the project team. The overall complete effort to deliver a tested fix to the customer was four days. What made this effort so successful? First and foremost, this team already had an established working relationship. Every member of this group had already worked with at least two others on the team on previous projects. The group also discarded the 9 to 5 workday mindset that no longer fits with today’s business environment. Everyone on the team had already previously worked with globally integrated teams and understood what was needed in order to succeed. All members of the group had experience with multiple collaboration tools and knew what the right tools were for the different situations. The tools used during this single interchange were e-mail, instant messaging, NetMeeting, screen capture and a ready conference line with a tie-line and toll free number. The only members included in the meeting were those that needed to be there and had something to actively contribute to the meeting. In addition, the team can be assured that future efforts of collaboration between these people have a great chance of success since everyone acknowledged the contribution each member of the team provided to the successful delivery. One final note is that this test lead hung up after this call and thought about what a great job this is. To be able to work with people all over the world and solve real problems that ensure the success of a multinational corporation is quite an accomplishment.
  • This presentation took a look at the Information Age and how it contributed to the flattening of the world and the ability to work across multiple geographies on the same project. A look at the four types of collaboration: collocated/synchronous, collocated/asynchronous, distributed/synchronous and distributed/asynchronous was examined as well as tools for each type of collaboration. It was also stressed that mixing and matching of these tools is needed as individual project needs dictate as no one tool is effective for every situation. Some of the most relevant issues that plague the success of globally integrated teams were presented with viable and simple solutions to combat the impact of these problems. A sample of what tools a collaborative toolbox would contain was explored as well as a look at some of those tools that are available to us in our current working environment. The presentation wrapped up with a look at a project that could have been more successful and a project that seemed to employ all the right ingredients for a geographically dispersed team working to solve a real problem for a real customer in today’s integrated business environment. Thank you.
  • Global Resouces Qse Ap External

    1. 1. Global Collaboration Today’s Software Development Norm
    2. 2. Agenda <ul><li>Collaboration </li></ul><ul><ul><li>Why It’s Important </li></ul></ul><ul><ul><li>4 Types of Collaboration </li></ul></ul><ul><ul><li>Tools available </li></ul></ul><ul><ul><li>Behaviors </li></ul></ul><ul><li>Virtual Test & Development Teams </li></ul><ul><ul><li>Problems </li></ul></ul><ul><ul><li>Solutions </li></ul></ul><ul><li>Good & Bad Projects With Global Teaming </li></ul>
    3. 3. The Information Age <ul><li>Period of time where movement of information became faster than physical movement </li></ul><ul><li>Created A Smaller World </li></ul><ul><li>Easier to Work Remotely </li></ul><ul><li>Enabled Geographically Dispersed Teams to Work on the Same Projects Collaboratively </li></ul><ul><li>Spurred Competition Among Multinational Organizations </li></ul>
    4. 4. Why is Collaboration Important? <ul><li>Shared Knowledge </li></ul><ul><ul><li>Used, Retained & Passed Along </li></ul></ul><ul><li>Unshared Knowledge </li></ul><ul><ul><li>Wasted Capital </li></ul></ul><ul><li>Team Efforts More Effective than Individual Efforts </li></ul><ul><ul><li>Needed for Successful Teaming </li></ul></ul><ul><ul><li>Increased Productivity & Effectiveness </li></ul></ul><ul><li>Enables Informed Decision Making </li></ul><ul><li>Accelerates Product & Service Delivery </li></ul>
    5. 5. Collocated - Synchronous <ul><li>Same Place • Same Time </li></ul><ul><ul><li>Face to Face Meetings </li></ul></ul><ul><ul><li>Whiteboards </li></ul></ul><ul><ul><li>Classroom Setting </li></ul></ul><ul><ul><li>Office Visits </li></ul></ul><ul><ul><li>Conversation </li></ul></ul>
    6. 6. Collocated - Asynchronous <ul><li>Same Place • Different Time </li></ul><ul><ul><li>Shared Office Space </li></ul></ul><ul><ul><li>Shared Hardware </li></ul></ul><ul><ul><li>Shared Software </li></ul></ul><ul><ul><li>Shared Jobs </li></ul></ul><ul><ul><li>Personal Note at a Desk </li></ul></ul>
    7. 7. Distributed - Synchronous <ul><li>Different Place • Same Time </li></ul><ul><ul><li>Instant Messaging </li></ul></ul><ul><ul><li>NetMeeting (Remote Access Tools) </li></ul></ul><ul><ul><li>Conference Calls </li></ul></ul><ul><ul><li>Web Cams </li></ul></ul><ul><ul><li>Digital Telephones </li></ul></ul><ul><ul><li>Web Casts </li></ul></ul><ul><ul><li>Pagers </li></ul></ul>
    8. 8. Distributed - Asynchronous <ul><li>Different Place • Different Time </li></ul><ul><ul><li>Lotus Notes </li></ul></ul><ul><ul><ul><li>E-Mail </li></ul></ul></ul><ul><ul><ul><li>Team Rooms </li></ul></ul></ul><ul><ul><ul><li>Calendaring </li></ul></ul></ul><ul><ul><li>Intranet </li></ul></ul><ul><ul><li>Voicemail </li></ul></ul><ul><ul><li>Web Logs </li></ul></ul><ul><ul><li>News Groups </li></ul></ul>
    9. 9. Collaboration Types Distributed – Asynchronous Team Room E-Mail Intranet Distributed – Synchronous Instant Messaging NetMeeting Conference Call Collocated – Asynchronous Shared Office Shared Hardware Shared Software Collocated - Synchronous White Board Face-To-Face Meeting Classroom
    10. 10. A Collaboration Toolbox <ul><li>Lotus Notes </li></ul><ul><li>Notes Buddy ■ SameTime ■ AIM ■ Yahoo Messenger ■ MS Messenger ■ ICQ </li></ul><ul><li>NetMeeting, VNC, Remote Desktop, PCAnywhere, Desktop on Call, RemotelyAnywhere </li></ul><ul><li>Remote On/Off Switches </li></ul><ul><li>VoIP </li></ul><ul><li>MWSnap, Snag-It, 5 Clicks, !Quick </li></ul><ul><li>IRM </li></ul><ul><li>Conference Line </li></ul><ul><li>Microsoft Office Products </li></ul>
    11. 11. Time Zone Issues <ul><li>Meetings </li></ul><ul><ul><li>Shift Change Tag Ups </li></ul></ul><ul><ul><li>Least Painful Times </li></ul></ul><ul><ul><li>Rotation </li></ul></ul><ul><li>9 – 5 Workday Mindset & Sleep Deprivation </li></ul><ul><ul><li>Flexible Scheduling </li></ul></ul><ul><ul><li>Recognition & Incentives </li></ul></ul><ul><li>Management Support </li></ul>
    12. 12. Time Views <ul><li>Absolute versus Relative </li></ul><ul><ul><li>Include Supplier & Receiver in the Planning Activities </li></ul></ul><ul><ul><li>Periodic Checkpoint </li></ul></ul><ul><ul><li>Team Effort to Stay on Track </li></ul></ul><ul><ul><li>Build in Contingency </li></ul></ul><ul><ul><li>Clarify if Deadline is Absolute or Relative </li></ul></ul><ul><li>Understand the Opposite View </li></ul>
    13. 13. Communication <ul><li>Language – Accent & Dialect </li></ul><ul><ul><li>Speak Slowly & Clearly </li></ul></ul><ul><ul><li>Ask Speaker to Slow Down, Repeat or Explain Words Used </li></ul></ul><ul><ul><li>Avoid Slang </li></ul></ul><ul><li>Mirror Communication Style </li></ul><ul><ul><li>Light Chat Before Business </li></ul></ul><ul><ul><li>Get to the Point </li></ul></ul><ul><li>Daily Communication Needed </li></ul>
    14. 14. Expectations <ul><li>Clarification Does Not Come Natural </li></ul><ul><ul><li>Practice </li></ul></ul><ul><ul><li>Help Everyone Understand Priorities </li></ul></ul><ul><ul><li>Define Roles, Responsibilities </li></ul></ul><ul><li>Team Meetings with Entire Global Team That Include Some Personal Exchange </li></ul>
    15. 15. Societal Effects <ul><li>Individualistic versus Collectivistic Societies </li></ul><ul><ul><li>Strike A Balance </li></ul></ul><ul><ul><li>Consider The Project </li></ul></ul><ul><ul><li>Value Contributions of Both </li></ul></ul><ul><li>Ethnocentricity </li></ul><ul><li>Values </li></ul><ul><ul><li>Personal – Family, Self, Leisure </li></ul></ul><ul><ul><li>Work – Self, Team, Organization </li></ul></ul>
    16. 16. Working Relationships <ul><li>Building Trust </li></ul><ul><ul><li>Communication: Not Just the Problems </li></ul></ul><ul><ul><li>Personal Sharing </li></ul></ul><ul><li>Have Fun </li></ul><ul><li>Lack of Visualization </li></ul><ul><ul><li>Budget for Face Time </li></ul></ul><ul><ul><li>Emoticons </li></ul></ul><ul><ul><li>Photo on Blue Pages </li></ul></ul>
    17. 17. Tester vs. Developer <ul><li>Detective – Creator </li></ul><ul><li>Application Suite – Component </li></ul><ul><li>Black Box – White Box </li></ul><ul><li>On The Job – College </li></ul><ul><li>User – Application </li></ul>
    18. 18. Test & Development Collaboration <ul><li>Knowledge Transfer </li></ul><ul><ul><li>How Application is Designed </li></ul></ul><ul><ul><li>Code Reviews </li></ul></ul><ul><ul><li>Customer Usage </li></ul></ul><ul><ul><li>Test Case Reviews </li></ul></ul><ul><li>Installations </li></ul><ul><li>Demonstrations </li></ul><ul><li>Problem Determination </li></ul><ul><li>Verification of Fixes </li></ul>
    19. 19. Improvements Needed <ul><li>Global Team </li></ul><ul><li>New Test Lead </li></ul><ul><li>New Development Lead </li></ul><ul><li>3 Project Managers </li></ul><ul><li>63 Change Requests </li></ul><ul><li>103 Total Defects Opened </li></ul><ul><li>Test Team Meetings Included Only India </li></ul><ul><li>Communication – E-mail </li></ul><ul><li>21% Defects Canceled </li></ul><ul><li>23% Defects Deferred </li></ul><ul><li>8 Duplicate Defects </li></ul>
    20. 20. Bravo! <ul><li>Global Team </li></ul><ul><li>Customer in Singapore </li></ul><ul><li>High Severity Customer Problem </li></ul><ul><li>Development & Test Environment Can Not Replicate Issue </li></ul><ul><li>Problems found by Test with Fix </li></ul><ul><li>Problem Determination with Entire Team Present </li></ul><ul><li>11:30pm–2:00am EDT Call With Customer to Resolve Issues </li></ul><ul><li>Joking & Laughing on Call </li></ul><ul><li>Team Members Already Have Good Working Relationship </li></ul><ul><li>Multiple Collaborative Tools Used Simultaneously </li></ul>
    21. 21. Software References <ul><li>MWSnap: </li></ul><ul><li>IRM: </li></ul><ul><li>Open Source Software: </li></ul><ul><li>RemotelyAnywhere: </li></ul>
    22. 22. Conclusion <ul><li>Information Age & Importance of Collaboration </li></ul><ul><li>4 Types of Collaboration & Associated Tools/Behaviors </li></ul><ul><li>Issues & Solutions of Globally Integrated Teams </li></ul><ul><li>Collaboration Toolbox </li></ul><ul><li>Success & Improvement Examples </li></ul>
    23. 23. Thank You <ul><li>Questions? </li></ul><ul><li>Comments? </li></ul>