Adaptive approaches to systems development