Web Geliştirme hazırlığı ve tüm proje iş akışı


9

Web geliştirme projelerinde (ön ve arka uç) yalnız bir programcı olarak çalışıyorum - Birkaç projeyi tamamladım, bu yüzden oldukça yeniyim, birkaç yaklaşımı okudum ve denedim ve devam ettim onlar hakkında. Soru ve açıklamam oldukça uzun, bu yüzden lütfen sabırlı olun.

Aradığım şey:
1. Tam olarak neyin inşa edilmesi gerektiğini bildiğinizde, geliştirmeye başlamadan önce yapılacak olan Hazırlık / Planlama.
2. Deneyimlerinizden, şu anda takip ettiğim süreç hakkında bana geri bildirim / öneri verin.

Birlikte çalıştığım müşteriler genellikle yeni başlayanlar ve sınırlı bütçelere sahipler, bu yüzden onları saat başına ücretlendiremiyorum (bence büyük şirketler genellikle müşterilerini geliştirme projeleri için [adam / saatte] faturalandırıyor) ve sabit bir bütçeyle çalışmak.

Şu anda takip ettiğim süreç şu:
1. Projenin kapsamını ölçün ve birkaç toplantıda neyi başarmaya çalıştıklarını anlamaya çalışın.
2. Onlara genel olarak projeden ne elde etmeyi beklediklerini anlatan kaba bir top park figürü verin, özellikler hakkında spesifik olmaya çalışıyorum, ama buna çok fazla zaman ayırmıyorum çünkü müşteri sadece tırnak soruyor olabilir ve aslında dönüştürmek değil.
3. Jeff Atwood'un ödeme ve çalışma önerisini takip ediyorum:

% 15 ödeme - Herhangi bir çalışmaya başlamadan önce açık
Bu aşamada, son web sitesinin HTML maketi yapılır, web sitesini olabildiğince ayrıntılı olarak açıklayan bir akış şeması ( yEd ile ) ve akış şemasında bulunmayan diğer özelliklerden bahseden bir belge . Bu, projenin tüm ayrıntılarına girerek ve uyacak bitleri ve kararlaştırılan fiyat için uygulamak için çok fazla iş olan şeyleri sonuçlandırarak yapılır. Ayrıntılar daha önce tartışılmadığından, bunların bazı bölümleri aşağı yukarı gerçekte ne elde edecekleri konusunda bir müzakere niteliğindedir. Bu sabit bir bütçe projesi olduğundan, sabit gereksinimler olması gerekir, aksi takdirde daha fazla özellik eklendikçe fiyatım düşmeye devam ediyor.
Bir renk şeması, tasarım tel kafes ve tasarım PSD de sonlandırılmıştır.

% 35 ödeme - Geliştirmeye Başla
Proje düzeltildi, geliştirmeye başla. I İstemcinin ön uca erişebildiği ancak herhangi bir koda erişimi olmadığı sunucumu siteyi barındırıyorum.

% 30 ödeme - Kodu müşterinin sunucusuna kaydırın / istemciye sunucu erişim bilgilerini verin
Siteyi canlı hale getirin.

% 20 ödeme - Tüm hatalar giderildikten sonra, sitenin yayınlanmasından birkaç hafta sonra.


Sorular:
1. Tam olarak ne inşa edeceğinizi öğrendikten sonra, kodlamaya başlamadan önce ne tür bir planlama yaparsınız?

2. Deneyimlerinizden, tüm sürecin hangi bölümlerini farklı yapardınız?


Ne yazık ki pek çok müşteri ne inşa etmenizi istediklerini asla bilemez. Bulduğum en iyi yaklaşım, bazı önemli sayfaların maketlerini yapmak ve sonra bunları oturup Kullanıcı Öyküleri anlatmaya başlamaktır. İstemciyi "Hayır, bu şekilde çalışmasını istiyorum ..." demeye zorlamak için kasıtlı olarak bazı hikayeleri açıkça yanlış yapıyorum. İç çekmek.
Peter Rowell

@Peter, Sahte kullanıcı hikayelerini kasıtlı olarak tanıtmak bazen size geri tepebilir ve müşterinin size olan güvenini kaybetmesine neden olabilir. Bu teknik dikkatle kullanılmalıdır.
maple_shaft

@maple_shaft: Farkındayım. 'Açıkça yanlış' dediğimde, o kadar Blatantly Bogus® demek istiyorum ki, normalde birkaç kıkırdamadan daha fazlasını elde ederim. Bir müşterinin web sitesine tamamen yatırım yapmasını sağlamak (vizyon / zaman / para) başarılı bir proje için kritik öneme sahiptir. Kaç kişinin yeni bir sitenin el sıkışabileceği bir şey olduğunu düşündüğü şaşırtıcıdır ve sihirli bir şekilde görünecektir.
Peter Rowell

Ben de maketleri kabul ediyorum, hiçbir yazılı metin müşteri ne alacak anlamak için almak olmaz (çoğu anlayamıyorum veya anlamak umurumda değil) - bir mockup müşteri için bazı şeyler netleştirecek, ayrıca bazı belgeler (spec) + bir sözleşme ya da "Bütün bunları alacaksınız ve tam olarak bu, daha fazla bir şey" yardımcı olur. Gelişim sırasında, bazı şeyleri değiştirmek için esneklik olabileceğini düşünüyorum, ancak hesapladığınızdan daha fazla iş gösteren bir şey ortaya çıkarsa, bence alay ve özellik belgelerinin çıkarılması ve ek çalışma ek maliyetler anlamına gelir.
DMin

Yanıtlar:


10

Tartışma için harika noktalar!

Hak kazanmak için - Savunma sanayiindeki BÜYÜK web geliştirme projelerinde çalışıyorum. Genelde 10-40 kişilik bir ekibimiz var, geçen yıl tek bir müşteriyi destekliyoruz, müşterilerimiz hem para hem de yüksek talepleri var. Bu yüzden kilometre değişebilir - üstesinden gelmek istemezsiniz!

1 Tam olarak ne inşa edeceğinizi öğrendikten sonra, kodlamaya başlamadan önce ne tür bir planlama yaparsınız?

Bu% 15 bölümünün ardından,% 35'in başında değil mi?

  • Hedef web sunucusuna ve dile karar verin
  • Veri depolamaya karar verin - XML, Veritabanı, hangi veritabanı?
  • Başlıca API'lara karar verin - veri kalıcılığı, GUI, günlük kaydı, bağımlılık enjeksiyonu vb.
  • Giriş mekanizmalarına karar verin - riskleri ve korumaya çalıştığınız bilgileri göz önünde bulundurarak. Ödeme mekanizmalarını içerebilir.
  • Üst düzey bir mimari ve adlandırma kuralları planlayın
  • Başlamak için iyi bir yer olduğunu bildiğiniz bir özellik sırası seçin
  • Varsa, bir test stratejisine ve aşamalı otomatik test çerçevesine karar verin
  • CM sistemini kurma

2 Deneyimlerinizden, tüm sürecin hangi bölümlerini farklı yapardınız?

Fazla plan yapmam. Planlama çalışmamı yapı ortamı, sunucu, test yatağı, CM gibi işler yapmaya odakladım ve bir mimariyi planlamak, araçları seçmek ve nereden başlayacağınıza karar vermek için çok az zaman harcayacağım. Ne olursa olsun, şekilsiz planlama aşaması, clueless bir çölde dolaşmaktan çok daha fazla zaman gerektirir.

Sabit ücretler ve teknik talepte bulunmayan müşterilerle uğraşıyorsanız (hangi dili veya API'leri kullanırsanız), teknik olarak her zaman sizin için bir itme olan 1 öğeyi planlıyorum. Sadece 1 ve gerisini aynı tut. Bence her projede becerilerinizi genişletmek istiyorsunuz, ama o kadar vahşi olmak istemiyorsunuz ki iyi bildiğiniz veya iyi anladığınız hiçbir şeyde çalışmıyorsunuz.


2

Size en büyük tavsiyem, sabit bir fiyat geliştirme işine son derece dikkat etmek. Eğer işe başlamadan önce gereklilikleri iyi bir şekilde ele alamazsanız, iki şeyden biri olabilir.

  1. Kapsamla ilgili tahminlerin altında kaldığı ortaya çıktı ve gömleğinizi kaybettiniz.
  2. Müşteri, başlamadan önce tüm kapsamı bilmiyor veya bilmiyor ve sonuçtan memnun kalmıyor.

Sizin için 2 numara daha iyi bir durumdur çünkü kapsamda oturumlarını kapatır ve daha sonra zihinlerini değiştirirse daha fazla para için yeniden pazarlık yapabilirsiniz. Tahmin etmeden önce kapsamı anladığınızdan ve kapsamı ve ne sunacağınızı anladığınızdan emin olun.

Kapsamda çıkış yaptıklarından emin olun! Sabit bir fiyat konusunda ısrar eden ve kapsamı kapatmayı reddeden firmalar KÖTÜ MÜŞTERİLERdir ve bununla zaman kaybetmek istemezsiniz. Her zaman kaybedeceksin.

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.