Bir serbest çalışan çevik gelişimi kullanabilir mi?


18

Yazılım geliştirme yöntemimi geliştirmek istiyorum. Daha hızlı ve harika bir kod geliştirmek istiyorum! Bugün şelale yöntemini freelancer olarak kullanıyorum, web materyalleri (siteler, sistemler vb.) Yazıyorum. Bu şekilde çalışan çevik gelişimi (XP, SCRUM, vb.) Kullanmanın bir yolu var mı? Çevik gelişim hakkında hiçbir şey bilmiyorum, nereden başlamalıyım? Çok teşekkür ederim.


Şirketimizin ekiplerinden birinde "tek geliştirici scrum" yaptığımız diğer şeylerin yanı sıra, geliştirici kendini organize ettiği ve açık hikayelerdeki (biriken işler) öncelikler Ürün sahibi tarafından atandığı için iyi çalışıyor. Ben scrum zaten değer ve şelale ile karşılaştırıldığında şeyleri basitleştirmek ve hızlandırabilir düşünüyorum. Scrum metodolojisi hakkında biraz okuma yapabilirsiniz.

Bunu programmers.stackexchange.com'a taşımak için oy veriyorum, ancak SO düzenli S.Lott'un 'çevik' etiketli blog girişlerini
Jeff Sternal

7
Günlük stand-up toplantıları biraz yalnız olabilir.
JohnFx

2
Scrum tahmini, Kalabalık Olmadan "Kalabalıkların Bilgeliği" ne dayanır, bilgeliklerini elde etmek zordur.
Martin York

scrum sırasında sprint planlama sırasında bunu yaptığımız bir serbest çalışanın hala müşteri ile yapabileceği / yapabileceği tahmin etmiyoruz
Michael Durrant

Yanıtlar:


17

... Eşli programlama dışında, elbette. ;-)

Cidden, ben de serbest çalışanım ve olabildiğince çevik teknikler kullanıyorum. Benim için çok iyi çalışıyor. TDD'yi çok kullanıyorum,

Kimse XP veya Scrum'ın% 100'ünü kullanmıyor, ancak herkes bunun bir kısmını kullanıyor ve onlar için çalıştığı kadar benimsemeye çalışıyor. Benim düşünceme göre, ne kadar çok benimserseniz, o kadar iyi olursunuz.

En çok özlediğim şey çift programlama. Üstesinden gelmenin yolu

  1. Çok sayıda kullanıcı grubu toplantısına gidin.
  2. Geliştiriciler olarak saygı duyduğunuz birkaç kişiyi bulun.
  3. Onlardan kahve ya da kod yazacak bir şeyle buluşmalarını isteyin. Gerekli olduğunu düşünüyorsanız ya da sadece kodları üzerinde çalışmaya ayni cevap verirseniz, onlara saatlik ücretinizin bir kısmını verin.
  4. Bunun gibi bir Hack Kulübü'ne katılın veya oluşturun: http://www.DallasHackClub.org .

Kullandığım bazı kaynaklar:

Aşırı Programlama Cep Kılavuzu


En iyi yaklaşımın tek bir yöntemin asla% 100'ü olmadığı gerçeği için +1
Filip Dupanović

@kRON - Kabul etmiyorum, ama başlangıçta tüm süreci mümkün olduğunca takip ettiğinizden emin olun. O zaman düzgün bir şekilde yürütmediğini keşfetmek yerine ince ayar yapılması gerektiğini bileceksiniz.
JeffO

2
+1 Bruce Lee'nin çok ünlü söylediği gibi, “yararlı olanı eminiz, olmayanı atın, benzersiz olanı kendiniz ekleyin.” Bu özellikle büyük A “Çevik” için geçerlidir.
Rein Henrichs

Çevik bir ekip ve kişi adapte olabilmeli ve son olarak ne xp ne de scrum değil, ekibe veya kişiye iyi uyan bir süreç var.
OnesimusUnbound

8

Bu yüzden Agile'ı serbest çalışan olarak kullanmak için üç ana "harika nokta" olduğunu söyleyebilirim:

  1. Daha büyük müşteriler için, Yinelemelerde çalışma / fatura. Yinelemenin sonunda müşteri proje üzerinde çalışmaya devam edebilir veya projeyi sona erdirebilir (yani: amacına ulaşmıştır). Biliyorum (deneyimlerden) Birkaç haftadan fazla bir süre tahmin edemiyorum ve yineleme başına ödeme de nakit akışının devam etmesini sağlıyor. 3 aylık bir projenin 6. ayında olmak eğlenceli değil ve beklemek böylece projeyi bitirmek için bil ...

  2. Çevik demek değişim olur. Döngünün ortasındaki bir müşteri talebi nedeniyle bana para kaybeden bir ton sabit teklif projesi (şelale ile yapabileceğinizi düşünüyorsunuz) yaptım. Değişim olur: müşteri başka bir işi daha hızlı yapmak için bir bileti depireitize edebilir, ya da belki yanlış tahmin ettiniz ve umduğunuz kadar yapmadıysanız.

  3. İyi müşteri işbirliği araçları. Standart tahminim (bir yinelemenin çalışma değerinden daha küçük bir şey için) aslında müşterinin beklentilerinden türetilen bir dizi Davranış Odaklı Gelişim adımlarıdır. Bunu müşteriye gönderiyorum ve "Bu doğru mu?" Diyorum. Herkesin aynı sayfada olmasını sağlar.

  4. Muhtemelen işe yarayabilecek en basit şey. Çalışırken akılda tutulması gereken bir şey: istemciye geri dönüp "Bu şekilde yapsaydık çok daha basit (ya da daha güçlü ya da her neyse) olurdu demekten korkmayın. "

  5. Scrum önemlidir. Müşterilerime projelerinde her gün bir e-posta göndermeyi seviyorum. Bu onlara olan scrumum gibi: "bugün ne üzerinde çalıştım", "bir sonraki projesinde ne / ne zaman çalışacağım?", "Yolumda bir şey var mı?" Ve "Genel olarak, ilerleme nasıl gidiyor ?"

  6. Test odaklı geliştirme, tek bir programcı olarak bile gerçekten yararlıdır. "İçlerindeki BDD hikayeleriyle ilgili tahminlerim" bu süreci beslememe yardımcı oluyor.


6

Çevik yolculuğunuza başlamanın harika bir yolu, bir KANBAN sistemi kullanarak iş akışınızı ayarlamaktır.

Sadece 3 yüzme uçağımız var:

  1. Yapılacaklarımız veya İş Listemiz
  2. Ne üzerinde çalışıyoruz veya DEVAM EDİYOR
  3. Tamamladığımız veya YAPTIĞIMIZ şeyler.

Bu basit Çevik iş akışı, başlamak için harika bir yoldur.

Kodlama açısından, test odaklı geliştirme (TDD) kullanmanızı tavsiye ederim . Yazımızda TDD'yi açıklayan birçok harika bağlantı ekledik, ancak bunları tekrar kopyalayacağız:

Daha fazla bilgi için aşağıdaki kaynaklara göz atın:


1

Sizin bir birey olduğundan, size grok aşımı için en iyi olanı orada yardım etmek olduğunu şey olarak çevik metodolojileri yaklaşım en iyisidir sana . "Kaşık yok" platosuna ulaşmanıza yardımcı olmak için oradalar, ancak bunun tam olarak nasıl olacağı tamamen size kalmış ve sonunda ortaya çıkardığınız şey çeşitli seviyelerde bazı yöntemlerle büyük ölçüde örtüşecektir, ancak tamamen senin olacak bir şey olacak.

Genel etkinliğinizi artırmak için kendi yolunuzu bulmaya çalıştığınız için, en azından yaptığım hataları yapmamanıza yardımcı olabilecek bazı işaretçiler:

Mümkün olduğunca, yalnızca çevik metodolojileri hedefleyen tüm yazılım çözümlerini bırakın.

Takım işbirliğini kolaylaştırmak için daha uygun olmaları, konunun yanındadır. Günaha karşı koy. Kendinizi bir şeyler yapmak için kutuya sokmuyorsunuz ve sonra benimsemenin en iyisi için işe yarayacağını umuyorsunuz. Öyle değil, sadece sizi sinirlendiriyor. Önce bir şeyler yapma yolunuzu bulursunuz ve sonra uygun bir yazılım çözümü ararsınız. / Gelişmekte hikayeleri ve takibi için ben yazı tahtaları kullanarak ile sona erdi ettik (biriyle başladı ama şimdi odamda iki tane var) Pomodoro Tekniği | Geliştirme görevlerimi izlemek için Bugün Yapılacaklar listesi ve bu friggin 2011. Iron Man 2 veya uçan arabalar gibi bazı arayüzler görünene kadar temel bilgilere sadık kalın.

Yansıma, yansıma, yansıma

Bir birey için herhangi bir metodolojinin en önemli kısmı olarak anlamaya başladım. Projenizin bütünsel bir görünümünü veren bu iş akışını geliştirmekle ilgilidir, böylece ne yapılması gerektiğini ve ne zaman kolayca yönetilebileceği ve kötü kararların nadiren alındığı ve öne çıkabilmeleri için hızlı bir şekilde değiştirilebilecekleri takip edebilirsiniz. zarar vermeden önce ... ama sadece raftan çıkaramazsın. Bir yerden, her yerden başlayın. Çalıştığı sürece ona sadık kalırsınız. İyiyi, kötüyü ve benzerlerini takip etmeye yatırım yapın. Varsayımlarınızı geliştirin, ardından işleri yapma şeklinizi buna göre ayarlayın. Geliştirmenin tek yolu bu.

Son başvuru tarihleri ​​hakkında bilgi edinin, işleri ne kadar hızlı yaptığınıza odaklanın

Muhtemelen başladığımda bir sonraki adam gibiydim, tarihleri ​​kovalıyordum. Tükenmişlik çizelgeleri? Onları gelişim parkurumu son teslim tarihlerine göre görselleştirmenin bir yolu olarak düşünürdüm. Bu bir performans, tahmin modeli değil. Sadece son teslim tarihlerini engellemeden önceki mesafeyi temsil etmek için bazı aptal değerler değil , belirli bir zaman dilimi içinde yaptığınız iş üzerine düşünerek etkinliğinizi ölçmek için zaman vardır . Gerçek şu ki, işler bittiğinde yapılır ve metodolojiniz bunu hesaba katmalıdır.

Buna göre sapma

Sonunda, kullanıcı hikayelerini veya bu konuda bildiğimiz herhangi bir şeyi kullanmanız gerektiğini kim söylüyor? Böyle düşünmeyin. Özelliklerde düşünmekten daha rahat olursanız, küresel kalkınma topluluğuna meydan okuyup yolunuza devam edin, çünkü işlerin yapılması günün sonunda önemlidir. Sonunda yanlış bir şey yapıyormuş gibi hissediyorsanız, tebrikler - başka bir şeye atlamanın zamanı geldiğine karar verdiniz. Neyle ilgili, nasılsa değil.


0

"Yazılım geliştirme şeklinizi nasıl geliştirmek istiyorsunuz?" İş modeliniz için, şelale metodolojisini kullanırken karşılaştığınız en büyük sorunlar nelerdir?

Hedefiniz daha hızlı geliştirme, daha sağlam kod, daha fazla yeniden kullanım, değişen gereksinimleri karşılama / uyarlama vb. Farklı problemlerin üstesinden gelmek için farklı metodolojiler mevcuttur.


0

Elbette Şelale dışında bir tasarım metodolojisi benimsemek, iş gereksinimlerinize bağlı olarak bir proje yaşam döngüsünü etkili bir şekilde yönetmede çok yararlı olabilir. Çevik gelişim için çevrimiçi çok sayıda kaynak vardır. TDD'yi (Test Odaklı Geliştirme) içeren AUP'ye (Çevik Birleşik Süreç) bakacağım . Bu, büyük ölçeklenebilir sistemler oluştururken / yönetirken son derece yararlı olabilir.

'Herkese uyan bir beden' metodolojisi yoktur ve bu çok sayıda farklı yaklaşımın ana nedenidir. Darboğazların şu anda geliştirme sürecinizde nerede olduğunu düşündüğünüzü düşünmeye başlarım ve sonra bunun üstesinden gelmek için yeni bir metodoloji benimsemeye çalışırım.

Örneğin, sık sık teslim tarihlerine uymuyor musunuz? Yeni özellikler çok sayıda hata içeriyor mu? Yeni gereksinimler büyük ölçüde yeniden gelişmeye neden oluyor mu? İşletme düzenli çalışma sistemlerinin sunulmasını gerektiriyor mu? Göz atın: Çevik , Yinelemeli ve Çevik Giriş .

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.