Çevik Süreç Prensipleri – Agile Principles

9 Ağu

Bu yazıda çevik süreçlerde benimsenen 12 prensibi ingilizce ve türkçe anlamlarıyla açıklamaya çalıştık. Çevik süreçlerde proje geliştirenlerin bu ilkelere uyması gerekmektedir. Şunu da belirtmekte fayda var ki, çevik süreçler bir yazılım geliştirme metodu değildir. Yazılım geliştirme disiplinidir. Belli kurallar dahilinde ilerlemeyi amaçlayan bir disiplindir. Aşağıdaki ilkelerle de bu disiplini anlamaya çalışalım.

EN: “Our highest priority is to satisfy the customer through early and continuousdelivery of valuable software.

TR: “En önemli önceliğimiz, çalışır haldeki programları kısa sürelerde oluşturup teslim ederek müşteriyi tatmin etmektir.

Müşterinin tatmin olması demek, müşterinin yaptırdığı projenin ilerleyişini görerek eksikliklerinin giderilmesi ve aklındaki soru işaretlerinin ortadan kalkmasıyla olu. Bu sadece yazılım işinde değil diğer sektörlerde de böyledir. Örneğin inşaat işi yaptırıyorsa sık sık gidip inşaat alanını gezer. Müşteri işin istediği gibi ilerlediğini gördüğünde tatmin olur. İş bitiminde de müşteri isteklerini karşılayan bir proje teslim edilmiş olur.

 EN: “Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.”

TR: “Yazılımdaki değişiklikler hoş karşılanmalıdır. Bu değişiklikler yazılım süresini uzatsa bile hoş karşılanmalıdır. Çünkü çevik süreçler değişiklikleri müşterinin rekabet avantajını korumak için kullanılır.

EN: “Deliver working software frequently, from a couple of weeks to a couple of months, with a preference for the shorter timescale.”

TR: “Birkaç hafta ile birkaç ay gibi kısa zaman dilimlerine çalışan yazılımları oluştur.

Müşteriye plan ya da belgeleri teslim etmek değil çalışan programları sunmak gerekir. Teslimatlar arasındaki değişim, gelişimin göstergesidir.

EN: “Business people and developers work together daily throughout the project.”

TR: “Müşteri ve programcılar proje boyunca beraber çalışır.

Projenin çevik olması; müşteri, programcılar ve hissedarların beraber etkileşim içerisinde olmasını gerektirir. Müşteri veya programcı tarafındaki gereksinimlerin anında giderilmesi sağlanır.

EN: “Build projecsts around motivated individuals, give them the environment and support they need and trust them to get the job done.”

TR: “Motivasyonu yüksek bireylerle proje oluştur. Onlara ihtiyaç duydukları ortamları sağlayarak işi yapabilecekleri konusunda onlara güven.”

Bireyler en önemli başarı faktörüdür. Her birey takımın bir parçasıdır. Bireyler, kendilerine duyulan güvenle motive olurlar. Bu şekilde kendilerini önemser ve işe verirler. Yardımlaşma ve dayanışmayla, bilgi bakımından kısa sürede aynı standartlara gelirler.

EN: “The most efficient and effective method of conveying information with and within a development team is face-to-face conversation.”

TR: “Bilgi alışverişinde en etkili yöntem yüz yüze görüşmektir.

Çevik süreçlerde insanlar birbirleriyle konuşurlar. Ekip, konuşarak sorunların çözümüne daha kolay oluşur.

EN: “Working software is the primary measure of progress.”

TR: “Çalışan yazılım, sürecin işlediğinin birincil göstergesidir.

Çevik projelerde sürecin ölçütü, o anda müşterinin ihtiyacını karşılayan bir yazılımın ortaya koyulmasıyla belirlenir. Sunulan ilerleme raporları veya dökümantasyonlar ile ölçüm yapılmaz. Dökümanlar yalan söyleyebilir fakat çalışan uygulama gerçekleri söyler. Bu da çevik süreçlerin müşteri lehine olduğunu gösterir.

EN: “Agile processes promote sustainable development. The sponsors, developers and users should be able to maintain a constant pace indefinitely.”

TR: “Çevik süreçler sürdürülebilir gelişimi destekler. Müşteriler, yazılımcılar ve kullanıcılar bir arada çalışabilmelidirler.

Süreç istikrarlı bir şekilde ve rutin bir tempoda ilerlemelidir. Motivasyonun bozulmaması açısından aşırı iş yükü ve fazla mesai hoş karşılanmaz. Görevler, ekibe adil bir şekilde dağıtılır.

EN: “Continuous attention to technical excellence and good design enhances agility.”

TR: “Teknik mükemmelliğe sürekli özen gösterilmesi ve iyi tasarım, çevikliği güçlendirir.

Hızlı ilerlemek için, yazılımın temiz ve sağlam tutulmasıyla olur. Bu yüzden tüm ekip en kaliteli kodu üretmek için kararlıdır. Hataları gidermeyi ve kod iyileştirmelerini refactoring sırasında gerçekleştirebilirler.

EN: “Simplicity – the art of maximizing the amount of work not done – is essential.”

TR: “Baitlik esastır.

Çevik takım üyeleri, hedeflerine uygun en basit çözümü uygularlar. Karmaşık ve gereksiz kod yazmaktan kaçınırlar. Bugün yarın şu da lazım olur diye iş yapmazlar. Günün ihtiyaçlarına uygun en basit çözümü sunarlar.

EN: “The best architectures, requirements and designs emerge from self-organizing teams.”

TR: “En iyi mimariler, gereksinimler ve tasarımlar kendi kendine organize olan takımlardan çıkar.

 Çevik ekipler kendi kendine organize olabilirler. Sorumluluklar ekibe eşit şekilde paylaştırılır.  Bu sorumlulukları yerine getirmek için en iyi yol belirlenir.

EN: “At regular intervals, the team reflects on how to become more effective, then

tunes and adjusts its behavior accordingly.”

TR: “Takım, nasıl daha etkili olabileceği konusunda kendini belirli aralıklarla sorgular ve buna göre davranışlarını belirler.

 Çevik bir ekip sürekli olarak, kuralları, ilişkileri, sözleşmeleri ve organizasyon yapısını ayarlar.