alameensoft CMMI ile Agile
CMMI Kullanırken Karşılaşılan Zorluklar
Alameensoft CMMI uygularken aşağıdaki gibi problemlerle karşılaştı:
- Sadece sürecin uygunluğu için önemli miktarda çaba gerekmektedir.
- Müşteriyi, tekniklerini müşterinin yapısına göre ayarlamak yerine, metodoloji toplama gerekliliklerimizle başa çıkmaya zorladılar.
- Müşteriler genellikle ürünlerle etkileşime girdikten sonra ihtiyaçlarını bilmezler.
- Planlama için çok çaba harcarlar; ancak, yürütme sırasında planlar çok değişmektedir.
- Proje önlemleri biriktirirler ancak bunları kullanmanın pek faydası yoktur.
Önceki sorunları aşağıdaki ifadeyle sonlandırıyoruz: “CMM, tüm insanlar için her şey olarak tasarlanmamıştı veya yazılım ve sistem geliştirmenin olası tüm yönlerini kapsamıyordu.
Agile Kullanırken Karşılaşılan Zorluklar
Büyük projede çevik bir yaklaşım kullanırken en büyük zorluk, küçük ekipleri aynı hizada ve koordine etmektir. Bununla birlikte, büyük projelerde kullanım için üst düzey bir koordinasyon katmanı (örneğin, bir Scrum Scrumları) katılarak ve fonksiyonel olmayan gereksinimlere ve ürün mimarisine açık ve erken dikkat verilerek, çevik yaklaşımların artması, artan başarılar olmuştur.
Alameensoft’un hız yöntemleri benimserken karşılaştıkları en yaygın sorunlardan bazıları şunlardır:
- Disiplin eksikliği.
- Yapı ve gerekli dokümantasyon eksikliği.
- Sadece geliştirme süreci ile çalışma.
- Yetersiz yazılım tasarımı içeme.
- Kabul etmek için çok fazla kültürel değişiklik gerektirmesi.
- İhtiyaç duyulan tüm çalışma çabası hakkında gerçekçi tahminler geliştirmek imkansızdır, çünkü projenin başlangıcında hiç kimse tüm kapsamı/gereklilikleri bilmediğinden, tahminlerin kesinliği kısa bir planlama tekrarlaması veya aşaması ile arttırılır.
- Ön planlama eksikliği.
- Tahmin edilebilirlik eksikliği.
- Yüksek nitelikli geliştiriciler gerektirmesi.
Neden Agile CMMI?
Alameensoft CMMI Seviye 3’tür ve hızı benimsemek ister…
Yazılım geliştirme verimliliğini artırmak için CMMI tabanlı geliştirme programları kullanılmasına rağmen, çevik yöntemler, daha iyi işbirliği, iletişim ve proje yönetimi için uygulamalar vaat ediyor olsa da, bu yaklaşımların birleştirilmesi olasılığı eleştirilmiştir. Bu eleştirinin nedenleri, CMM veya CMMI tabanlı yazılım süreç iyileştirmenin bir bağlamda belgeye dayalı yazılım geliştirme yaklaşımına yol açacağını varsayar. Bu, Agile yazılım geliştirme ilkelerine aykırıdır. Diğer taraftan, CMMI referans modelinin kullanımı çok zaman alıcı ve süreç odaklı olarak tanımlanmıştır, bu da verimliliğin yazılım süreç iyileştirmesinden kaybolacağı anlamına gelir, çünkü gerçek geliştiricilerin yazılım süreç iyileştirmesine yönelik destek ve geri bildirimler eksiktir.
Her ne kadar üst noktadan bakan pek çok insan her ikisinin de çelişkili olduğuna inanıyor olsa da, alameensoft’ta birbirimizi desteklemek ve tamamlayıcı olmak için birlikte çalışabileceklerini iddia ediyoruz, buradaki zorluk, iki yaklaşımın güçlü yanlarından yararlanmalarını dengelemek ve onların rakip veya karşılıklı münhasır alternatifler olduğu algısını aşan zayıflıklarını telafi etmektir. Agile Metodolojileri, bu tür şirketleri CMMI işlem gereksinimlerinin daha yeterli şekilde uygulanmasına doğru yönlendirebilir ve aşağıdaki gibi akıllı yöntemlerle CMMI hedeflerine ulaşmayı destekleyebilir:
- Değer odaklı uygulama ve atıkların elimine edilmesini veya yok edilmesini (kökenlerinden) teşvik eder, bu CMMI uygulamalarının ve hedeflerinin doğru, yalın ve değerli bir şekilde uygulanmasını sağlar.
- Farklı uygulayıcıların süreç iyileştirme faaliyetlerine katkısını arttırın.
- Hız, çeşitli uygulamalara ve etki alanlarına (örneğin proje yönetimi) yoğun takım katılımını teşvik eder ve ekibin proje yaşam döngüsü boyunca sürekli olarak gelişmesi için bir yol sunar.
- Agile bir proje, otomasyona büyük ölçüde güvenmektedir. Bu araçlar genel olarak süreç iyileştirme ve özel olarak CMMI uygulamasında atıkların ve genel masrafların giderilmesinde önemli bir rol oynamaktadır. Öte yandan, CMMI Agile şirketlerin çevik yöntemleri daha tutarlı bir şekilde kurumsallaştırmalarına ve hangi süreçleri ele aldıklarını anlamalarına yardımcı olabilir. CMMI, hızı birçok yolla tamamlayabilir (ancak bunlarla sınırlı değildir):
- Kuruluş düzeyinde uygulamalar, politikalar raporlar ve hedefler üzerine odaklanma sağlayan bu durum genellikle düşük odak ve ilgi ile Agile ortamlarda uygulanır ya da ihmal edilir.
- Agile uygulamalara, özellikle (Proje Yönetimi – Yapılandırma Yönetimi – Kalite Güvencesi) gibi alanlarda hacim ve gelişim ekleme
Çevik dönüşümün ek faydaları şunlardır:
- Daha Yüksek Kalite – Daha önceki testlerde, otomatik regresyon testinde ve sürekli entegrasyonda daha yüksek kalite kodu sunun
- Daha Fazla Şeffaflık – Günlük standuplar, sprint demoları ve retrospektifler hayali değil, gerçek kontrol sağlar
- Daha Fazla Değer – Yalnızca gerçekten değer katan şeylerde çaba harcayın
- Düşük Riskler – Ekibinize “hızlı hata, erken hata” demeyi öğretirken riskleri daha etkin bir şekilde yönetin
- Geliştirilmiş Müşteri Memnuniyeti – Müşterilerinizle işbirliğini geliştirerek onları ürünlerinizin bir parçası haline getirin