Team work or heroic programming? 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 Rich Internet 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 Rich Internet Applications, we provide development teams with the opportunity to
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. Find out more ... |