Development team pain
I work on a team that develops a component as part of a larger system. The component was originally standalone and unfortunately the original developers were given free reign to pick any technologies they wanted so they decided to write their own web ui framework and to use an obscure open source message passing library to provide for control, performance, asynchronous stuff etc. They also decided to use LDAP as the database. Now this is all supposed to work in the context of the larger system and EJB's and relational databases. The message passing library handles it's own threads, etc. a no-no in EJB land. What a mess. In truth I am not enamored with EJB's but if the whole system is going down that road as part of the overall whole we need to follow. Of course the original developers have fallen in love with their stuff and absolutely refuse to see the logic in moving off of LDAP (right now we have the same data stored in both LDAP and Oracle, this is potentially disastrous if they get out of synch which could happen as LDAP doesn't support transactions) or their message passing library or their homefrown web ui framework (which is nice in some ways but is completely undocumented, for someone new to get up to speed takes forever). What is worse that now it is a geographically distributed team, the original developers are in one place and us newcomers in another. Therefore, they are very protective of their turf. I spent a frustrating day exchanging e-mails about architecture issues.