software master at the intersection of technology, science and art



agile rad

The disconnect between management and software development has been a problem since the advent of computing. The problem is not intrinsic to software programming - but any development project which must meet business requirements, report progress and respond to changing requirements or insight which may be discovered en route. Management needs to know whether a project is on target - a building can be viewed but software during many stages of development is not tangible. Unlike a building, software development must respond to changes discovered during the development process

Many early requirements methodologies, e.g. waterfall, were not successful in software development. Mainly, because,unlike construction, changes discovered during development are not always overly costly and the changes may be necessary for the creation of a good product. Rapid Application Development (RAD) was perhaps the initial formalized methodology to address this problem - please see the rad section for further discussion. The core prinicple is minimal planing and rapid interative prototyping. RAD has shown to be effective in writing faster and more adaptable software.

RAD has given birth to a variety of methodologies - Agile, Lean, Extreme, Joint Application and Scrum. Scrum appears to be the current popular mode and is discussed below. No matter which flavor - and in my opinion each situation requires a blend of these flavors, sort of a neapolitan - RAD is improving the software development life cycle with better reportability and improved responsiveness to discovered changes. The short incremental development cycles increase reporting of progress and the discovery of potential delays and divergence.