M.E. Fayad, Shivanshu K. Singh and Rafael Capilla
Current software development approaches need to cope with new design challenges, in which the incessant complexity of software system require more scalable systems that can be adapted better. Hence, the evolution of such systems and their architectures depend on how stable a design is against new requirements and on the desired quality level. As in previous columns, Software Stability results in a key to deal with many challenges that might influence the system. We have seen in previous articles in this series, what the problems associated with traditional software architecture approaches are, when it comes to scalability and stability in particular and how they negatively impact the software, over due course of time. Modern software development approaches require one to produce highly scalable, adaptable and stable systems and platforms, that in many cases could be more reactive against changes (e.g.: Self-adaptable systems). Thus, the underlying architecture behind such systems should be flexible enough and adaptable to realize the idea of stability.