• No results found

Collaboration Tools& Techniques for Distributed Teams using RUP

N/A
N/A
Protected

Academic year: 2021

Share "Collaboration Tools& Techniques for Distributed Teams using RUP"

Copied!
5
0
0

Loading.... (view fulltext now)

Full text

(1)

Collaboration Tools

& Techniques for

Distributed Teams using RUP

Abstract

The article gives a brief insight into the different techniques and tools which can be used by project teams (including clients) which are located at different geographical locations to improve collaboration. It demonstrates how the teams can use effective tools and techniques for collaborating. The article also talks in detail about team dynamics and how the team s bond together as a unit in spite of being physically distant. It demonstrates how a flat organization structure can be more effective than a hierarchical structure.

Introduction

Development of software is a human process. People, and not hardware, develop software. The process that guides or controls the way software is produced should be designed to take care of the human aspect ofsoftware development. Traditionally, the process we have been using to produce software (more popular as waterfall model) is based on machine-based assembly line product manufacturing processes. In the world of fast-changing markets where customers value return-of-investment (ROI) and time-to- market as the most important parameters in a software process, RUP and iterative

methodologies help reduce time-to-market as well as help customers gain more ROI. But the success of RUP and distributed teams significantly depends on how well the teams collaborate.

(2)

When it comes to distributed / Off-shore/ Off-site teams, companies perceive that they are

compromising or risking some aspects of software development process in return of reducing the cost of producing software. Iterative methods help building trust and confidence with the customer as they are considered part of the team. In addition, the risk of reducing quality of software produced in distributed team environments is mitigated by some of the iterative and RUP methods like unit testing, pair

programming, continuous integration, evolutionary light-weight design, etc.

In the different sections of the article, we will explore how RUP works well in distributed team model by taking care of not-only the human aspects of building software but also the quality, consistency and faster turnaround time from requirements to demo of the working software.

Setting the Stage

As we know, a project is always divided into multiple teams based on functions each one will perform business analysts, software engineers, test engineers and UI designers.

The business analysts would write use cases to convertbusiness requirements into functional

requirements inthe form of features. These use cases will form the basisfor the black-box acceptance test cases written by thetesters and the technical models /responsibility specifications written by the technical team. The technical models and responsibility specifications will form thewhite-box design for code. Also, the UI design team / business analysts will build the screens based on these functional inputs andadherence to the system use cases.

The distributed team might also consist of business analysts, developersand testers. There could be customerdevelopment team and testing team in the base unit.For the purposes of this article let s assume the project is utilizing theRational Unified Process (RUP)development practices and phases (Inception,Elaboration, Construction and Transition). Each phasehad multiple iterations of 4-6 weeks each. Functionalitywill be added to the product incrementally and a demowas exhibited to the customer at the end of everyiteration.

Collaboration Tools

Project Portal

Project Portals are located in the intranetand is local only to the teams; it is secure and forms an effective tool for communication of different aspects ofthe project.We can useportals as a central repository of artifactsnamely dailyprogress status, burn-down charts, transcripts of teammember chats, calendar of events, links to use cases and personal time-offs etc.

Also, it can be used to post lessons, retrospectivesand other knowledge gained during the iteration execution. It can also be used as a team blog as well aspersonal blog for the project team members.

Web conferencing

Web conferencing is a real-time, interactivecollaboration tool used for multiple purposes likevoice, video conferencing, document sharing,application sharing, etc.

(3)

Web conferencing for white-boarding

We can use web conferencing extensively forvirtual white-boarding to understand and chalk out designs. These designs can be stored as images andprinted out to be used as information radiators on thereal team white-boards. These could be restored onsubsequent web conferences for knowledge transfer,review or refactoring of design.

Web conferencing for code sharing

Another use of web conferencing can be for coderepository walkthroughs. Here the teams could keep notes about a certain piece of code and share it. TheIDE can be opened in desktop sharing mode for eitherlive debugging or manual code walkthroughs.

Web conferencing for kick-off meetings

The RUP projectnormally starts with a kick-off meeting thathad cross-functional participation

business analysts,developers, testers, UI designers. We use this kick-off to prioritize the features in the projectbacklog. In distributed teams, these webkick-off meetings were very vital. These could be recorded and played back again for referenceeliminating for the need of the continual physical presence of a business analyst, or a UI designer.

The web conference usage and recording the web conferences eliminates thelimitation of depending on the physical presence ofsome of the functional experts for developmentpurpose.

Status meetings via web-conferencing

Status Meetings provide a co-ordinationmechanism for everyone on the project and a platformfor each team member to make commitments in frontof the team. These meetings could be recorded and played again if the team member slipped on the task hecommitted. This benefited into self-organization ratherthan the project manager organizing the tasks forfeatures.

Video / Web Conferencing for Team member induction

A new team member can be introduced to the team through the web conference. Having him face-to-face with the whole team was a great experience for the new member rather than knowing every member just by his/her email id.

The new member can be provided all the project information by means of recorded meetings where the different aspects of the project were recorded via the web conferencing tool. Here, the tool can be used as an e-learning tool.

Emails

Emails are very effective collaboration mediums for distributed teams to discuss and keep the teams informed on various project risks and issues. Emails can we used to record, review and audit discussions

(4)

and decisions. Emails etiquette is important to get the best out of this collaboration medium. We will discuss that in a different article.

Instant Messengers

IMs must be used for one-to-one communication between team members. This could beused if

developers had to communicate about some coding aspects or design aspects or any other clarifications during the overlapping time zones.

Continuous integration and automated testing tools

Code should be checked in to a common repository. There should be no separate repositories for the distributed teams. Automated integration and testing tools will help team members in reducing skepticismabout check-ins and any fear of breakingothers code. This will increase the sense of collectiveownership rather than pointing fingers for code breaks.

The golden rule of thumb could be not to leave the officepremises until the last code that was checked did notbreak the build. If the build was left broken by eitherteam, it will be difficult and counter-productive for theother team to fix the build before starting work.The continuous integration (CI) tool and automated testing must be used for better efficiency.

Collaboration Technique Effectiveness

Flat project team structure

The composition of the team can be based on a flatorganization structure. There should be no

designations likeproject leader, project manager, architect, seniordeveloper, etc. Everyone would be a consultant and the rolesshould be swapped amongst the team members. Thedifferent roles that could be played are design, code,test, architect, project management, mentor or coach.

No single person would be designated for the samerole. The role should change on a regular basis. This will give the team a feeling of group ownership and roleswapping improved the different skills of a team member.

Coffee/Ice cream meetings

Coffee or ice cream meetings would becelebration time. On completion of a feature/iteration/phase, the teamcould go to a coffee outlet or an ice cream parlor tocelebrate the iteration release.Here the team not only canhave fun but also can provide retrospective of the various events or practices

followed during the execution of the feature. This team building exercise can help the teambuild a good rapport amongst each other and the teamdynamics might improve a lot.

Chocolates for breaking a build

Every time the continuous integration toolshowed a build break, the team member who was responsible should come to the center of thedevelopment room and put a chocolate into the build

(5)

bag as a penalty for breaking the build. This wasintended to build in a sense of caution while code check-ins. After the eventual fix, he would beappreciated by a series of claps.

Rotation of responsibilities

The team members shouldrotate the roles amongst all team members to make the experience interesting and also provide a learning opportunity to new team members.

Cross-location visits

The team members should be rotated across thelocations on a frequent basis to work within both the teams. This will help the two distant teams geltogether more strongly. There should be more one-to-onepeer relation through these cross-location visits.

Conclusion

Iterative/RUP development was originally considered to work more effectively in aco-located

atmosphere. With the world movingtowards distributed development locations, Iterative/RUP canwork well with distributed team environment as well but the key for the success his to manage and enhance collaboration.

RUP has definitely proved to be a boon forempowerment of analysts, testers, developers, customers andmanagement alike. Teams feel pride andownership to work in an environment that is self-organizing,co-existing in a peer-to-peer interaction.

Management feels charged with expectations of higherROI i.e. faster and better development. The customerfeels happy to remain in the loop, to be heard what hewants and is able to see progressively his productshaping to his expectations.

About the Author:

Mr. Vijay Krishnan is a senior member of Across Borders management team. Mr. Krishnan isresponsible for vision and operation of the company. Mr. Krishnan provides strategic consulting on Smartsourcing and organizational process/project management changes to clients worldwide. Mr. Krishnan holds a Bachelors Degree in Engineering from Bharathidasan University, Masters Degree in Computer Science from Saint Joseph's University, Philadelphia and MBA from University of Massachusetts, Amherst, MA.

Website: www.abmcg.com

References

Related documents

For female children, the disparities across ethnic groups in drop-out rates in grade 0 are even wider: 1.4 percent of ethnic Turkish girls do not complete first grade whereas

calcium-dependent release of gliotransmitters that control synaptic transmission and plasticity has led to the establishment of a new concept in synaptic physiology, the

• Essential Characteristics: The essential characteris- tics refer to a set of cloud features that allow providers and consumers managing, accessing, and measuring the cloud

In our “Present Value” estimates, we used as instruments, the fit and its one period lag of the difference of the weighted present value of the fundament (the mark-up over real

As is presented in this table, the connected operator devices expose a single instance of the position object for WiFi-based localization, an IPSO GPS location object for GPS data

While we do not have clear evidence that engagement in the NSF outreach teams directly impacted our participants’ persistence to degree completion, our findings suggest that

With all four financing mechanisms, price control results in a price decrease in both the monopolistic and the competitive region due to the incumbent ’s strong market power.. There

Related to Business Analytics, Data Analysis, Data Mining, Data Science, Machine Learning, Statistics.. Consumers generate