DEVELOPING EXPANDABLE SYSTEMS: TAMING DIFFICULTIES