18 Mart 2013 Pazartesi

Agile Süreçlerde İhtiyaç Analizi Nasıl yapılır?

İş Analizinin yapılması, diğer bir deyişle “Analitik düşünceyi kullanarak ihtiyaçların analiz edilmesi” için gerek Waterfall gerekse Agile süreçler temel olarak aşağıdaki yöntemleri ortak kullanır.
-          Ön Analiz (Bilgi Toplama)
-          Süreç Analizi
-          İhtiyaç Analizi
-          Etki Analizi
-          Süreç Tasarım
-          İhtiyaç Detaylandırma
Temel Analiz araçları açısından Agile Süreçler ve Waterfall süreçler çok farklılık göstermez. Burada esas fark Agile Süreçlerde analiz yapılırken müşterinin taleplerinin her an değişebilmesi veya gelişebilmesi ihtimaline bağlı olarak, analizinin tek bir parça halinde değil küçük parçalar halinde Yazılıma verilmesi ve Analizin step by step yapılmasıdır.

Bir ailenin yıllık patates ihtiyacı ortalama 50 kilo diyelim. 50 kilo patatesi özenle seçip bir seferde almak veya her hafta 1 kilo patates almak, çok basit anlamda Waterfall ve Agile arasındaki farkı anlamamızı sağlar. 

Evet öngörülen tüketim miktarı 50 kilo olabilir. Ama yıl içerisinde Patates ile ilgili sağlığa zararlı haberleri çıkarsa veya Patatesin muadili olan diğer sebzeler aşırı ucuzlarsa veya Mutfakta patatesi bozacak bir ortam oluşup patatesler bozulacaksa, bu gibi nedenlerden dolayı tek seferde tüm patatesi almak ailenin büyük bir risk alması anlamına gelir.

Waterfall Delivery

Agile Delivery
Agile manifestonun 4 ilkesini hatırlayacak olursak, bunlardan biri de gereksiz dokümantasyondan kaçınmak idi. Dolayısıyla, Agile süreçlerde Analizden söz ederken Waterfall yöntemdeki gibi Detaylı bir Analiz Dokümantasyondan ve doküman şablonlarından bahsetmeyeceğiz. Agility, Dokümantasyonun tamamen gereksiz olduğu gibi bir tez ortaya atıyor gibi düşünmeyelim. (BKZ: [Agile & Dokümantasyon]) İhtiyaçları yazmak, doküman üzerinde uzlaşmak elbette gerekiyor. Agile süreçte esas olan dokümanın nasıl yazılacağı değil, Müşteri tarafından istenen ürünü beklenen nitelikte teslim edebilmektir.

            “İş Analisti Nasıl analiz yapar?” sorusunu yanıtlaman önce Agile süreçlerde İş Analisti ve Product Owner farkını anlatmaya çalışalım.

Product Owner, hem müşteri hem de iş analist rolünü üstlenir. Yani, hem ürünün içereceği ana fonksiyonları ve detaylarını müşteri adına belirler hem de bu ürüne ait detaylı iş analizini yapar. İş Analisti ise daha önceden müşteri tarafından tüm fonksiyonları belirlenen ürünün sadece analizini yapar.  Fakat Türkiye’de henüz bu yetkiye sahip özelleşmiş bir rol olmadığı için İş Analistleri bu rolü yavaş yavaş üstleneceklerdir. Bu rolü üstlenirken ilk etapta Prodcut owner gibi ürünün detayları müşteri adına kendisi belirlemeyecek, bu işi müşteri ile birlikte yapacak ama nihai kararı müşteri verecektir.
Gelelim Analize; Analiz yapılırken Agile manifestonun temel esasları unutulmamalıdır. (agilemanifesto.org) Doküman içinde boğulmamalı, analiz yaparken müşteri ile açık ve mümkün olduğu kadar fazla iletişime girilmelidir. Analiz yapılırken izlenen ana adımlar aşağıda belirtilmiştir. (Burda anlatılan Analiz kavramları Scrum Metodolojisinde kullanılır. Diğer Agile yöntemlerde de genellikle story-iterasyon mantığı ile parçalı (iteratif) analiz yöntemi kullanılır.)

-          İş analisti önce iş işbirimi ile ürün hakkında temel bilgileri toplar.
-         Üründen beklenen temel fonksiyonların detayları olmaksızın sadece ana fonksiyonları (STORY) çıkarılır.  (PRODUCT BACKLOG)
-          STORY öncelikleri belirlenir. (Önceliklendirme)
-          Önceliklendirilmiş story’lerden ilk ITERATION’da ihtiyaç analizi yapılacak olanlar belirlenir   (Sprint Backlog)
-          Storylere ait Kabul Kriterleri (Acceptence Criteria) belirlenir.
-          Tüm detayları ile hazırlanan STORY’ler yazılım ile paylaşılır.
-          Yazılım iterasyon süresince İş Analisti ile sürekli DESKCHECK yaparak doğru ilerlediğini teyit eder.
-          Iterasyon bittikten sonra yazılım yapılan çalışmaları Analist ve müşteriye gösterir. (SHOWCASE)
-          Bu iterasyon sonunda yeniden önceliklendirme yapılır varsa yeni yeni ihtiyaçlar için Change Request (CR)  STORY’LER çıkarılır.
-          Bir iterasyonun yazılımı devam ederken Analist sonraki iterasyona ait diğer öncelikli Storyleri detaylandırır.
 Bu süreçlerde kullanılan yöntemleri genel olarak aşağıdaki şekilde ifade edebiliriz.

İhtiyaç Analizi, İş Analizi Adımları





Hiç yorum yok:

Yorum Gönder