Yeni becerileri öğrenmek Çevik'te nerelere uygundur?


32

Bir finansal yazılım şirketi kuruyorum ve bu süreçte Çevik prensipler ve yöntemler üzerine çalışıyorum ve henüz ele almadığım gelişim sürecinin bir yönü, geliştiricilerin yeni beceriler ve teknolojiler geliştirmeye gelişimine sürekli ihtiyaç duyacakları yer. süreci.

Son birkaç yıldır finansal yazılımlar üzerinde çalışmaya başlamadan önce kariyerimin çoğunu video oyunları ve GIS ve biyometri yazılımları üzerinde çalışan bir 3d grafik programcısı olarak geçirdim ve her zaman basit bir uçurumdan bir şeylere dalmak zorunda kaldım. uçmak. Her zaman başarılı olmama rağmen, bir zamanlar 100 saat haftalar ve aylarca çalışarak kendimi öldürmezsem yaşayacağım sürece yaşayamayacağımdan eminim.

Şimdi 3d grafiklerin oldukça yenilikçi taleplerine sahip olmayan bir yazılım şirketi kurmaya başladığımda, gelişime daha bütünsel bir yaklaşım oluşturmak istiyorum.

Belki çeviklik bu konuyu ele almaz, ancak eğer öyleyse, nerede olduğunu bulamadım ve bu konuda kimsenin sahip olduğu herhangi bir bilgi veya uzmanlığı veya deneyimi takdir edersiniz.



1
Öğrenme ve Ar-Ge, açık veya net bir şekilde sprint planlamasında muhasebeleştirilebilir. Ayrıca öğrenme sürecinin kolayca ölçülebilir bir sonucu olmaması iyi bir şeydir (örneğin Sprint Hedefinin bir parçası değildir). Bkz. Artımlılık : pchiusano.github.io/2017-05-17/incrementalism.html "Gerçek ilerleme ilk başta ilerleme gibi görünmüyor."
KolA

1
Tecrübelerime göre en basit çözüm, tatildeyken benzer bir eğitim için 2 gün izinsizseniz, iş yükünü bir süratle ayarlamaktır. Bazı kuruluşlar bir sprint eğitimi için yapay kullanıcı hikayeleri ekler, ancak ben şahsen herhangi bir kazanç görmüyorum.
Simon

Yanıtlar:


43

Bunun gerçekten Çevik ve hatta Yazılım Mühendisliği ile ilgisi yok. Herhangi bir işteki herhangi bir şirket için geçerlidir: eğitim için zaman ayırmanız gerekir. Dönemi.

Agile bu “sürdürülebilir adım” fikrine sahiptir; bu, takımın hiçbir zaman belirsiz bir süre boyunca sürdürdüğünden daha fazla çalışmaması gerektiği anlamına gelir. Yani "gevezelik vakti" yok. Bunun da eğitim ile onurlandırılması gerekiyor. Bu nedenle, ekibiniz için "mola vermeden 5 saatten fazla, günde 9 saatten fazla, haftada 40 saatten fazla değil" ve eğitim için% 10'luk zaman vermek istiyorsunuz. projelerinizi 36 saat hafta planlamanız gerekiyor.

Fakat yine de, bunun Çevik ile ilgisi yok, bu sadece sağduyu ve ilkokul matematiği.

Şahsen, günde yarım saat, haftada yarım gün ve çeyrek haftada bir tam gün sürmesine izin vermek gibi bir şeyin ekibin farklı boyutlardaki bilgi parçalarını hızlı ve istikrarlı bir şekilde almasına izin vereceğini düşünüyorum.

Bilgi aktarımına yardımcı olan, örneğin ekipler arasındaki bilgi düzeyindeki farklılıkları gidermek için bazı Çevik uygulamalar da vardır:

  • günlük retrospektifler
  • sprint başına retrospektifler
  • proje başına retrospektifler
  • çiftler programı
  • pinpon eşleştirme (kırmızı-yeşil-refactor döngüsünün her adımından sonra sürücüyü ve navigatörü değiştirme)
  • Proassusous eşleştirme (sabit çiftler, çiftler rastgele atanır ve her sabah ve öğle yemeğinde değiştirilir)
  • Tek takım üyesi sayısı (eğer programlamayı eşleştirirseniz, bir takım üyesini öğrenmekte serbest bırakır)
  • mob programlama (tüm takımın tek bir bilgisayar ve ekran kullandığı, programlanmış bir ekip üyesinin basitçe bir "daktilo" olduğu ve diğerleri ona ne yazacağını söylediği bir çift programlama varyantı)
  • yardımcı takımlar (geliştiriciler her gün / her sprint takımına rastgele atanır)

Çift programlama ve mob programlama sadece sürekli kod incelemesi sağlamakla kalmaz, aynı zamanda sürekli bilgi paylaşımı sağlar. Ping-pong eşleştirme bir kişinin "klavyeyi sallama" yapmasını önler. Akıllı eşleştirme bilgiyi tüm takım boyunca yayar, sosyal ekipler bilgiyi tüm şirkete yayar ve her geliştiricinin her projeyi ve her kod kodunu bilmesini sağlar; ayrıca kod tabanlarında yüksek derecede bir standardizasyon sağlayacaktır. Retrospektiflerin temel odak noktası, gelişim süreci hakkında geri bildirim sağlamak ve buna göre uyum sağlamak olsa da, nadir bir sorunu ve bunun nasıl çözüleceğini bildirmek için de kullanılabilir.

İşverenin kapsamlı bir kütüphane, ACM, Springer, IEEE, vb. İçin abonelikler, ayrıca ders çalışmak için sessiz odalar ve ders vermek için daha büyük odalar sunması gerektiğini söylemeden geçmelidir. Birçok yazı tahtası ve yazı tahtası Her yerdeki projektörler elbette sadece eğitim için değil, genel olarak mantıklı.


5
Bütün bunların doğru olduğuna inanıyorum. Ve bize 5 saat gün veren scrum ustamız da aynısını yaptı. Jira 5 saatlik bir günün ne olduğunu anlamadı ve planlamamızı bir kabus yaptı. Bu mükemmel sağduyulu fikirleri uygulamak için onları kullanmaya çalışmadan önce çevik araçlarınızın neler yapabileceğini anlayın.
candied_orange

6
'Mob programlama' gerçekten acımasızca geliyor.
user2818782

4
@ user2818782: Çok eğlenceli, aynı şekilde üç ayaklı bir yarış yapmanın çok fazla ciddiye almazsanız ve çok uzun süre yapmayı denemezseniz eğlenceli olabilir. Aptalca bir ekip oluşturma / bilgi paylaşımı alıştırması olarak düşünün ve çok fazla (veya herhangi bir) gerçek çalışma kodu üretmesini beklemeyin.
Ilmari Karonen

1
@IlmariKaronen: AFAIK, Seattle Ruby Brigade, on yıldan beri mob programcılığını uyguluyor ve tutarlı bir şekilde en kullanışlı, en gelişmiş, en temiz, en güzel ve en hızlı Ruby kodunu üretiyor. Bu elbette yalnızca anekdot kanıtlar ve hatta en iyi ihtimalle sadece ikinci el anekdotlar. Ancak bu başarılı bir uygulamanın en az bir örneğidir. Mob Programming web sitesinde, deneyen ve kendileri için iyi çalıştığını tespit eden kişilerin birkaç tanıklığı daha var.
Jörg W Mittag

@candied_orange gerçekten - tam anlamıyla jira'da günün ne kadar süreceğini söyleyen bir ayar var mı?
jk.

8

Jörg W Mittag'ın söylediklerinin çoğuna katılıyorum , ancak "bunun gerçekten Çevik ile pek bir ilgisi olmadığı" ifadesine katılıyorum . Bazı Çevik teknikler bireylerin ve takımların öğrenmesini ve gelişmesini destekler.

Çevik yöntemler, artışlara veya sürekli akışa dayanma eğilimindedir. Her iki durumda da iş öncelik, değer ve bağımlılık gibi faktörler göz önüne alınarak sıralanır. Odak kısa vadeli çalışmalara odaklandığı için, ekip, verilmesi gereken bilgiyi belirleyebilir ve eğer bilgi eksikliği problemse, tam zamanında bu bilgiyi edinmeyi planlayabilir. Görünürlük ve şeffaflık, çeşitli Çevik yöntemlerin de kilit yönleri olma eğilimindedir; bu nedenle, paydaşlar ekibin ne üzerinde çalıştığını ve değer sağlama yeteneklerini geliştirmek için nasıl çalıştıklarını görebilir. Kapsamlı öğrenme gerektiğinde, yakın gelecekte veya mevcut yinelemede planlanabilir.

Bir takımdaki bireyler bilgi edindikten sonra, eşleştirme ve mobbingle ilgili teknikler vardır. Çift Programlama, Ekstrem Programlamada diğer yöntemlere de uygulanmış ve diğer şeylerin yanı sıra öğrenmeyi kolaylaştırmak için tasarlanmış anahtar bir uygulamadır. Mobbing bunu iki kişiden daha fazlasına uyguluyor. Ekiplerin yakın işbirliği ve çapraz işlevselliği, siloların olmadığı ve bu bilgilerin yayıldığı anlamına gelir.

Acil çalışma için neyin gerekli olduğunu öğrenmek için planlama ve uygulama yeteneği ile bile, bilgili ekip üyelerine sahip olmak çok önemlidir. Mevcut araçlar, teknoloji ve alan bilgisine sahip kişilere sahip olmak, öğrenme görevlerini yerine getirirken daha fazla bilgi sahibi olmalarını ve bilgiyi diğer ekip üyelerine dağıtırken daha etkili olmalarını sağlayacaktır.


2
Oy verildi, boşlukları doldurduğunuz için teşekkürler. Gerçekten de, kısa geri bildirim döngüleri, gerekli becerileri hedeflemeyi kolaylaştırır ve şeffaflık, paydaşlara gereklerini ve faydalarını kolayca gösterme imkânı sağlar.
Jörg W Mittag

5

Bir beceri öğrenmek için zaman ayırmak istediğiniz sürat için bir kavram görevi kanıtı planlayın. Erişilebilir bir HTML tablosu oluşturmayı öğrenmek gibi, çok özel bir şeye odaklanmaya devam edin. Hikaye için gereken becerileri öğrenene kadar konsept görevlerin zamanlamasını kanıtlayın. Her POC görevine bir miktar hikaye puanı ve son bir tarih verin.

Peki ya bir hikaye deneyimli bir geliştirici için sadece 5 puansa? Belki her biri 8 noktada 3-4 görev alıyor. Bu POC görevlerinden sonra, hikaye hala sadece 5 puan olabilir, ama en azından yeni becerileri öğrenme zamanı bir kenara koyarsınız; böylece 5 puan hikaye 40 puan olamaz - hikaye ve POC görevleri 40 puan toplasa bile.


4

Scrum 'başak' fikrine sahiptir. Eğer takım yeni bir teknoloji veya yetenek alıyorsa, başak bu işi kapsamaya yarayan bir hikayedir. Dolayısıyla, çevik bir hikaye kullanıcı odaklı bir işlevsellik iken, başak çıktısı, öğrenilenlerin belgelendirilmesi ve gerçek uygulamada uygulamaya geçirilmesi için yapılan bir çalışmadır.

Uygulamada, en azından küçük çaplı bir eğitimi yönetmenin iyi bir yol olduğunu buldum - yeni bir sistem veya çerçeveyle hız kazanmaya devam ederken, programa hala hesap verebilirlik verir.


3

Bunu diğer cevaplarda görmedim, bu yüzden birçok kurumun beceri alanları etrafındaki alanlara ya da bölümlere ya da Mükemmeliyet Merkezlerine başladığını eklemek istedim. Bunlar teknoloji ya da React Native Development gibi belirli konular gibi geniş konular olabilir. Her şey şirkete ilginin bulunup bulunmadığına bağlıdır.

Ne olursa olsun, bu gruplar genellikle gruptaki kişilerin profesyonel olarak büyümelerine yardımcı olma görevini üstlenirler. Bu, her gün bu becerileri kullananlar ve hatta çapraz eğitim ile ilgilenen o disiplinin dışındaki insanlar için becerileri yeniden güçlendirmek ve geliştirmek için iş dışında ayrı bir alan yaratır. Bu, bu sorunun tek çözümü değil, ama giderek daha yaygın bir sorun haline geliyor gibi görünüyor.


1

Bazıları zaten yönlerden bahsetti, ancak sadece kişisel gelişime çevik bir ortamda nasıl uyduğumu paylaşmak istedim.

1. Devam eden gelişme

Bu en kolay olanı, sürekli gelişim için yeterli zamanınız olana kadar her sprint'teki kapasitenizi azaltın. Zor kısım genellikle planınıza bağlı kalmaktır ve ayrıca daha fazla alınacak başka işler varsa geliştirmeyi yapmaktır. Acil bir durumunuz varsa, bu kez şimdi ve sonra feda edebilirsiniz, ancak bunu yapmazsınız.

Kapasitenizi düşürdüğünüz için, bu kategoride yaptığınız herhangi bir şey, diğer ekip üyelerinin doğrudan endişesinin dışındadır ve muhtemelen her bir sprint içerisinde endişelenmek veya planlamayı güncellemek için fazla bir nedenleri yoktur.

2. Bir sprint sırasında daha büyük çabalar

Bulduğum şey, daha büyük bir etkiye sahip bir şey planladıysanız (örn. Bir sprint sırasında 2 günlük eğitim), bunu yansıtacak şekilde sprint'i güncellemeniz gerektiğidir. Bunun teorik çözümünün ne olduğundan emin değilim, ancak insanların birisinin bununla meşgul olduğunu görebilmelerini sağlamak için eğitim görevini tahtaya koyduklarını gördüm.

Alternatif olarak, spesifik sprintin sprint kapasitesini düzeltebilirsiniz, ancak insanlar ölçülen performansınıza / verimliliğinize çok dikkatle bakmazlarsa bundan uzak dururdum. Özellikle yeni bir ekipte, istikrar muhtemelen doğruluktan daha değerlidir.


1

Çevik bir felsefe kümesidir, manifestoya bir bakın, bu TÜM Çeviktir, bu yüzden çevik sorunlarımı nasıl çözebileceğini söylerken, çeviklik hakkında daha çok şey öğrenmenizi öneririm. Agile'nin somut bir uygulamasını ele alalım: SCRUM. SCRUM'da Sprint ve sivri kavramları var. Bu iki eser sayesinde, öğrenim bütçesi oluşturmayı başarmak mümkündür.

Bir sprinte pasta grafiği olarak bakarsanız, konuya göre öncelikleri bölebilirsiniz, böyle bir konu olabilir ... yeni beceriler öğrenmek!

Başak bir sprint üzerindeki araştırma görevidir ve genellikle öğrenme yoluyla bir şeyin fizibilitesini değerlendirmeyi içerir.

Son olarak, yaptığınız şey hala masadadır ve üzerinde çalıştığınız şeyi yaparken WHILE’i öğrenebilirsiniz, hangi noktada teknik zorluklarla başa çıkmak için hikaye noktalarını / kapasitesini artırmayı deneyebilirsiniz.


1

Çevik Manifesto'dan alıntı yapmak :

Bireyler ve etkileşimler süreçleri üzerinde ve araçları
kapsamlı dokümantasyon üzerinde yazılım Çalışma
sözleşme müzakere üzerinde Müşteri işbirliği
yanıt değiştirmek için bir plan aşağıdaki üzerine

Vurgu benim, muhtemelen sizin için en uygun olan kısımları vurgulayarak.

Temel olarak, iyi eğitimli çevik geliştiriciler, değişen ortamlara becerilerinin taşlaşmasına izin verenden daha iyi yanıt verebilir.

Kendi çevik tanımımı ekleyebilirsem, "müşteri işbirliğini" de bu karışıma ekleyebiliriz. Çeviklik fikrine dayanan çeviklik kavramının en iyi tanımını buluyorum - eğer müşteri (veya çevre) kökten değiştiyse, ne kadar iyi başa çıkabiliyorsunuz? Bir müşteri işbirliği ortamını teşvik ediyorsanız, ne yaptıklarını bilen ekibinize kazanılmış bir çıkarları olacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.