17 Eylül 2017 5139 0 AGILE GELİŞTİRME Hakan Aksungar
Çevik yazılım geliştirme, değer odaklı bir yaşam döngüsü içinde yüksek kaliteli yazılım üreten iteratif ve aşamalı bir yaklaşımdır. Proje paydaşlarının değişen ihtiyaçlarını anlamak ve ihtiyaçları eksiksiz karşılamak için iş birimi temsilcisiyle iş birliği içinde, disiplinli ve kendi kendini organize eder.
Çeviklik, yenilikçi ve dinamik bir proje ortamında daha iyi proje ve ürün performansı elde etmek için geliştirme takımının müşteri ve ya paydaşların ihtiyaçlarına, piyasa veya teknoloji taleplerine yanıt vermek adına çevik bir şekilde yazılım geliştirme yeteneğidir. Çevik Bildirge (2001) ve Çevik Manifesto yazarlarına göre tüm çevik yaklaşımlar ortak değerleri ve ilkeleri paylaşmaktadır.
Agile Yaklaşımlar, Scrum, Kanban ve Extreme Programming (XP), TDD, bugüne kadar en çok bilinen ve en yaygın kullanılan yöntemlerdir.
Çevik yöntemlerin uygulanması, organizasyon içindeki roller ve sorumluluklarda önemli değişiklikler meydana getirir.
Proje Yöneticisi’nin Rolü
Çevik yaklaşım da, kendi kendini organize eden takımların faaliyetlerini Scrum Master ve Scrum Product Owner rolleri, proje yöneticisinin sorumluluklarını devralmıştır.
Proje yöneticisi rolünün daha stratejik olduğu ve paydaş yönetimi açısından daha fazla çaba göstermesi gerekir ki, bazı durumlarda, takımlar arasındaki koordinasyon genellikle Scrum Master'ın düzenli bir toplantısı olan veya genellikle proje yöneticisinin katıldığı Scrum of Scrums aracılığıyla gerçekleştirilir. Yalnızca tek bir geliştirme takımına sahip küçük projeler için Proje Yöneticisi rolünün Scrum Master tarafından doldurulabileceği görülmüştür.
Scrum Master'ın Rolü
Scrum Master, Çevik Yöntemde çok merkezi bir role sahiptir.
Scrum Master çoğunlukla Scrum Master olmadan önce programcı / analist veya takım liderliği görevini üstleniyorlardı. Özellikle daha önce bir teknik programcı / analist rolü oynayan kişiler için önemli bir değişiklik getiriyor. Scrum Master, Çevik Koçlar takımın çalışmalarının yanı sıra takım süreçlerini planlamaktan ve koordine etmekten sorumlu kişilerle yakın çalışırlar.
Product Owner’ın Rolü (Ürün Sahibi’nin Rolü)
Product Owner (Ürün sahibi)’nin, ürünün birikiminde değişiklik yapmak ve her sprintin başında yeniden öncelik sıralamasını yapmak için bilgi ve yetkiye sahip bir kişidir.
Ürün sahibi geliştirme takımı tarafından, çoğunlukla tam zamanlı olarak kullanılır. Büyük ölçekli çevik projelerin gerçeğinde, ürün sahibi her zaman bilgi, yetki ve kullanılabilirliğe sahip olmayabilir. Çevik Yaklaşımın kullanıldığı İşletmelerde, Ürün sahibinin rolün tam olarak anlaşılmaması pek çok sıkıntıya neden olmaktadır.
Ürün sahibinin, işletme ihtiyaçları konusunda bilgili olması ve karar verme yetkisine sahip olması gerekir. İşletme birimleri, sınırlı kullanılabilirlik, işletme bilgisi ve karar verme yetkisine sahip kişileri tayin eder; Ancak, alınacak kararlar iş birimin de karar mercilerine yönlendirildiğinde gecikmelere neden olabilir. Ürün sahibinin çevik yöntemlerdeki rolü, işletmenin kültürü ile çok yakından ilişkilidir. Ürün sahibi rolündeki zorluklar çevik kültür ve kuruluşun kültürü arasında önemli farklılıklar doğurur.
Ürün sahibi, müşteri veya son kullanıcı organizasyonunu temsil eder.
Bu rolün önemli bir kısmı, her sprintin sonunda ürün birikimindeki özelliklerin tanımlanması ve önceliklendirilmesini içerir. Geleneksel yaklaşımda böyle bir mekanizma yoktur, ancak çevik yöntemlerle bunlar her sprintin sonunda gerçekleşir. Ürün sahibi rolü, müşterinin gereksinimleri belirlediği ve başlangıçta kapsamı onayladığı, kilometre taşlarında projeyi onayladığı, değişiklik talep ettiği ve proje kapanışında nihai ürünü kabul ettiği geleneksel geliştirme yöntemlerinde müşteri organizasyonunun rolünden kökten farklıdır.
Geleneksel yaklaşımda müşteri temsilcileri ve geliştirme takımı arasındaki toplantılar yapılandırılmış durumdadır. Ürün sahipleri geliştirme ekiplerinin tam gün üyesidir.
Karar alma yetkisinin eksikliğinin ürün sahiplerinin azınlığı için önemli bir konudur ve ürün sahiplerinin çoğunun sorularını müşteri organizasyonuna yöneltmesi gerekebilmektedir.
Müşterinin, dahili işlemlerinde sistemi kullanacak bir iç iş birimi olduğu durumlarda, ürün sahibi işi bilmeli ve normal olarak dahili olarak işe alınmalıdır. Bununla birlikte, rol, sistemin kuruluşlar veya şirket dışındaki insanlara satıldığı durumlarda farklıdır.
Müşterinin kuruluşun dışında olduğu organizasyonda, ürün sahibi rolü, bir ürün yöneticisi tarafından doldurulur. Bu rolde, özellikle iyi tanımlanmış bir ürün sözleşmeli olarak satıldığı veya yüksek profilli bir müşterinin çok özel isteklerde bulunması durumunda zorluklar yaşanır.
Pazarlama ve ürün yönetimi rollerinin işleyişini çevik geliştirme yöntemleriyle daha uyumlu hale getirmek büyük bir organizasyonel değişiklik gerektirebilir.
Analistlerin Rolü
Fonksiyonel ve sistem analistlerinin rolleri her bir geliştirme ekibi üzerinde bir analist bulunur.
Mimarların Rolü
Tüm organizasyonlar, proje organizasyonunda mimarlara sahiptiler ancak geliştirme ekipleri için değildirler. Çevik yaklaşımda Mimarlar part-time görev yaparlar.