Akademik araştırma söz konusu olduğunda gelişimi planlama


11

Sevgili programcılar,

akademik araştırmalar yapıldığında "yazılım planlaması" nasıl yapılır? Ve bir yan not, nasıl patronuna yazılım yazma olduğunu ikna edeceğiz değil bir ev inşa gibi ve bir daha gibi bir roman yazıyor ?

Kanlı ayrıntılar aşağıdadır.

Bir araştırma laboratuvarında çalışan küçük bir geliştirme ekibinden sorumluyum. Bir gün halka açılmak amacıyla bir yazılım geliştirmeye başladık (yani bunu satmak ve para kazanmak). Bu tür yazılımlar, diğer şeylerin yanı sıra, en az iki bağımsız araştırma hattına bağlıdır: yani, en az iki doktora vardır. umarım bir gün ihtiyacımız olan şeyin çalışan bir uygulamasıyla ortaya çıkar.

Ana yazılım, geliştiriciler olarak bakabileceğimiz diğer daha somut kaynaklara da bağlıdır: grafik oluşturma, yumuşak gövdeler deformasyonu vb.

Patronum tüm projenin özelliklerini, gereksinimlerini ve kanlı bir GANTT şemasını yazmamı istedi. Araştırma kısmı hakkında bir ipucum olmadığı ve böyle bir araştırmanın yazılım için temel olduğu gerçeğiyle karşı karşıya kaldığında, “varsayımlar yapın” dedi. Argümanın netliği için doktora derecesi olan bir profesördür. Öğrenciler ihtiyacımız olan araştırmayı bulmalılar. Ve kesinlikle mühendislik geçmişinden geliyor: önce her şeyi planlayın, spesifikasyonları yazın ve daha sonra "bu son bölüm" kodunu yazın.

Şimdi ne yapıyorum:

  1. Ürünü özelliklerde bozdum; her 'özellik' fiili olarak ayrı bir üründür;
  2. Her özellik bir öncekinin üzerine inşa edilmiştir;
  3. Bir özellik (A) çalışan bir prototipe sahip olduğunda, ekip bir sonraki özellik (B) üzerinde çalışmaya başlayabilir, A için KG yapılırken (para izin veriyorsa, daha fazla kişi getirilebilir, vb.);
  4. Araştırmanın bağımlı Özellikler son gelecektir: o zamana kadar, umarım, araştırma bölümü tamamlanmış olacak ( ne zaman büyük bir soru hala);

Ayrıca, ekibi birkaç ay içinde 'sürüm 1.0'ın geliştirilmesi için SCRUM'u kullanacak şekilde ayarladım . Bu son tarih makul varsayımlara dayanarak belirlenebilir: gerekli tüm özellikleri listeledik, kullanılabilirliğimizi saydık ve makul bir tahmin yaptık.

Yani sorularım yine:

  • Aynı zamanda kapıdan bir şey çıkarırken patronumu nasıl mutlu edebilirim?
  • Geliştiricilerin yapmamızın mümkün olup olmadığına dair hiçbir fikrimiz yokken nasıl spesifikasyon yazabilirim ? (Hala bazı görevler için hangi kütüphaneleri kullanacağımıza karar vermedik; bunu yapmamız gerektiğinde yapacağız)
  • Henüz müşteri veya yatırımcı olmadığı, sadece çok fazla ilgi ve vaatte bulunmadığı için bunun için nasıl gerekli şartları elde edebilirim ?
  • Dünyada nasıl barış elde edebilirim?

Eminim sorularımdan en az biri cevaplanacaktır :)

ps: Bunu anonim olarak yazıyorum çünkü potansiyel bir yatırımcı keşfedilirse geri tepebilir. Umarım anlarsın. Ancak şunu söylemeliyim ki, bu 'gerçeği gizleme' anlayışından hoşlanmıyorum: bu program büyük olasılıkla pek çok fayda sağlayacaktır ve bunun hakkında açık bir şekilde konuşamamak (benim adım ve itibarım eklenmiş) sansür gibi geliyor. Ama ne yazık ki, önerilerinizi şimdi önemsiyorum.


Siyah bir durgunluk ve belirsizlik çukuru gibi hissettiren yıllar boyunca çalışan eski bir doktora öğrencisi olarak konuşurken, profesyonellerin işimle ilgili yararlı bir şeyler yapmak için beklediklerini bilmek beni çok heyecanlandırdı (ve dehşete kapılmıştı). Muazzam motive edici olurdu. Bu sorunun neredeyse bir yıl önce sorulduğunu görüyorum, ancak durum aynı kalırsa, öğrencilerle ne kadar temas kurduğunuzu bilmek isterim. Onlar için kök saldığınızı bildirmek faydalı olabilir!
öğleden

Yanıtlar:


6

Ben o pozisyonda birkaç kez oldum ve deneyime sahip, sen olamaz alakalı araştırmaları sunmak için doktora öğrencisine saymak, ve tabii ki onu faydalı bir zaman ölçeği oluyor güvenemez. Doktora öğrencilerinin araştırma ilgi alanlarının kendilerine götürdükleri yerlere gitmelerine izin verilir ve aniden kendileriyle ilgili olan ancak sizin için olmayan bir yan yolda zarar gördüklerinde aşağı doğru olmak çok zor olabilir. Bu, projeniz için önemli bir risk kaynağıdır, bu nedenle proje planınızda uygun risk azaltma stratejilerini kullanmalısınız.

Bununla birlikte, teslim etmeniz gerektiğinde çalışın (araştırma hibesine bakın; herhangi bir şeyden ziyade fonunuz tarafından belirlenir) ve araştırmanın yapıldığı varsayılarak ne kadar sürede teslim edileceği . Bu, her şeye kadir tahminler gerektirecektir, ancak bu yardım edilemez; bu tahminleri zaman tahmininde açık hale getirin . Daha sonra, doktora öğrencileriyle makul düzeyde yakın temasta bulunarak riski yönetin (örn. Ayda bir kez eğitim oturumlarında oturun), böylece ihtiyacınız olanı zamanında teslim etmeyecek gibi görünüyorsa, etki azaltma stratejilerini ayrıntılı olarak düşünebilir. Şanslıysanız, kumar ödeyecek ve araştırmadan yararlı bir şey alacaksınız. Tuhaf şeyler oldu.

Diğer her şey, müşterilerinizin kim olacağını bilmek ve nihai ürünü nasıl kullanmalarını istediğinizi (ve gerçekte nasıl kullanacaklarını) düşünmekten sonra gelecektir. Bunu bilmiyorsanız, kimseye satış yapmazsınız. Ama bunu bilmelisin ya da en azından yakında bulmalısın. (Araştırma bölümü tarafından belirlenirse, büyük beladasınız! Araştırma projeleri kesinlikle olumsuz - veya kısmen olumsuz - sonuçlar üretebilir; her zaman yaygın olarak rapor edilmese bile her zaman olur.)

Son olarak, bunu anonim olarak yapmanız korkunç bir utanç, çünkü yaptığınız tek şey belirli bir proje yönetimi hakkında tavsiye almak. Araştırmanın konusunun ne olduğunu veya kimin üstlendiğini veya ortak çalışanlarınızın kim olduğunu söylemiyorsunuz, ne de bu soru için önemli değil. Bir sorun olabilmesinin tek yolu, araştırma yapılmadan önce Ar-Ge dışı fon arayışında olmanızdı, ancak bu ya ilgili risk seviyesini açıklamanızı (muhtemelen yatırımın dağılması!) Ya da son derece dürüst olmamanızı gerektirir; dürüst olmayı planladığınız için, proje ancak riskler daha kesin olduğunda bu tür bir fon arayışında olması gerektiği için ortaya çıkmamalıdır. (Eğer bir grup olarak - potansiyel yatırımcılarla dürüst olmuyorsanız, bu orada bir problemdir ve gözyaşlarıyla biter. Veya davalar.)


Donal, cevabın için teşekkürler. Birkaç iyi puan topluyorsunuz; özellikle risk yönetimi konusunda. Araştırmada, evet, olumsuz sonuçlar bulmaları gerekiyor: araştırma böyle yapılıyor! Ne alacağınızı zaten biliyorsanız, bu araştırma değil, reklamdır. Anonim kalmanız gerektiğinde: bunun nedeni, stackexchange hesabımdan kariyer profilimde kim olduğumu ve nerede çalıştığımı görebilmenizdir. Bu, ekibimin gelecekteki maaşını tehlikeye atabilir (evet, ar-ge dışı fon arayışındayız). Sadece ben olsaydım, dürüst olurdum. Ama şimdi paramı ödemek benim param değil, bu yüzden dikkatli olmalıyım.
Başka bir Anonim Kullanıcı

1
Mükemmel cevap. Yaptığım ticari yazılım geliştirme türlerinde bile, spesifikasyonlarda ve programlarda nerede eğitimli bir tahminde bulunmanız gerektiğinin bilinmeyenleri var. Herkes bunun tahmin olduğunu ve değişime tabi olduğunu bildiği sürece sorun değil. Araştırma öğeleriyle yapabileceğiniz bir şey, vermeniz gereken her sayı için (tarihler, para, vb.) Tahmin et ve iyi bir vaka sunması (% 10 şansın bu kadar iyi gitmesi), beklenen (% 50) ve kötü durum (% 90) değerleri. Ayrıca, bilinmeyenleri azaltmak için, sanal arka cebinizde "B Planı" (ve ideal olarak C ve D planları) bulundurmaya çalışın.
Bob Murphy

Araştırmaya bağlı problem, “kesin olumsuz” bir cevapla sonuçlanma ihtimalinizin güçlü olmasıdır: ürün için istediğiniz şeyin bilinmeyen bir şey değil, aynı zamanda yaratılamayan bir şey gerektirmesidir. Veya araştırmanın hiçbir zaman alakalı bir şey sunmadığını (doktoralarla gerçek bir risk) Büyük yatırımı almanın asıl amacı, kavramın küçük bir kanıtı olduğunuzu göstermektir, böylece en azından yapılabileceğini ve yapmanız gereken tek şeyin onu nasıl kullanılabilir ve pazarlanabilir hale getirebileceğini bilmektir.
Donal Fellows

2

Aynı zamanda kapıdan bir şey çıkarırken patronumu nasıl mutlu edebilirim?

Akıllı olun ve işleri halledin.

Geliştiricilerin yapmamızın mümkün olup olmadığına dair hiçbir fikrimiz yokken nasıl spesifikasyon yazabilirim? (Hala bazı görevler için hangi kütüphaneleri kullanacağımıza karar vermedik; bunu yapmamız gerektiğinde yapacağız)

Neyle arayüz kuracağınızı bilmiyorsanız, bu bir problemdir. Sihirli kutuyu hangi girdilere veriyorsunuz? Sihirli kutudan hangi çıktıları alıyorsunuz? Bu aynı zamanda araştırmacıların sihrin ne olduğunu tanımlamasına yardımcı olacaktır.

Akademisyeninize bir hibe tarafından finanse edilmişse, muhtemelen bir araştırma teklifi yazmıştır. Tutun onu. Gördüğüm (ve yazdığım) araştırma hibe tekliflerinden herhangi biri gibi ise, bir zaman çizelgesi ve yapmaya çalıştıkları şeylerin bir "belirtimi" olacaktır.

Henüz müşteri veya yatırımcı olmadığı, sadece çok fazla ilgi ve vaatte bulunmadığı için bunun için nasıl gerekli şartları elde edebilirim?

Gereksinimler algoritma / şey-a-ma-jig son kullanıcılarının ne olduğunu. Onlarla (veya potansiyel müşterilerle / müşterilerle) görüşüp görüşemeyeceğinize bakın.

Aksi takdirde, kendi köpek mamasını yiyin.

Dünyada nasıl barış elde edebilirim?

Konu dışı :-)


2

Bence araştırma geliştirme planlama şeyler bir seferde ve tgen geliştirme gerçekten iyi çalışmıyor. Bir araştırma enstitüsünde çalışıyorum ve hızlı prototipleme kullanarak daha çok çalışıyoruz. Genellikle bir prototip geliştirmek tam olarak neye ihtiyaç duyulduğuna dair bir fikir verir. Hızla bir prototip oluşturarak patronunuzdan ve araştırmacılardan geri bildirim alabilir ve bunun bekledikleri yer olup olmadığını belirleyebilir ve ayrıca yaklaşımınızın işe yarayıp yaramadığını görebilirsiniz. Daha sonra kodunuzu yeniden düzenleyebilir ve geliştirebilirsiniz. Çalıştığım araştırma enstitülerinde uygulamada gördüğüm şey bu.

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.