What does collaborative offshore and EJBs have in common? :-)
[ vmassol ] 09:06, Wednesday, 18 February 2004

Warning: Don't take this comparison too seriously... ;-) It's a bit like comparing apples and oranges and I'm sure the analogy breaks quite quickly if you pursue it too far. However, I do believe that the contained message is true.

I've just realized that collaborative offshore and EJB have a common point: they are both using a distributed model. By collaborative offshore, I mean teams developing on both sides (onsite and offhsore) and interacting continuously to build a system.

I've been working on 2 big offshore projects so far for the past 2.5 years (working with an Indian partner) and I've found that there is an organizational model that does not work well: onsite people directly managing developers (Figure 1). In the same way, calling directly Entity Beans from the client side is a bad practice because 1) it involves a lot of network round-trips and thus is inefficient and 2) it does not allow changing the implementation without affecting the client (Figure 2).

Figure 1: Onsite Project lead managing directly offshore developers
Figure 1: Onsite Project lead managing directly offshore developers
Figure 2: Client calling Entity beans directly
Figure 2: Client calling Entity beans directly

What is the solution we have used for EJBs? Answer: introduce a facade (Session Bean) which "manages" the underlying components (Figure 3). I've found that it is the same with collaborative offshore: there is a strong need to always introduce a local Project Lead (Figure 4).

Figure 3: EJB client calling a facade
Figure 3: EJB client calling a facade
Figure 4: Onsite Project Lead interacting with a local Project Lead
Figure 4: Onsite Project Lead interacting with a local Project Lead

It probably sounds very obvious but very often there is an initial tendency by onsite managers new to offshore to directly manage offshore "resources" (in order to reduce support costs). So far, whenever they've tried, it has failed (although we told them it wasn't a good idea but it seems some people need to see it by themselves to believe... ;-)).

I wonder if there'll be a time in the future where our communications skills will be so great that it will allow direct managment across the wire. Probably... but this is still in the future...

Has this also been your experience?


Comments

Hi vincent,
Infact i was lucky to be part of both projects that your talking about.
It has indeed been the best solution and to our expectation the communication was very effective after the introduction of so called "Session facade" or Local PL.
Would like to hear more from you on the offshore project development model :)

--Rahul Joshi, February 19, 2004 10:53 AM

Actually if you analyze carefully, in session facade, you have to have remote interface with the client of the session bean.

That’s where you need a representative of offshore at onsite.

Cheers,

Jit

--Jit, February 27, 2004 02:20 PM
Post a comment









Remember personal info?