No one ever likes to inherit another developer's code. Poorly architected code can lead to hours or even days of lost man hours trying to figure out what code is where and for what purpose. Two developers almost certainly wouldn't just choose to implement some functionality in exactly the same way and when implementations need to be shared time is spent discussing what code is doing and why it is so.
This applies even more in Business Web Applications, where usually various web technologies are combined throughout the different tiers: Some developers might not be familiar with particular technologies like AJAX or Javascript while they might be familiar with other technologies involved like for example the EJBs. Nevertheless, a developer might even not be familiar with web technologies at all, but he might be still very useful in a project because he is an expert in the business logic of the application domain.
Time is much better spent ensuring that all team members are familiar with a common architecture and are then more likely to code in a similar manner. Furthermore, the common architecture should ideally abstract from particular "low-level" technicalities and provide a consistent and intuitive end-to-end high-level code model without "breaks" between the particular tiers. This increases cohesion between the team, helps new team members get up to speed quickly and greatly increases the capability to recover from the absence of specific people. It also enables developers who are not familiar with "low-level" technicalities but still very good in the application domain to be successfully used in a project.
In an ideal situation, everyone on the team will know all parts of the system so that the loss of any one person would have minimal impact. In reality, many projects rely on one or more "heroes" who are the only one who understand certain critical parts of the system. When these heroes leave (and you should assume they will), you must be prepared to recover as a team.
With UltraCore™; that is ULTRA4's end-to-end platform for the development of multi-tiered Business Web Applications, we provide development teams with the opportunity to
- develop within a common architectural model that covers all the needs of modern Business Web Applications
- concentrate in programming business logic instead of programming low level code
- organize software in a way that makes it easy to recognize and modify source code developed by others
- deliver fast results without giving up reusability of the produced source code
- maximize the modularity of the produced code both in the presentation- and the business logic tier
- use people that are not familiar with web technologies for the development of Web Applications (the only prerequisites are basic knowledge of the Java Programming Language and Relational Databases)
And all this without extensive educational courses but with on-the-job training within 2 weeks as well as without any lock-in effect at all: The fully documented UltraCore™ source code and the know-how to extend it can be completely transferred to the team.