Software architecture can facilitate product-line support and evolution if it is developed with variability in mind. Extremely flexible software can suffer from poor performance, but flexibility in software architecture allows for performance optimizations through variation mechanisms at production and start up.
A modular software architecture with a clean interface and functionally cohesive components is a prerequisite for applying variation mechanisms. Nancy Nunes covers three programming-language and development-process independent instruments that are key to creating, manipulating, and maintaining a software architecture that can yield lean and flexible software products: modularity, variability, and governance. Nancy also explains when to introduce a robust and flexible software architecture and how to maintain its integrity.
Nancy Nunes is a software systems leader, architect, mentor, and engineer with extensive experience developing high-performance distributed software systems for the defense, surgical robotics, and commercial markets. Nancy embraces a work smart philosophy, persistently exploring how to build a lot with a little.
©2016, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • firstname.lastname@example.org