[Lesson learned] Do it right the first time, or revisit the project again and again. A fast-growing company had applications running on a LAN, which worked adequately ... until remote sites started clamoring for access. The bandwidth required to run a key application remotely was cost-prohibitive. Luckily for this company, the application could run in a Unix environment with a true client-server database, thus limiting communications to screen updates and keyboard inputs. In this case, the solution was to migrate only the server platforms, but it could have been much worse; for example, the application developer might not have offered a client-server version of the program, or the underlying database might not have been cross-platform. This scrambling could have been prevented at system-selection time by ensuring the application was suitable for future branch expansion. Implementing the Unix version from the get-go would have saved data-migration, platform-conversion and reimplementation costs.
[Lesson learned] Require cross-functional teams for system selection. A manufacturing company bought a LAN-based sales-management program that included an update function for data synchronization. When the program was introduced at a location across the WAN, delays caused by slower links and occasional network congestion caused the application to abend. In this case, the software maker failed to include error-recovery routines sufficient to accommodate smooth WAN functionality--even though it advertised the product's ability to synchronize from anywhere. Moreover, tolerance for slower WAN links wasn't handled by error routines at the application layer, even though synchronization activities were controlled at that layer. While the software maker worked on the problem, the short-term solution was to boost WAN speeds or push the sync function closer to the remote sites.
This situation could have been avoided had the applications group included network team members in its software-evaluation process. Instead, this company application group made an assumption about suitability based on the software maker's claims, without proper acceptance testing by the network group.
Most IT people have been asked, "Can it be done?" Whether the subject is branch-office support or putting a sales rep on the moon, the answer is usually, "Sure--given unlimited time, money, gear and people." Since unlimited resources are a thing of the past, you should answer that one question with three:
Money: How much can we spend?