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