YAM- A Framework for Rapid Software Development
Jeffrey Biesiadecki Abhinandan Jain · 2006
YaM is a software development framework with tools for facilitating the rapid development of software in a concurrent software development environment. YaM provides solutions for thorny development challenges associated with software reuse, managing multiple software configurations, developing of software product-lines, and multiple platform development and build management. YaM uses release-early, release-often development cycles to allow developers to incrementally integrate their changes into the system on a continual basis. YaM facilitates the creation and merging of branches to support the isolated development of immature software to avoid impacting the stability of the development effort YaM uses modules and packages to organize and share software across multiple software products. It uses the concepts of link and work modules to reduce sandbox setup times even when the code-base is large. One side-benefit is the enforcement of a strong module-level encapsulation of a module's functionality and interface. This increases design transparency, system stability as well as software reuse. YaM is in use by several mid-size software development teams including several developing mission-critical software.