Joe McCannon has some very good points here. That said, I'd like to inject a new idea into this debate:
Scaling up can be a problem, but scaling down is the bigger and more relevant problem. Big ICT systems can and are created all the time, though less often in development work. These large scale systems take lots of planning, and an awareness of their domain (as Joe suggests) that is usually associated with lots of study and lots of money. Which is probably why they are seen in the development world comparatively less than in industry or even government. Although large ICT projects have failure rates that are still too high, I think virtually everyone would agree that people exist in this world with the skills to design, build, and implement these projects given sufficient resources. It's a much more difficult task, however, to take a project designed around the kinds of technologies, tools, support operations, and people requirements typical of a $100 million + ICT implementation in industry and figure out how to make it work in a low cost, low resource environment that might need to rely on a relatively gradual implementation plan, and where local participation and control is very important. In other words, the question becomes one of how to get Big ICT features, robustness, and value for Small(er) ICT costs. I don't claim to have all the answers, but from my experience some of the keys to doing this are: 1 - Understanding the critical success factors for a project. What MUST happen, what should happen, and what would be nice to have? This can quickly get into number 2 (below). 2 - Clear vision of how you define success. You need to be very clear about what your primary, secondary, and tertiary goals are, and it helps a lot if all players agree. This seems so simple, but it happens so rarely. Everyone has their own interests they're looking to maximize. You can't be all things to all people, everyone needs to understand how to make decisions when trade-offs are required. 3 - Build and instantiate an ICT architecture optimized for your functional and non-functional requirements. Given that 70+% of ICT costs (within industry) are incurred after the development for version 1 is complete, thinking about maintainability, supportability, SCM, asset management, extenisibility in features, and flexibiltiy in partners, and scalability itself (up and down) are all important considerations. 4 - Long term vision for both the technology and for the business environment around that technology. This is related to incremental delivery. Should version 1 role out to a large population with low levels of features? Or to a small population with high levels of features? How often will you iterate feature delivery? Do you have funding stability, or at least commitment to a defined point in your plan with a agreed level of service? One tip: make sure your first implementation offers something your customers value. This seems very simple, but many times projects will use version 1 to lay some infrastructure ground work, and without the users seeing the benefits, version 2 becomes more difficult to fund. If you do it the other way around, you get credibility and people are more willing to go for round 2. Of course, this needs to be balanced with a sound architecture, too. 5 - Plan to leverage local talent. If there is little of that available, you have a very difficult problem -- in many cases it may be better to spend some resources building that local talent first before going too far down the path. If there are no local people who understand what you're doing, why it matters, and are willing to "evangelize" your project within their communities, the deck is very much stacked against you. 6) A related item, use local people (who are target users, not locals participating in the project) to derive and/or validate your use cases. Test early and often, at both the user interaction level and throughout all phases of development to ensure what you end up delivering provides a value people recognize and care about. My two cents.... John Mullinax Advanced Application Architecture and Technology (A3T) Ford Motor Company [EMAIL PROTECTED] | 313.322.1830 (w) ------------ This DOT-COM Discussion is funded by the dot-ORG USAID Cooperative Agreement, and hosted by GKD. http://www.dot-com-alliance.org provides more information. To post a message, send it to: <[EMAIL PROTECTED]> To subscribe or unsubscribe, send a message to: <[EMAIL PROTECTED]>. In the 1st line of the message type: subscribe gkd OR type: unsubscribe gkd For the GKD database, with past messages: http://www.GKDknowledge.org