Çok fazla potansiyel paydaş olduğunda bir geliştirme projesine nasıl başlanır


15

Bir kolejde (tek) Web uygulaması geliştiricisi olarak yeni bir işe başladım.

Kolej bir dizi farklı ama oldukça kötü kodlanmış eski sistemlere sahiptir. Çoğunlukla PHP'de yerleşik olarak devam, sınav sonuçları, işaretleme vb.

Benim ilk işim, şu anda herhangi bir dostu API olmadan çeşitli veritabanlarında dinlenen bu verinin birçoğunu içeren bir sistem oluşturmaktır (mevcut sistemler veri ve görünüm ayrımı olmadan vanilya PHP'de kodlanmıştır) öğrencilerle ilgili pastoral bilgileri kaydetmek için yeni bir platformla ve bunları öğretmenlere ve kıdemli personele yararlı bir şekilde sunar, böylece öğrencilerle ilgili sorunlara hızlı bir şekilde tepki verebilirler.

İlk toplantımızda 18 kişi vardı! Çoğunluğu temsil eden net bir lider ya da ses yoktu. Tanımlanabilir müşteri yok . Toplantı, fakülte başkanlarının küçük özellikleri hakkındaki ayrıntılı uygulama fikirlerinden, Excel e-tablolarını kullanmamız gerekip gerekmediğine dair argümanlara kadar değişti!

Tahmin edebileceğiniz gibi başım dönüyor sonunda. Aslında pek çok iyi fikrim vardı ama onları duyamadım. Bir pazarlama ajansındaki geliştirme ekibinin bir parçası olmadan önce bu benim için çok yeni bir rol. Çok iyi tanımlanmış rollerimiz vardı: Proje Yöneticisi, Müşteri, Tasarımcı, Geliştirici.

Tecrübeli herhangi bir geliştirici veya yöneticinin, meslektaşlarımı bir proje ekibine benzeyen bir şeye nasıl kırbaçlayabileceğime dair bazı işaretler verebileceğini bilmek istiyorum. Çevik gitmek için bir yol mu? Tüm farklı sesleri ele almaya nasıl yaklaşırdınız? Bazı süreçlerin çok hızlı bir şekilde yerine getirilmesi gerektiği açıktır, bunun ne olduğundan emin değilim.


8
Tek geliştirici sizseniz, toplantıdaki diğer 17 kişi kimdi?
pdr

1
İyi soru. Okulun müdürü, Öğretim elemanlarının çeşitli üyeleri (hatta PE öğretmeni bile vardı) ve akronimik isimleri olan birçok insan.
Matt Harrison

1
@MattHarrison: ama web uygulamanızla ortak noktaları neler? Potansiyel kullanıcılar mı? Bahsettiğiniz bu eski sistemi sürdürüyorlar mı? Kimin gereksinimler isteyeceğinizi ve kimi görmezden gelebileceğinizi bildiğinizden emin olmalısınız.
Doc Brown

1
@DocBrown Üzgünüm belki biraz belirsizdim. Hepsi sistemin gelecekteki kullanıcıları olacak. Uygulama cross-college olacak ve 3000'den fazla kişi tarafından kullanılacak. Sanırım burada olanlar insanları davet ediyor ve toplantı bir sirk haline geldi. Yapacağım şey, daha küçük bir paydaş katılımına duyulan ihtiyacı vurgulamak.
Matt Harrison

5
Anonim inişe / yakına: bu ilk bakışta çok lokalize edilmiş gibi görünebilir. Ama bence asıl soru genel ilgi alanı olan bir kalkınma sorusu: "çok fazla potansiyel paydaş olduğunda bir kalkınma projesine nasıl başlanır" ve bu tür sorular burada IMHO'nun konusudur.
Doc Brown

Yanıtlar:


26

Burada mevcut probleminize bir çözüm olarak "çevik geliştirme süreci" beklemem. Senin için ilk şey şu olmalı: görevini temizle . Bunun anlamı:

  • kendi sorumluluklarının ne olduğunu açıkla
  • diğer paydaşların sorumluluklarının ne olduğunu açıklığa kavuşturmak
  • eski sistemlerin her birinden kimin sorumlu olduğunu tanımlamak
  • web uygulamanız için (henüz) bir istemci yoksa, gelecekte onu kullanacak olanı bulun ve onu sisteminizin temsili kullanıcısı olarak dahil etmek için izin isteyin (gereksinimleri tartışabileceğiniz bir kişi)
  • farklı hedeflere sahip farklı paydaşlar varsa, gereksinimlerini toplayın (örneğin, tek bir odada 18 kişiyle değil, tek tek görüşerek). Sonuçları bir listeye yazın. Daha sonra, öncelik vermeye başlayın.
  • 0,1 sürümü için bir yol haritası (büyük resim) ve küçük bir özellik yazın ve patronunuzun yanı sıra temsilci müşterinin resmi olarak kabul etmesini sağlayın
  • EDIT: GlenH7'nin yorumuna bakın

Bu biraz zaman alabilir, muhtemelen projenin bu aşamasında fazla kod yazmazsınız. Böyle bir durumda, önce bazı "gereksinim mühendisliği" yapmalısınız. Ama küçük başlayın, büyük düşünün. İlk sürümünüzü geliştirdikten sonra, etrafta bir şeyler gösterecek, gereksinimleri paydaşlarla tekrar tartışacaksınız.


Mükemmel tavsiye. Teşekkür ederim! Açıklığa kavuşturabilir miyim; 'sorumluluklarını temizle' dediğinde, onları açıklığa kavuşturmak mı, yoksa onlardan kurtulmak mı istiyorsun? Üzgünüm, İngilizim, bu yüzden belki de ABD İngilizcesi.
Matt Harrison

1
@MattHarrison: Umarım düzenlemem bunu daha açık hale getirir - bazen de bazı sorumluluklardan kurtulmak iyi bir fikir olabilir ;-)
Doc Brown

4
Mükemmel cevap. Ekleyeceğim tek öğe, bir olası müşteri veya yönetici paydaşını tanımlamaktır. Bu kişi, özellik önceliklendirme ve kapsamı belirleme konusunda nihai otoriteye sahiptir. Oraya ulaşmanın farklı yolları vardır, ancak birisinin projede nihai sorumluluğu vardır. Ve evet, isterseniz cevabınıza eklemek için bu yorumu çalmaktan çekinmeyin. :-)

6

Bu projenin gerçekten çalışmasını isteyenleri sürüden ayırın.

Bir çok siyaset nedeniyle, birisi bu toplantıyı, davet etmezsem üyeliğin en çok üzüleceği kişi tarafından belirlendiği bir katılımcı listesi ile bir araya getirdi. Olur. Bu hedef yerine getirildi ancak geliştirici olarak hiçbir şeye karar verilmediğini gördünüz. Kimse ne yapması için görevlendirilmedi. Eğer şanslıysanız, bir sonraki toplantıyı ya da tanrıyı yasaklamayı planladılar, her ayın 3. Salı günü tekrarlanan bir toplantı düzenlediler.

Daha sonra komiteler, alt komiteler ve görev güçlerinin oluşumu gelecek. Bu daha iyi, ama hepsini eşit derecede değersiz bulacaksınız.

Son olarak, bu projeye kimin gerçekten önem verdiğini öğreneceksiniz. Kim gerçekten doğru yapmak için zaman koymak istiyor. Umarım, bu kişi (ler), bunu yapmak için zaman tanıyacak ve sadece uzun yapılacaklar listesinde başka bir öğe yapmakla kalmayacak bir amirine sahip olacaktır. Bu insanları en kısa sürede bulun! Patronlarının beklentilerini yönetmelerine ve üzerinde mutabık kalınmış bir taahhüt almalarına yardımcı olun.

Orijinal grupta geri dönmek için bile uğraşacak kadar insanın önüne bir şey alın. Hepsi akıllı ve / veya eğitimli insanlar olabilir, ancak bir sürü özellik okumazlar. Bazı şeyleri sevecek, diğerlerinden nefret edecek ve daha fazlasını isteyecekler. Önerileri yazmak acı vermez, ama o partiyi oyunda biraz ciltle takip etmeye çalışın. Her şeyi yapacağına söz verme. Sadece yakın gelecekte neler yapılabileceğini ele al.

Düzenli olarak 5'ten fazla kişiyle uğraşmak zorunda kalırsanız, bunun nedeni, bazı yöneticilerin gerçekten orada olmak istemeyen birkaç kişiyi dahil etmesidir.


1
Böyle bir durumun politik yönlerini vurgulamak için +1.
Doc Brown

4

Gözlemlerinize ve onların "ihtiyaçlarına" dayalı olarak mevcut sistemleri katılaşacağını / geliştireceğini düşündüğünüz fikirlerin bir listesini hazırlayın ve gerçek görünür kazançları nerede elde edebileceğinize odaklanmanızı sağlayın. Bu listeye, yararlı olmayacağını düşündüğünüz her fikri ve geliştirici olmayanların öne çıkardığı "makul" önerileri ekleyin.

Geliştirme çabalarınıza dahil edilmesi gereken şeylerin bir özellik listesini oluşturun. Her üyeye belki "yapışkan yıldızlar" şeklinde "oylama" gücü verin ve her üyenin önemli olduğunu düşündüklerinin yanına yıldız yerleştirerek tam olarak ne istediğini öğrenin. Bazı insanlar çek imzalar, son söz, vb varsa daha fazla yıldız ile sonuçlanabilir .. Bundan sonra umarım siz ve herkes, bütün için neyin önemli olduğunu göreceksiniz ve umarım önceliği kabul edeceklerdir. sonra bir yol haritasına çevir

1). Ekibi Anket - Her üyenin önemli / gerekli / öncelikli olduğunu düşündüğü şeyleri öğrenin

2). Orada hızlı bir şekilde bir şey alın - Tüm sorunları bir kerede çözmeye çalışmayın, "çıplak minimum" işlevselliğini elde edin ve onaylamalarını sağlayın, ardından kullanıcıların geri bildirimlerine dayanarak toplu olarak ilerletin.

3). Geliştirme sürecine rehberlik etmek için geri bildirimlerini ve diğer kullanıcıların geri bildirimlerini kullanın

(Yapı, Feedback değerlendirin Feedback, Oluştur değerlendirin) durulayın ve tekrarlayın.

Ayrıca, öncelik sırasına da yardımcı olabilecek "çaba puanları" veya tahmini tamamlanması gereken saatler koymayı düşünebilirsiniz.


1
+1, harekete geçtikten sonra arabayı sürmenin yolu :-)
Doc Brown

1
Bunun için +1, ama yine de aslında yapması gerekeni yapan bir "kötü sistem" konusunda dikkatli olmanız gerektiğini daha açık hale getireceğim. Kırılmamış şeyleri tamir etmeyeceğiniz bir şekilde öncelik verin, gerçek görünür kazançları elde edebileceğiniz yere odaklanın.
Joris Timmermans

@MadKeithV, kabul etti .. "Gerçek görünür kazançları nereden elde edebileceğinize odaklanın", bu ifadeyi içerecek şekilde güncellenmiş yorum.
hanzolo

2

İlk zorluğunuz bu projeye olan ihtiyacı belirlemektir. Tüm bu insanlarla bir toplantı daha yapın ve çözülmesi gereken sorunları yazmalarını isteyin. Bu projenin çözüm olacağı birçok yol hakkında konuşmalarına izin vermeyin. Onları ihtiyaçları / sorunları gerçekten belirlemeye zorlayın.

Bunu yapmanın bir yolu, her birinden ayrı ayrı bu ihtiyaçları yapışkan notlar üzerinde belgelemelerini istemektir - yapışkan başına bir fikir. Ardından, bu farklı fikirleri belirli ihtiyaçlara göre gruplandırmalarına yardımcı olmak için bir Yakınlık Diyagramı çalıştırın . Son olarak, en büyük ihtiyaçları görebilmeniz için oylama yapın ( Çoklu Oylama ).

Agile, bize en çok müşteri değeri olan özelliği ele almamızı hatırlatır. En büyük ihtiyaçla başlayın ve kısa bir süre içinde yapabileceğiniz ilk küçük parçaya ulaşıncaya kadar bu öğeyi bölmeye devam edin.


0

KISS - Bir güzergah yapın. Geldiğiniz için herkese teşekkürler, gözden geçirin, yapın. Endişelerini paylaşarak ele alırsanız ve toplantıdan SONRA kalmalarını isterseniz yan izleme yavaşlar. En mutlu olmak için tartışmaların olduğu oylarla kararlar verin. Herhangi bir sisteme katılmaya yönelik motivasyon, bireylerin yöntemlerine olan inancı ile doğrudan ilişkilidir.

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.