To accommodate evolving requirements lightweight methodologies like Agile are becoming popular. However, these should be tailored (customized) for large-scale complex projects. Creating a stable architectural design upfront is recognized as the striking difference between the agile practices for large-scale projects and agile principles [13]. Agile development gives the architect repeated opportunities to work closely with the business and technical teams to continually guide systems in the direction of good architecture and a skilled architect can adapt to agile development while staying focused on the core architectural work [59]. As it was an innovative, large-scale, high-risk project, the architectural design along with documentation was formally done. This design documentation played an important role in the successful implementation of this project and it will also be helpful in the maintenance phase. The most important characteristic of the development methods used in this project is that they were adapted to the circumstances in each phase of the development. Agile development methods were combined so that new approaches resulted from this self-adaptivity approach. It was not possible to complete and fix all the requirements because of the business domain and product characteristics. The software development team handling such a large project was small. Communication between team members was strong, as they were working in a small office and a business expert who had knowledge of the business domain was in the same office so that they could interact whenever required. The development approaches used in the SCM software project involved less documentation than the process-oriented approaches, usually emphasizing a smaller amount of documentation for a given task or only the critical parts were documented. As a future work, it would be interesting to study and compare other cases of complex software project development by agile methods in order to increase the understanding regarding how to address challenges and management issues in agile software development projects.