Scrum Serisi 1: Scrum Nedir?

    Scrum Serisi 1: Scrum Nedir?

    Bu yazıda, günümüzde çokça duyduğumuz bir terimden bahsetmek istiyorum, "Scrum". Adını sıkça duyduğumuz, özellikle yeni mezunsanız yazılım alanındaki mülakatlarda sorulması muhtemel sorulardan bir tanesidir: Scrum nedir? Gelin birlikte öğrenelim.

    Çevik yazılım geliştirmede kullanılan proje yönetim metodolojilerinden biridir. Bir ürünün en kısa zamanda kaliteli, değişimlere uyum sağlayabilecek ve en yüksek değere sahip olacak şekilde geliştirilebilmesi için gereken süreç çerçevesidir. Bu metodun en önemli özelliği gözleme ve tekrara dayalı olması, gelişime ve değişime açık olmasıdır.

    İlk yaygın kullanımı alanı yazılım geliştirme projelerinde görülmektedir fakat zaman geçtikçe her alanda uygulanabileceği keşfedilmiştir. Günümüzde yazılım, donanım, otonom araçların geliştirilmesi, devlet, pazarlama, organizasyonel işlerin yönetimi ve neredeyse günlük hayatın her alanında bireyler ve toplumlar tarafından kullanılmaktadır.

    Scrum kelime olarak rugby oyununda oluşturulan küçük ekiplere verilen isimdir. Rugby takımı toplanır, stratejilerini planlar ve görevler kişilere dağıtılarak, herkes bir hedef için çalışır.

    Scrum, Ken Schwaber ve Jeff Sutherland tarafından 1990'ların başında geliştirildi. Scrum terimi, adını 1986'da Takeuchi ve Nonaka tarafından yazılan Harvard Business Review'da yayınlanan bir çalışmadan almıştır. Temel fikirleri Schwaber tarafından ortaya konmuştur ve 1990'ların başından beri karmaşık ürün geliştirme sürecini yönetmek için kullanılmaktadır. Ken Schwaber, Jeff Sutherland ve diğer arkadaşları tarafından formüle edilen 12 maddelik bir manifesto (Agile 2001) yayınlamışlardır. Bu manifesto çevik yazılım geliştirme değerleri, modelleme biçimi ve prensipleri ve rollerden oluşmaktadır. Kısaca özetleyecek olursak Scrum 3 temel prensip üzerine kurulmuştur:

    • Şeffaflık; Projedeki ilerlemeler ve sorunlar günlük olarak tutulur ve herkes tarafından izlenebilir olması sağlanır.
    • Denetleme; Ürünün parçaları ya da fonksiyonları düzenli aralıklarla teslim edilir ve değerlendirilir.
    • Uyarlama; Ürün için gereksinimler en baştan bir defalığına belirlenmez, her teslimat tekrar değerlendirilir ve duruma göre uyarlamalar yapılır.

    Yapılan araştırmalara göre, projelerin karmaşık olması, ihtiyaçların belirsiz olması, müşterinin projeye dahil edilmemesi, projenin geliştirmesinin çok uzun sürmesi, geliştirilen ürünün müşterinin isteklerine tam karşılık vermemesi veya değişimlere ayak uyduramaması, yaşanılan sorunların belirli bir grup tarafından bilinmesi ve işlerin önceliklendirilememesi projelerin başarısız olma nedenleri arasındadır.

     Bunlara çözüm olarak Scrum çerçevesinin bize sundukları:

    • İlk aşama sisteme müşterinin de dahil edilmesi; isteklerin daha kolay anlaşılması,
    • 2 veya 4 haftalık aralıklarla geliştirilen ürünlerin teslimatı; müşterinin geri bildirimi alınıp, müşterinin isteklerine zamanında karşılık verilmesi,
    • Takım içinde yazılımcıların, analistlerin, mimarların bir arada çalışması ve sürekli iletişim halinde olması; yaşanan bir problemde kişilerin birbirlerine en kısa zamanda ulaşabilme ve yaşanan problemleri çözebilme olanağı,
    • Kendi kendini organize edebilen ekiplerin oluşturulması; görev bilincinin artması, projeyi benimseme ve ekiplerin üzerinde oluşan baskının azalması,
    • Günlük yapılacak kısa ve verimli toplantılar; ekibin yüz yüze iletişim halinde bulunması, yapılan ve yapılacak işlerin aktarılması ekibe olan sorumluluğun artmasını sağlar,
    • Düzenli aralıklarla yapılan ekip içi ve proje değerlendirme toplantıları; sorunların belirlenmesi ve gerekli iyileştirmelerinin yapılmasına olanak sağlar.
    • Scrum Board kullanımı; yapılacak, yapılan ve bitmiş işlerin gösterilmesi, işlerin herkes tarafından takibini ve işlerin kendi arasında önceliklendirilmesini sağlar.

       Scrum Board'un kullanımı şirketler arasında çok yaygındır. Hem dijital ortamda verilerin tutulması, hem takibinin kolay olması hem de görsel kolaylık sağlaması tercih edilme nedenleri arasındadır. Yaygın olarak kullanılan Scrum Board'larına örnek olarak Asana ve Jira'yı verebiliriz.

       Sizlere Scrum'ın ne olduğu, hangi alanlarda kullanıldığını, amacı ve getirdiği çözümlerden bahsettim. Bir sonraki Scrum serisi yazısında Scrum'da kullanılan terimler ve rollerden bahsedeceğim. Bir sonraki yazıya küçük bir giriş için bu görseli bırakıyorum:)

     

    Yorum

    Zaten Hesabınız Varsa Buradan Oturum Açın
    Henüz bir yorum yapılmamış. İlk yorum yapan siz olun
    © 2024 BinYaprak. Tüm Hakları Saklıdır.
    Bir TurkishWIN girişimidir.