17.08.2016 Views

Apache Maven 3 Cookbook

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 3<br />

Distributed development<br />

Like it or not, it is a globalized world today and has been so for the software industry for at<br />

least two or three decades. Software creative professionals along with professionals of many<br />

other industries find themselves working with distributed cross functional teams. Rather<br />

than going into our shells, this situation can be a great opportunity to work with people<br />

from differing cultural, geographical, and professional backgrounds.<br />

And while diversity is a gift and must be celebrated, it does bring along new challenges<br />

that cannot be swept under the carpet and need to be addressed. One does need to<br />

enforce certain practices that transcend cultural differences and make distributed software<br />

development practical and productive.<br />

You are supposed to work with people half way across the world. They don't speak your<br />

language, they don't share your work culture, and neither do they share your time zone.<br />

To put it mildly, this can be quite a challenge.<br />

Yet if done correctly, it has proven itself to be of great benefit to the business. The key here is,<br />

if done "correctly".<br />

So how does one do it correctly? I suggest keep it simple.<br />

First, speak a common language. Without this, one can't proceed.<br />

Second, have honest communication with positive intent. Human beings, especially those who<br />

speak differing languages, have this great ability to judge the moods of each other. It is not a<br />

secret that over 90 percent of human communication in non-verbal.<br />

If you are negative, that will be the first thing your distributed peers will pick up. This needs<br />

to be stressed, as it is extremely important. Off shoring / outsourcing can be a controversial<br />

subject, but if you are going to work with a distributed team, your intent should be to do your<br />

best, regardless of your political stance on this subject.<br />

How to do it...<br />

While the practices described in other recipes of this chapter are suitable for any team, they<br />

especially resonate and make most sense if implemented for distributed teams.<br />

1. Start with setting up:<br />

<br />

Remote source code repository / revision control system<br />

<br />

Continuous integration server<br />

<br />

Issue tracking systems<br />

<br />

Mailing list systems<br />

67

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!