5 Aralık 2016 tarihinde İstanbul Swissotel The Bosphorus’ta ikinci kez gerçekleşen Türkiye’nin ilk iş analizi konferansı BAIstanbul’da ele alınan önemli konulardan biri iş analistlerinin Agile ortamlardaki pozisyonu oldu. Konferansta birçok konuşmacı tarafından önemi üzerinde durulan bu konu, IIBA®’in Agile Alliance işbirliği ile yayınladığı “Agile Extension to the BABOK® Guide” kaynağında netleştirilip biz iş analistlerinin faydalanması için sunulmuştur.
Agile Nedir?
Agile (Çevik), geleneksel yaklaşımlardan farklı olarak tekrarlayan (iterative) süreçlerle en kısa zamanda, en değerli çözümün paydaşlara sunulmasını hedefleyen ürün geliştirme yaklaşımıdır. Büyük bir işi en küçük değer yaratan parçalarına bölerek yönetip ürün geliştirme yöntemidir.
Hızla değişen ihtiyaçları karşılamak üzere, bir grup yazılım geliştirme profesyonelinin daha iyi ve etkin yazılım geliştirme yöntemleri arayışları sonucu geliştirip olgunlaştırması sonucu çevik yazılım geliştirmeye yönelik bir manifesto yayınlanmıştır. Birçok dile çevrilmiş olan manifestoda özetle;
Süreçler ve araçlardan ziyade bireyler ve etkileşimlere Kapsamlı dökümantasyondan ziyade çalışan yazılıma Sözleşme pazarlıklarından ziyade müşteri ile işbirliğine Bir plana bağlı kalmaktan ziyade değişime karşılık vermeye değer verilir. |
Sol taraftaki maddelerin değeri kabul edilmekle birlikte sağ taraftaki maddelerin daha değerli olduğu görüşü öne sürülür.
Agile Manifesto, geliştiriciler (developers) terimini ürünü geliştiren takımdaki bireyler için kullanır. Geliştirme takımı üyeleri farklı fonksiyonel yetkinlikleri olan bireylerden oluşur. Çalışan ve müşteriye değer katan yazılım takımın en önemli önceliğidir. Çalışan yazılım üretilebilmesi için takımın sahip olması gereken yetenekler, iş analizi, teknik tasarım, çeşitli diller ve araçlar kullanarak yazılım geliştirme, test, kullanıcı arayüzü tasarımı (UI design), mimari olduğu gibi yalnızca bunlarla sınırlı değildir.
Çevik Yazılımın Prensipleri
Agile Manifesto’nun benimsediği prensipler günümüz yazılım geliştirme dünyasında birçok şirkette uygulanmaya başlanmış ve daha fazlasının gündemine girmiştir. Çevik yazılım geliştirmenin en önemli önceliği değer üreten yazılımlar ile müşteri memnuniyetini sağlamaktır. Çevik yazılım geliştirme değişimi hangi aşamada olursa olsun kucaklar ve değişimi avantaja dönüştürür. Takım çalışması esastır ve takımlar birlikte çalışmaya yatkın, motivasyonu yüksek kişilerden oluşmalıdır. İşin gelişimi, öncelikli olarak çalışan yazılım ile ölçülür.
Agile Yaklaşımda İş Analizi
Diğer birçok yazılım geliştirme yaklaşımındaki gibi iş analizi projelerde önemli bir yere sahiptir. Tüm paydaşların aynı paydada buluşması ve herkesin ortak dili konuşması iş analizi aktiviteleri sayesinde olur. Tüm projelerde iş analisti rolleri tanımlanmamış olsa da iş analizi aktiviteleri mutlaka yürütülür.
Agile iş analizinde gereksinimler iteratif olarak toplanır ve düzenlenir. Bu iteratif süreçte gereksinimler ve kullanıcıların istekleri planlanır, kabul kriterleri tanımlanır, önceliklendirilir, geliştirilir ve sonuçlar gözden geçirilir. Agile iş analizi; doğru bilginin, doğru zamanda, doğru detayda geliştirme takımına sağlanarak, doğru ürünün oluşmasını hedeflemektedir.
Agile yaklaşımda kullanılan iş analizi tekniklerinde kritik bir değişiklik olmamakla birlikte, değişen tekniklerin kullanım şekilleri ve zamanlaması değişmektedir. Çalışan yazılımın geliştirilmesini yavaşlatan ve çok detaylı tanımlama teknikleri yerine daha sıklıkla diyagramlar, haritalar ve listeler kullanıldığını görüyoruz. Persona, veri modelleri, kullanıcı senaryoları (use cases) gibi dokümanlar kullanılmaya devam edilir ancak geleneksel yöntemlere nazaran daha hafif tutulur. Özetle; Agile iş analizinde süreci yavaşlatacak teknikler yerine, ihtiyacı daha hızlı kavramaya ve aktarmaya yarayacak teknikler kullanılır.
Agile yaklaşımı uygulayan iş analizinin en büyük avantajlarından biri iş biriminden sık geri bildirim alınması ve sonuçların iş birimi ile birlikte gözden geçirilmesidir. Böylelikle, ürüne ilişkin iş ihtiyaçları ile ürün gereksinimlerinin hizalanmasını korumak için gerekli düzeltmeler yapılır, projede riskler erken tanımlanır ve doğru çözümün geliştirilmesi sağlanır.
Tekrarlayan (iterative) geliştirme süreçleri iş analizinde etkinliği artırır. Plan-driven projelerde yazılım başlayana kadar tüm gereksinimler netleştirilir, detaylandırılır ve belgelenir. İş ihtiyaçları gelişip, risk unsurları keşfedildikçe bazı gereksinimler değişebilir veya ihtiyaç kalmadığına hükmedilip elenebilir. Bu durum da değer yaratmayacak gereksinimler için iş analizi aktivitelerinin yürütülmesi anlamına gelir. Agile yaklaşımlarda ise yalnızca o andaki gereksinimler (just-in-time) tanımlanır ve detaylandırılır.
Agile yöntemde bir iş analisti geliştirilen ürünün veya ürün parçacığının, ürün stratejileri ve iş hedefleri ile hizalı olduğunu garantilemek, değişen ve gelişen iş ihtiyaçları ile iş hedeflerine ürün özelliklerinin hizalanmasını sağlamaktır.
Agile Yaklaşımda İş Analisti
Agile yaklaşımlarda iş analizi yetkinlikleri farklı paydaşların istek ve ihtiyaçlarının toplanıp analiz edilerek tek ve üzerinde uzlaşılmış bir ürün vizyonun oluşmasında etkilidir. Bazı projelere analist rolündeki bir bireyin atanması gerekmeyebilir, ancak bu durum o projede iş analizi aktiviteleri yürütülmeyeceği anlamına gelmez.
İş Analisti Agile Bir Projede Hangi Katkıları Sunabilir?
· İş analisti, karmaşık durumlarda farklı paydaşların bir araya gelmesini ve paydaşların aynı dilden konuşmasını sağlayarak, çelişkili ve çatışan bakış açıları karşısında takımın kafa karışıklığını engelleyebilir.
· İş analisti, ürün sahibi (Product Owner) veya müşteri temsilcisi rolüne bürünerek ürün özellikleri ve öncelikleri ile ilişkili kararlar verebilir.
· İş analisti, ürün sahibinin olmadığı ortamlarda vekil görevini üstlenebilir.
· İş analisti, kendi alanında yetkin ancak sınırlı IT proje tecrübesi olan ürün sahibine ve sınırlı iş bilgisine sahip proje takım üyelerine koçluk yapabilir.
· İş analisti, kabul kriterlerinin tanımlanmasında, kabul test senaryolarının oluşturulması ve koşulmasında görev alabilir.
· İş analisti, projenin iş hedeflerine yarattığı katma değerin takımın odağında kalmasını sağlayabilir.
· İş analisti, paydaşlar tarafından dile getirilmemiş önemli gereksinimlerin belirlenmesinde rol oynayabilir.
İş Analistleri Nelere Dikkat Etmeli?
Daha önce de belirtildiği gibi Agile yaklaşımlarda iş analizi teknikleri çok değişmiyor, ancak iş analistinin üst seviye sosyal becerilerini artırması büyük önem taşıyor. Agile yaklaşımlarda iş analistini başarıya götüren en önemli faktör çevresiyle uyum içerisinde çalışmasını sağlayacak olan iletişim, koçluk, müzakere ve diğer sosyal becerileridir. Analistlerin gereksinimlere 360 derece bakış açısıyla yaklaşmaları beklenmektedir. Analistler, sponsor ile stratejik düzeyde çalışmalar yürütüp, önerilen ürün veya özelliğin kurum portföyü ve stratejileri ile nasıl uyumlanacağını tanımlarken, bir yandan da proje takımı ve iş birimi ile stratejilerin gereksinimlere dönüştürülerek etkin ve doğru tahminleme yapılmasını sağlar.
Agile yaklaşımlar ile ürün geliştiren ortamlarda analistler için anahtar unsurlardan biri de alınan geri bildirimlerin değişimlere ışık tutmalarıdır. Gereksinimlerin daima iş birimleri ile gözden geçirilmesi ve iş ihtiyaçlarındaki değişimlerin doğru şekilde gelecek ürün sürüm çıkışlarına yansıtılmasını sağlamak iş analistinin sorumluluğundadır.
Kaynaklar:
1. http://agilemanifesto.org/iso/tr/manifesto.html
2. Agile Extension to the BABOK® Guide, Version 1
3. BAistanbul Konferansı, Konuşma ve Konuşmacıları
Meltem İPEK UMUTLU
Kıdemli İş Analisti, BA-Works