Software industry has widely adopted agile software development model, where it is accepted that change is constant. Indeed, as the environment in which the software is run changes – be it changes in jurisdiction, language, user expectations, reinterpretation or requirements, or something else – the software needs to be modified to satisfy end-user needs. At the same time, many organizations, especially those that operate in the public sector, rely on tendering and detailed requirements documentation when acquiring software, with an assumption that once deployed, the software would continue to serve the end users unaltered or with minor changes covered by a maintenance contract. In this article, we will consider this fundamental mismatch from the viewpoint of what we know about software evolution in general, and then propose ways forward to design and implement public sector software that can be adapted to new, emergent needs.
Read full abstract