Çevik nedir?

Tamamlandı

Çevik, artımlı teslimi, ekip işbirliğini, sürekli planlamayı ve öğrenmeyi vurgulayan yazılım geliştirme yaklaşımlarını açıklamak için kullanılan bir terimdir. Çevik, bir ekibin yapacağı çalışmayı planlamaya yönelik bir felsefe veya düşünce yapısı kadar bir süreç değildir. Yinelemeli geliştirmeyi temel alır ve bir ekibin yazılım geliştirmede gerçekleşen kaçınılmaz değişiklikler için daha iyi plan yapmalarına ve bunlara tepki vermelerine yardımcı olur. En son sürümden sonra Mara'nın Andy ile olan tartışmasını dinleyelim.

Mara, DevOps'ta ekibi ilginç hale getirerek birkaç küçük adım attığını ama ilerlemenin durulacağını düşünüyordu. Ekip, son sürümdeki hataları düzeltmekle başka bir şey düşünemeyecek kadar meşguldü.

Ürün yöneticisi Irwin'in takıma yarış oyunu web sitesi hakkında oldukça kritik müşteri geri bildirimleri sağladığını hatırlayın. Bu sorunları çözmek eğlenceli değildi. Andy ve Mara kod yazar ve amita'ya teslim eder, testçi. Amita her zaman yeni hatalar buldu ve kodu geri vermek zorunda kaldı. Derleme sunucusu başarısız oldu. Geliştirme ve test aşamasında çalıştıktan sonra bile Tim oyunun web sitesini üretim ortamında çalıştıramadı. Herkes uzun saatler çalıştı ve birkaç hafta sonu kaybetti.

Serbest bırakıldıktan sonra Mara ve Andy kahve içmek için oturdular. İkisi de yorgundu. Mara cesaretini yitirmişti ama Andy farklı bir tutum sergiledi.

Neden şaşırdığını bilmiyorum. Yazılımı kapıdan çıkarmak zordur. Her zaman bir sıyrk. Daha önce hiç farklı yaptın mı?

Ben yaptım ve sanırım burada işleri kolaylaştırabiliriz. DevOps'un bize yardımcı olabileceğine inanıyorum.

Andy: Değer akışı eşleme alıştırması yaptığımızı hatırlıyorum ama şimdi ne olacak? Yeni sürüme başlamamız gerekiyor. DevOps ile işimiz bitti sanıyordum.

Yapabileceğimiz daha çok şey var. Bence ilk adımı atıp biraz Çevik planlama yapmalıyız. Azure Boards'ı bize yardımcı olması için kullanabiliriz.

Çevik ile ne demek istiyorsunuz?

Mara: Çevik, yazılım geliştirmeye yönelik bir yaklaşımdır. "Çevik" terimi 2001 yılında Çevik Manifesto'da ortaya çıkarılmıştı. Manifesto, yazılım geliştirmeye daha iyi bir yaklaşım için bazı yol gösterici ilkeler oluşturdu. Bildirimde şöyle yazıyor:

Değer veririz:

  • İşlemler ve araçlar üzerindeki bireyler ve etkileşimler.
  • Kapsamlı belgeler üzerinde çalışan yazılımlar.
  • Sözleşme anlaşması üzerinde müşteri işbirliği.
  • Planı takip etmek yerine değişikliğe yanıt verme.

Bak, eğer hayatı kolaylaştıracak sihirli bir yol biliyorsan, ben buna hazırım. Ben eve geldiğimde çocuklarım hep uyuyor. Ancak bu, somut çözümler olmadan çok hassas görünüyor.

Mara: Sihirli değildir, ancak bunu bit bit yapabiliriz ve Azure DevOps bize Çevik uygulamaları uygulamak için ihtiyacımız olan araçları sunar. Şimdilik planlama yapmak istediğimizde Azure Boards'ı kullanabiliriz. İlk olarak, derleme sürecini bana açıklayıp büyük sorunları tanımlamama yardımcı olur musunuz?

Mara ve Andy, çok sayıda kahveden sonra derleme sürecindeki en büyük sorunları belirler. Tüm sorunlar son sürümde ortaya çıktı. Andy ayrıldıktan sonra Mara karalanmış notlarına bakar ve biraz Çevik planlama yapmaya karar verir. Tüm sorunları tek bir yerde almak için Azure Boards'taki Temel süreci kendi başına kullanır.

Bir sonraki adımı, yönetim kurulunun takıma gösterilmesi ve bu işe dahil olmalarıdır.

Çevik'i benimsemek için Öneriler

Ekip, Çevik'i benimsemeye yönelik ilk adımlarını atmaya hazırlanıyor. Burada, herhangi bir ekibin Çevik'i kuruluşuna dahil etmek için kullanabileceği bazı genel öneriler yer alır.

Çevik uygulamalarını destekleyen bir kuruluş yapısı oluşturma

Çoğu kuruluş için Çevik'i benimsemek zor olabilir. Kuruluş içindeki birçok mevcut ilke ve süreci zorlayan bir zihin değişimi ve kültür değişimi gerektirir. Geleneksel olarak çoğu şirket yatay bir ekip yapısı kullanır. Pratikte bu, ekiplerin yazılım mimarisine karşılık geldiğini gösterir. Örneğin, bir uygulamanın kullanıcı arabiriminden sorumlu bir ekip, veriden sorumlu başka bir ekip ve hizmet odaklı mimariden sorumlu başka bir ekip olabilir.

Ancak dikey ekipler Çevik projeler için daha iyi sonuçlar sağlar. Dikey takımlar mimariye yayılır ve ürün sonuçlarıyla uyumlu hale gelir. Örneğin, uygulamanın e-posta bölümünden sorumlu bir ekip olabilir ve ekip üyeleri daha önce bahsedilen üç uzmanlık alanından da gelebilir. Dikey ekip yapısının bir diğer avantajı da ölçeklendirmenin ekipler ekleyerek gerçekleşiyor olmasıdır.

Çevik teknikler ve uygulamalar üzerinde mentor ekibi üyeleri

Çevik tekniklerini ve uygulamalarını ilk benimsemeye başladıklarında, bazı takımlar dış koçları işe almaya karar verir. Koçlar, kurumsal engelleri ve siloları kaldırmaya yardımcı olmak için birden fazla ekiple birlikte çalışabilir, bu nedenle genellikle hem öğretim hem de yönetici becerilerine sahip olurlar. Ekip üyelerini, stand-up çalıştırma ve toplantıları gözden geçirme gibi Çevik teknikler konusunda da eğitebilirler. Ancak zaman içinde ekip üyelerinin birbirlerine akıl hocalığı yapma becerisi geliştirmeleri önemlidir. Bu, çoğu işin tek başına çalışarak zamanlarının çoğunu harcayan kişiler tarafından değil işbirliğiyle yapılması gerektiği anlamına gelir.

Ekip içi ve ekipler arası işbirliğini etkinleştirme

Çevik'te başarılı olmanın anahtarı işbirliğiyse, bunu teşvik etmenin yollarından bazıları nelerdir? İşte bazı fikirler.

Kültürel değişim

Bir kültürü değiştirirken birkaç şeyi aklınızda bulundurun. Ekip üyelerinin sessiz ve rahat bir çalışma alanı olması önemlidir. Dikkatleri dağılmadan ve gürültü olmadan odaklanabilecekleri alanlara ihtiyaçları vardır.

Toplantılar hayatın bir gerçeğidir ve bir kişinin çalışma hayatını devralıyormuş gibi hissedebilirler. Ekip üyelerine daha fazla denetim sağlamak için toplantıların bir gündemi ve katı zaman çerçeveleri olmalıdır.

E-posta ve iletiler gibi zaman uyumsuz iletişimler bunaltıcı olabilir ve insanlar genellikle hemen yanıtlanmaları gerektiğini hissederler. Bu iletişimlerin tümünün anında yanıta ihtiyacı olmadığını açıkça belirtmelisiniz.

Uzak ekip üyeleri artık birçok şirkette norm olarak yer alır. İster ofiste ister işyeri dışında olsun, herkesin tüm ekip üyeleriyle rahat hissetmesi ve onlara eşit şekilde davranması gerekir. İletişim yoluyla işbirliği, kuruluşun DNA'sının bir parçası olmalıdır.

Anlaşmazlıklar olsa bile iyi iletişimin önemini fazla vurgulayamıyoruz. Çakışma çözümü, çevik ekiplerin sahip olması için iyi bir beceridir.

İşlevsel ekipler

Ekip üyelerinin işbirliği içinde çalışması önemli olduğu gibi, ekiplerin de birbirleriyle işbirliği yapmaları da önemlidir. İşlevsel ekipler, herkesin zorlukları yaratıcı bir şekilde çözme becerisini genişletebilecek yeni beceriler ve perspektifler ekler. İşlevsel ekipler ayrıca kuruluşun tamamını daha uyumlu hale getirir. Çim savaşlarını azaltır ve herkesin ortak bir hedefe doğru çalıştığı hissini artırırlar.

İşbirliği araçları

İyi araçlar, Çevik ekip üyelerinizin hem ekip içinde hem de diğer ekiplerle daha etkili bir şekilde işbirliği yapmasına yardımcı olabilir. Başlamanıza yardımcı olacak birkaç öneri aşağıdadır:

  • Microsoft Teams: Teams, sohbet, toplantılar, notlar ve dosya depolama için çalışma alanı sağlayan bir uygulamadır.
  • Skype: Skype kullanımı kolaydır ve iyi bir genel amaçlı araçtır. Birçok kişi zaten yüklüdür.
  • Slack: Slack, tümü tek bir arabirimden birçok ayrı iletişim kanalı sağlar. Bu kanalları proje, ekip veya konu gibi birçok yolla düzenleyebilirsiniz. Konuşmalar korunur ve aranabilir. Hem iç hem de dış ekip üyelerini eklemek kolaydır. Slack, kaynak kodu için GitHub gibi birçok üçüncü taraf aracıyla doğrudan tümleştirilir.

Google Hangouts, Asana, Trello, GoToMeeting ve monday.com diğer yaygın araçlardır. Hangilerinin ekibinizin ve şirketinizin ihtiyaçlarına uygun olduğunu görmek için seçenekler hakkında bilgi edinmeye çalışın.