Software Reengineering
- esnekliğini yitirmiş,
- müşteri isteklerine hızlı cevap üretemeyen,
yazılım projeleri ile karşı karşıya kalınmaktadır.
Süreç içerisinde gelen acil talepler ve bu talepleri karşılamak adına verilen kalite ödünleri kaçınılmazdır. Ancak yazılım projelerinin verimsiz ve üretkenliği düşük bir noktaya gelmemesi için, yazılım mimarisi ve tasarımı üzerinde sürekli olarak iyileştirme yapılması da bir zorunluluk olmalıdır. Bu doğrultuda Software Reengineering çalışması, yazılım projelerinin düzenli ve sürekli bir şekilde beklentileri karşılamaya devam edebilir olması ve yeni taleplerle birlikte esneyerek büyüyebilmesi için kritik bir çalışmadır.
Software Reengineering çalışması ile yazılım projelerinin mevcut işlevselliği korunarak kod, yazılım mimarisi, tasarım ve kullanılan teknolojilere kadar birçok önemli unsur gözden geçirilmektedir. Bu çalışma ile birlikte yazılım projelerinde;
- kod anlaşılırlığının artırılması,
- kod tekrarının azaltılması ve tekrar kullanılabilen birimlerin oluşturulması,
- kolay esneyebilen bir yapının oluşturulması,
- kod standartlarına ve mühendislik pratiklerine uyularak kalitenin arttırılması,
- test ve otomasyonla hata oranlarının azaltılması ve böylelikle de,
- yazılım projesinin üretkenliğinin arttırılması
sağlanmaktadır.
ACM’nin sağlamakta olduğu Software Reengineering danışmanlık hizmeti dört ana aşamadan oluşmaktadır:
Software Reengineering danışmanlık hizmeti kapsamında ACM danışmanları, çalışmalarını projenin pilot modülleri üzerinde proje ekibiyle birlikte yürütmektedir. Bu çalışma sonrasında da öğrenilen mühendislik pratikleri yaygınlaştırılarak yazılım geliştirme hızının tüm kurum içerisinde arttırılması sağlanmaktadır.

