Software piecework. (modular development and delivery of applications increases functionality, learning and productivity) (includes related articles on how long-held beliefs slow effective development and on how professionals make development mistakes) - Foss, W Burry (Computerworld, 1991)
A growing concern of US businesses is software productivity. Software systems consist of multiple modules, which can be delivered in pieces. Delivering software functionality to customers early, often, and in a piecemeal fashion gives users needed functionality sooner and enhances learning and productivity in an organization. When the focus of developers is on a clearly specified modular component and a delivery date, the scope of work is reduced. Development and delivery of subsequent pieces of the system get easier because the development team has studied user feedback from the initial release and can deliver what is needed and expected. Creating more and shorter deadlines focused on functionality useful to the customer should keep the development staff working up to capacity. The following steps are crucial to breaking large projects into manageable pieces: 1. Design the development project so the end product is delivered in releases. 2. Use common systems components whenever possible to take advantage of reusability and to improve quality. 3. Reduce rework by implementing quality assurance techniques.