If It Does Not Scale, It Does Not Work!

The world runs on lots of software. For many businesses and domains, this results in more software elements to develop and maintain. The added software elements often make for greater software complexity, which leads, in turn, to increased need for coordination between multiple software teams that build, integrate, and test the software. This increasing complexity often aggravates the challenges of "large-scale" software. Achieving scalability means different things in different contexts. The Editor briefly reviews scale, discussed from three different perspectives: scope, people, and time. Scope is about capabilities in terms of added features, greater size, and increased complexity of the system the software serves. The category of people includes the scale of the development organization and the software users. The category of time relates to the expected life of the system. It is then noted that this issue of IEEE Software presents different perspectives of scale with two themes, thus viewing the topic of scale from the perspective of development as well as software property. Articles under the theme "Large-Scale Agile Development" look into scaling development teams in large projects and organizations using agile software development methods. Articles under the theme "Building Long-Lived Adaptive Systems" cover state-of-the-art developments related to automated adaptive approaches for engineering systems that stand the test of time.

[1]  Manfred Broy,et al.  Software Engineering for Automotive Systems: A Roadmap , 2007, Future of Software Engineering (FOSE '07).