Sahip olduğum tek şey büyük bir fikir olduğunda, büyük bir projeye başlamanın adımları nelerdir? [kapalı]


49

Ben bilgisayar mühendisliği öğrencisiyim. Büyük bir projeyle nasıl başa çıkabileceğimi düşünüyordum. Hedefime daha verimli ve etkili bir şekilde ulaşmak için ilk adımım ne olmalı?

Bir proje ile karşılaştığımda, üzerinde çalışmaya başlamalıyım bilmiyorum. Çoğu zaman bunu görmezden geliyorum. Ancak artık proje fikirlerimi görmezden gelmek istemiyorum.

Şimdi hepinize soruyorum, herkes deneyimlerini paylaşabilir mi? Sahip olduğum tek şey bir fikir olduğunda bir projeye nasıl başlamalıyım?


11
Cevap: İlk adım, sürüm kontrolünü kullanmaya başlayın . Onlar nasıl göz atın o vb github, bitbucket, Codeplex sourceforgedan, açık kaynak depolarda
Spoike

"Sürüm kontrolü" nin anlamı nedir? Daha fazla tarif eder misin?

Aşağıdaki cevaba bakınız.
Spoike

1
[Verimlilik.se] 'ye bir göç önerebilirim ama muhtemelen orada NARQ olarak kapanacak. Bunun gerçekten programlama veya programlayıcılarla ilgisi yok, inanılmaz derecede açık uçlu ve belirsiz (ne kadar "büyük" bir proje? "" Daha verimli / etkili? ").
Aaron,

6
Sorunuza gerçekten bir cevap değil ama: Başarısız olmaktan korkmayın. Sana söyleyemeyeceğini söyleyenleri dinlemeyin. Okuduğunuz ünlü insanlar ünlü değil çünkü zeki veya yeteneklilerdi. Onlar ünlüydü çünkü ünlüler. Zeki ve yetenekli insanlar bir düzine paradır. Kalıcı insanlar arasında çok uzak ve az.
Charles Lambert,

Yanıtlar:


64

Bir an için kodlamayı ve geliştirme ortamı oluşturmayı unutun. Büyük bir projeye başlamak istiyorsanız, yapmanız gereken ilk şey , projenin amacını ve kapsamını ele almaktır.

Tavsiye ettiğim bir kelime işlemci açmak ve bir 'proje hedefleri' belgesi hazırlamak. Fikrin neyle ilgili olduğunu ve yazmak istediğiniz yazılımın genel amacını açıklayın. Ardından projenin işlevsellik hedeflerini listeleyin. Bunu söylemek istemem ama bitmiş ürünün desteklemesi gereken farklı işlevsellik parçalarını tanımlayın. Bu nedenle, bir okulu yönetecek bir yazılım yazıyorsanız, 'öğretmen yönetimi'ni bir işlevsellik parçası olarak listeleyebilir ve ardından bu işlevin ne içereceğini açıklayabilirsiniz (iletişim bilgilerini, sınıf çizelgesini vb. İzleme).

O zaman en zor kısım: Önden yapman gereken bir şey değil, ilerledikçe. Eklemek istediğiniz özellikleri listelemek kadar önemli olan her bit, hedefler belgenizde tanımladığınız işlevselliği gözden geçirmek ve programın ilk sürümünde bulunmadan yaşayabileceğiniz özellikleri not almaktır . Bu, kapsamı yönetmenin anahtarıdır.
İnsanların daha büyük projelerde başarısız olmasının temel nedenlerinden biri, üzerinde çalışmayı ne zaman bırakmayı bilmemeleridir. Bunun 'yapıldığını' hissetmiyorlar çünkü fikirler gelmeye devam ediyor ve hiçbir zaman serbest kalmıyor. Sonunda ilgilerini kaybediyorlar ve bir tane daha bitmiş şaheseriniz var. Bu nedenle, hedefinizin temel bölümünü elde etmek için gerçekten önemli olan işlevsellik konusunda iyi bir şekilde anladığınızdan emin olmak istersiniz. Bu senin ilk hedefin.

Şimdi önemsiz olmayan projelere böyle başlıyorum. Odağı tutmama yardımcı oluyor ve geliştirme sırasında kapsamı ve amacı “gelişmekten” korumakta yardımcı oluyor.


Söylediğin her şey için + 1. Ayrıca bu kitabı okuyun
treecoder

+1 - bir şey eklememe gerek yok.
temptar

Bu harika bir cevap. Ayrıca, bir tür proje yönetimi yazılımınız varsa, erken çalışmaya başlayın. Elbette sınırlamaları olan bazı özgür olanlar var. Daha önce CampFire'ı kullandım ( campfirenow.com/signup , "Ayrıca ücretsiz bir plan da sunuyoruz: 10 MB depolama alanı olan 4 sohbetçi").
m4tt1mus

1
Kelime işlemci yerine zihin haritalarını tavsiye ederim (deneyimli değil + boş sayfa = proje asla kalkmaz).
MaR

1
Kelime işlemci? Kalem ve kağıt kullanın. :)
rightfold

41

Bence Linus en iyisini yaptı

Hiç kimse büyük bir proje üstlenmeye başlamamalıdır. Küçük önemsiz bir projeyle başlarsınız ve asla büyümesini beklememelisiniz. Bunu yaparsanız, sadece fazla tasarlarsınız ve genellikle bunun o aşamada olduğundan daha önemli olduğunu düşünürsünüz. Daha da kötüsü, düşündüğünüz işin büyüklüğü kadar korkmuş olabilirsiniz. O yüzden küçük başlayın ve detayları düşünün. Büyük bir resim ve şık bir tasarım düşünmeyin. Oldukça acil bir ihtiyaç duymazsa, neredeyse kesinlikle aşırı tasarlanmıştır. İnsanların içeri girip sana yardım etmesini beklemeyin. Bu işler böyle değil. Önce işe yarar bir şeyler edinmeniz gerekir, sonra diğerleri "hey, neredeyse benim için işe yarar" diyecekler ve projeye katılacaklar. - Linus Torvalds


12

Hedefime daha verimli ve etkili bir şekilde ulaşmak için ilk adımım ne olmalı?

Daha önce projeler yaptığınızı ve sürüm / kaynak kontrolünü öğretmeyen bir kolej / üniversitede bulunduğunuzu varsayıyorum. Bazı projeleri görmek istiyorsanız, Github (Git kullanır), Bitbucket (Mercurial kullanır), Google Kodu (Mercurial, Git ve Subversion kullanır), CodePlex (Mercurial ve Subversion / TFS) gibi açık kaynak havuzlarına gidebilirsiniz. SourceForge (Many), vb. Ve kod tabanlarına bir göz atın. Ortak noktaları, kaynak kontrol yazılımı kullanmalarıdır.

Bunların nasıl kullanılacağına ilişkin birçok bilgi var, bu yüzden bunun nasıl kullanılacağını öğrenmenizi öneririm, çünkü bu standart endüstri uygulamasıdır. İşte sizi yönlendirecek görsel kılavuzlar:

Biliyor musun, bir proje aklıma geldiğinde ne yapmam gerektiğini bilmiyorum. Çoğu zaman görmezden geliyorum.

Boş zamanlarında yapabileceğin çok şey var. Küçükten başlayın : Sıfırdan bir proje oluşturun, bir kaynak kod havuzuna koyun. Küçük projenize bir şey eklemek istediğinizde kaynak kod havuzunuzda değişiklik yapın. Zamanla büyüyecek ve geri dönmek istiyorsanız, sürüm kontrol sistemiyle yaptığınız değişiklikleri her zaman geri alabilir veya geri alabilirsiniz.


9
Küçük işe başlamak için +1, büyük projelere temel yaklaşım budur: küçük parçalara bölün ve her seferinde bir başa çıkın.
Joel C,

5

"Boş kağıt" sendromundan etkilenmek tamamen normal.

Harika görünen bir projeniz var, harika görünüyor, ama bir şeyler yapmaya çalışırken masa başında oturduğunuzda, aniden engellersiniz ve hiçbir şey yapamazsınız. Sonra solitaire açıp yeni bir rekor kırıyorsunuz.

Aslında proje ile ilgili bir şeyler yapmaya başlamanız gerekir, böylece doğmuş gibi hissedersiniz.

Hemen kod yazmak istemeyebilirsiniz. Projenizin gerçekte yapması gerekenleri yazarak başlayabilirsiniz ya da yapmasını istersiniz. Bir kalem ve kağıt alın ve yazmaya başlayın. Ayrıntılardan veya daha büyük bir resimden başlayabilirsiniz. İkisini de deneyin, en iyisinin ne olduğuna bakın.

Projenin işlevlerini, farklı bölümlerini, bu bölümlerin aralarında nasıl iletişim kurduğunu tanımlamaya çalışabilirsiniz. Kendimi post-it ile rahat hissediyorum, eğlencelidirler ve siz ilerledikçe onları değiştirebilirsiniz. Zihnini ve fikirlerini takip etmelerine izin ver.

Veya belki prototip bazı fonksiyon veya sınıfları başlatabilirsiniz. Bunun için tercih ettiğiniz dili, varolmayan ve sadece icat ettiğiniz dili kullanabilirsiniz.

Bir süre sonra üzerinde çalışacağınız bir şey olacak ve projeniz sadece aklınıza gelmeyecek. Aslında bir şey yaptın.

Geliştirme sürecine gerçekten başlamak için kendinizi rahat hissettiğinizde, gerekli tüm teknolojiler ve yazılımları toplama, belgeleme, prototip oluşturma, gerekli tüm bilgileri toplama zamanı gelmiştir.

Ama aslında doğru zaman olduğunu hissedene kadar başlama !


4

Büyük projeler birçok küçük proje veya parçadan oluşur. Bir büyük fikriniz veya proje gereksiniminiz olabilir - örneğin, kişileri yöneten bir uygulama.

Yerle bir etmek; kendinize sorun, 'Bunu yapmak için ihtiyacım olan daha küçük parçalar hangileri?'

Küçük parçalarınızı tanımladıktan sonra, tekrarlayın; Bazı parçaların daha da kırılması gerekebilir. Buradaki fikir, küçük parçaların her biri için en yönetilebilir hedefleri tanımlamanızdır. Disiplinli prensipleri tasarım ve geliştirmede kullanmayı (örneğin Çevik TDD gibi) ve daha küçük, daha yönetilebilir hedeflere ulaşmayı öğrenin.


2

Bir Anahat Oluştur

Büyük bir fikrin var, ama görevini yerine getirme konusunda nasıl gideceğini bilmiyorum. Ne yapacağınız hakkında bir taslak oluşturun. Atacağınız adımları, neye ihtiyacınız olacağını, hangi dilleri kullanacağınızı vb. Yazın. Her şeyi organize ettiğinizden emin olun, yoksa proje tam bir enkaz olacak.

Adımlarınızı programlayın

Bundan daha önce bahsetmiştim, ama gerçekten önemli. Eğer zamanın eşleştirildiyse, projenizin ne zaman biteceği ve projenin hangi adımlarının atılacağına dair tahmini bir bitiş tarihine sahip olabilirsiniz. Bu yine bir organizasyon ve sizi çalıştırmaya devam edecek.

İş İçin Araçları Bul

Büyük bir projeye başlayacaksanız, yardıma ihtiyacınız olacak. Kod organizasyonu ve iyi bir Sürüm Kontrol Sistemi için Git mükemmeldir, çünkü tüm kodunuzu tek bir depoda tutar. Git hakkında daha fazla bilgi için, size verdiğim bağlantıya bakın.

Ayrıca, yapmaya çalıştığınız şeyi yapmanıza yardımcı olacak dilleri kullandığınızdan emin olmanız gerekecektir. Başlamadan önce projenizi oluşturabildiğinizden emin olun. Yeni bir şey öğrenme, demeden başlamadan öğren.

Yardım almak

Büyük projeler genellikle yalnız yapılmaz. Diğer öğrencilerle, topluluğunuzdaki programlayabilen kişilerle ve başlamadan önce size yardımcı olabileceğini düşündüğünüz diğer kişilerle iletişim kurun. Sormaktan korkma.

Başlamak!

Etrafta dolanıp, başka birinin projeni başlatmasını beklemeden sonra "Bu fikrim vardı!" Deme. Sonsuza dek sana musallat olacak ...


1

Belki klişelerle doludur ama ... Gönderirim.

Büyük bir projeyle başa çıkabilmek için öncelikle bir şeye ihtiyacınız var: deneyim. Tecrübe size ihtiyacınız olan her şeyi verir:

  • Bilgi: Projelere ne kadar çok zaman harcarsanız, o kadar çok genel ve spesifik bilgi kazanırsınız.
  • Güven: büyük projelerin yönetilmesi güven gerektirir, güven bilgiden ve genellikle işin her bir parçasının daha önce yaptığınız bir şey olduğu ya da bunu yapan insanları gördüğünüz gerçeğinden gelir.
  • Profesyonel ağ: proje gerçekten büyükse, kendi başınıza başaramayacağınızı fark etmeniz gerekecektir, bu nedenle kime sorabileceğinizi veya aradığınız temel bilgileri nerede bulabileceğinizi bilmeye hazır olun

Böylece iki şey yapabilirsiniz:

  • Dalın ve nasıl geçtiğini görün. Muhtemelen çok fazla hata yapacaksın, ama anahtar onlardan öğrenmek.
  • Özellikle büyük projeleri ele aldıklarını gözlemleyebileceğiniz bir iş bulun

Umarım bu yardımcı olur.


1

Benim "büyük proje" tanımı "büyük sorunun katılımcıların koordinasyonu ve aralarındaki iletişim olduğu bir projedir" (orta seviye bir proje yönetimin teknik problemler kadar zor olduğu zaman, küçük olan ise teknik problemler olduğu zaman) yönetimden daha önemlidir, uzun vadeli bir kişi projesinin büyük bir proje olabileceğine dikkat edin - geleceğinizin kendisiyle koordine etmek ve iletişim kurmak, başkalarıyla aynı şeyi yapmaktan çok farklı değildir).

Büyük bir projeyi ("öncü bir rolü vardır" ile) idare edebilmenin ilk adımı, büyük bir projeye öncü bir rolü olmadan katılmaktır. İkinci adım, kendisiyle deneyime sahip biri tarafından mentorluk edilirken lider rol seviyesine ulaşmaktır.

Alternatif bir yaklaşım, projelerin boyutunu aşamalı olarak artırmak ve deneyimlerinizden öğrenmektir ...


1

Bazı fikirler bir mühendisin içeri girmesi ve kod yazmaya başlaması için olgunlaşmıştır. Bu projeler büyük veya küçük olabilir, fakat hepsinin ortak bir yanı var: çözmek için iyi tanımlanmış bir problem. Bu sayısız zamanlar gibi projelere başladım ve bu benim önümden iyi belgeler hazırlamak ve kaynak kod kontrolü, iletişim ve işbirliği ile ilgili en iyi uygulamaları takip etmek için bir disiplin kurmam.

Tek fikrimin sahip olduğu büyük projeler, deneyimimde biraz daha hazırlık gerektiriyor. Yaptığım ilk şey, başkalarının çözdüğüm problem hakkındaki anlayışımı paylaşıp paylaşmadığını görmek ve sorunu çözmedeki planlı yaklaşımımı doğrulamak için benim fikrim hakkında konuşmaya başlamak. Öyleyse bir ya da iki arkadaşınızla bir bira için ya da Cheetos için yurt odanıza davet edin. Ancak bu süreçte eğlenin çünkü bu süreçte çözdüğünüz problemi daha iyi anlayabilir, problemi çözme konusunda getirebileceğiniz başka harika fikirler bulabilir, fikrinizi başkalarına satmaya çalışabilirsiniz ve hatta çözmenize yardımcı olacak insanlardan oluşan bir ekip.


1

Büyük şeyleri daha küçük şeylere ayırın.

"Dünya barışı sağlamak" için çalışamazsınız. Bunun yerine Kitle İmha Silahlarının yasaklanması için çalışıyorsunuz, demokrasiyi teşvik ediyorsunuz, kalkınma yardımı sağlıyorsunuz, kültürel ve bilimsel değişimi teşvik ediyorsunuz.


1

Bence bu cevapların çoğunun dokunmadığı bir şey elle tutulur bir şeyler yapmak ve onu halletmek için zorlamak.

Bazen geriye kalan tek şey gibi hissettiğiniz 'düşünme ülkesinde' sıkışıp kalıyorsunuz, bir şeyler yazmaya başlıyorsunuz, ancak aslında projenizin bir ısırık büyüklüğünde bir parçaya başlarsınız ve uygulama hem eğlenceli hem de zordur.

Ben de dahil olmak üzere, bunun gibi pek çok insan tanıyorum, gerçekten gidene kadar hiçbir şey yapmadım, düşünemiyorum ve bir projeye başlamayı planlıyorum. Kolayca uygulayabileceğim bir parça seçmem ve onu elde etmem gerekiyor, sonra akış başlıyor.


1

bir amaç olmadan bir şey yapmak için hiçbir sebep yoktur. Yazmak istediğiniz koda olan ihtiyacı gösteren kullanıcı hikayelerine ihtiyacınız var. Bu kullanıcı hikayelerini aşağıdaki biçimde çerçevelemelisiniz:

[X] olarak
[Y] istiyorum,
böylece [Z]

Bu çok basit görünebilir, ancak size yalnızca kullanıcıyı tanımlamak için değil aynı zamanda ihtiyacı ve nihai sonucun tek bir cümlede ne olduğunu belirtmek için de bir çerçeve sunar. Bunların çoğuna sahip olacaksın. Zaman ilerledikçe daha fazla geleceksiniz. Bazı sahip olduktan sonra, kodunuz üzerinde geliştirmeye başlayabilirsiniz. Daha fazla fikriniz veya başka şeyleri anladığınızda. Geri dönüp daha fazla kullanıcı hikayesi yazıyorsunuz ki unutmamak için. Başlamak için en iyi yer orası.

Davranış Odaklı Geliştirme bu yaklaşımı kullanır ve bağlantıdaki site, kullanıcı öykülerini ifade etmek için bu formatı kullanmanın birkaç örneğini içerir.

Fikirden koda almanın en hızlı ve en organize yol olacağını düşünüyorum.


1

Bir yığın sarı yapışkan ve sihirli bir kalem alırım ve beyin fırtınası yapabilmem için büyük beyaz tahtaların olduğu bir odada otururum.

Ana Menü, Raporlar, Veri Tabanı, Kimlik Doğrulama vb. Gibi akla gelen basit cümleleri yazmaya hemen başlarım. :

Dosya Aç, Dosya Kaydet, Dosya Farklı Kaydet, Yazdır vb. Ve bunları ana menü altındaki beyaz tahtaya yapıştırın.

Fikirler aklınıza geldiğinde onları aşağıya yazarken ... iyi, kötü, aptalca bir şeyler olsun. Onları tahtaya yapıştır. Tahtaya baktığınızda daha fazla fikir ortaya çıkacak ve modeller ortaya çıkacaktır. Bir noktada, geliştirmeyi planladığınız şey için bir fikir edinmeye başlayacaksınız.

Sarı stickiler oldukça hızlı bir şekilde hareket ettirilebilirler.

İşler bir araya gelmeye başladığında, bu düşünceyi gruplara ayırıyorsunuz. Ardından, tek bir grup düzeyinde beyin fırtınası yapabilirsiniz. Olayların yirmi dakika önce nasıl değiştiğini görmek istersen, beyaz tahtanın fotoğraflarını çeşitli aşamalarda çekerdim.

Sonunda, yapılması gereken işlerin ana parçaları hakkında oldukça iyi bir fikre sahip olacaksınız. Bu parçaların her biri için tek bir klasör bulabilir ve sadece size geldikleri gibi fikirlerin içine girmeye devam edebilirsiniz.


0

Öğrenci olduğun için, seni öğrenci büyük ve profesyonel büyük demek istediğini farz edeceğim. İkincisi, ek iş ve işbirliği konuları gerektirir. Daha geçen hafta yeni bir projeye başladım, bu yüzden süreç aklımda.

Yaptığım ilk şey mevcut çözümleri ve kütüphaneleri araştırmak . Mümkün olduğunda tekerleği yeniden icat etmekten hoşlanmıyorum. Bu araştırma aynı zamanda proje için dil seçiminde büyük bir faktördür. Bazı diller, belirli görevler için daha iyi mevcut kodlara sahiptir.

Yapacağım bir sonraki şey bir klasör oluşturmak ve onu kaynak kontrolü altına almak . Bu git init .bugünlerde olduğu kadar basit .

Sonra "merhaba dünya" çalışıyorum . Bu, geliştirme ortamımın doğru şekilde ayarlandığını bilmemi sağlıyor.

Sonra çalışan üçüncü taraf kütüphaneleri için "merhaba dünya" olsun . Bu, kütüphaneye bağlandığımı ve kütüphaneyi doğru kullandığımı göstermek için gereken asgari düzeydedir. Bir veritabanı kütüphanesi için, örneğin basit bir sorguya bağlanıyor ve çalışıyor. Bir GUI araç takımı için, bir pencere görüntülüyor.

Daha sonra derleme komut dosyaları ve test çerçeveleri kurdum . Bu karınca veya makefiles veya her neyse ve projeniz hala küçük olduğunda kurulumu çok kolaydır.

Sonra veri yapıları yaratıyorum . Ayrıca "model" katmanı da denir. Bu, programınızın işini yapmak için hatırlaması gereken her şeyi saklayan kısımdır. Kağıt üzerine çok fazla tasarım yapıyorum, sonra sadece taslakları ekliyorum. Tasarımın bu kısmı genellikle en kolay olanıdır. Örneğin, bir satranç programının oyun ızgarasını, oyuncuları, parçaları, hamle dizilerini vs. saklamak için nesnelere ihtiyacı olacak.

Bu noktada, bir program için oldukça iyi bir tabanım var ve bir sonraki adımın o proje için ne olacağı oldukça açık. Sonra sadece bir dereceye kadar küçük bir adım atıyorum, kod boyunca bir dereceye kadar çalışan kod.


0

Sahip olduğunuz tek şey "Büyük Fikir" ise, birçok şeye (diğer cevaplarda çok iyi tanımlanmış olan) ve özellikle bu 2'ye: zaman ve motivasyona ihtiyacınız olacak .

Kişisel bir projede tek başınıza çalışırken en büyük zorluk, genellikle, her hafta harcamak için fazla zamanınız olmadığı ve bu nedenle fazla ilerleme göremediğiniz ve motivasyonunuzu kaybetmeye hızlı bir şekilde başladığınızdır.

Daha önce de söylendiği gibi, küçük adımlar atın , anahtar budur.

Ama hepsi bu değil, küçük ve ödüllendirici adımlar atmanız gerekiyor ! Yani, size en büyük değeri getirecek ve büyük fikrinizin temel kavramlarını gösterecek adımlar.

Örneğin, harika kullanıcı etkileşimleri olan yeni bir yapılacaklar listesi yazılımı üzerinde çalışıyorsanız . Gerçekten ihtiyaç duyana kadar depolama ve veritabanı ile başlamayın. Yenilikçi kullanıcı arayüzü ile başlayın: bu eğlenceli ve değerli. Bu sizi gururlandırır, motive eder ve çok kısa bir süre sonra kontrol etmenizi sağlar, fikriniz gerçekten iyidir.


0

Yapmanız gereken ilk şey oturup oturup bu fikri yazılı olarak tanımlamak. O zamana kadar bir proje haline gelmeyecek ve o zaman bile, bir proje kadar somut bir şey için bir fikir kadar geçici bir şey olmaktan bazı işleriniz olacak.

Bu noktaya geldikten sonra, onu bir projeye dönüştürmeye, onu mantıklı bir şekilde gerçekleştirilebilecek ayrı adımlara nasıl ayıracağınızı belirlemeye başlayabilirsiniz.

Sonra bu adımları uygulamak için bir zaman çizelgesi ana hatlarıyla belirtin. Belirli aralıklarla kaydedilen ilerlemeyi tekrar gözden geçirin; böylece, ilk önce hiç düşünmediğiniz fikirleri sürmek ve karışıma eklemek yerine, bu sürecin kontrolünü elinizde tutabilirsiniz.

İlk bitiş çizgisini tanımlayın ve bunun için hedefleyin. Buna ne kadar az bağlı olursanız, proje ek fikirlerin ağırlığının altına düşme olasılığı o kadar artar ve sonsuza dek yaşadığı gibi onu tamamlama konusunda cesaretiniz o kadar artar.


0

Kod çalışması genellikle bir proje bütçesinin yaklaşık% 20'sidir (+ -10%). Kodu doğru bulmaya odaklanmak anlamsız, adreslemediğiniz çabanın% 80'ini oluşturuyor, bu nedenle mükemmel kod yönetimi almak sizi yalnızca 20 çalışmayla bırakıyor.

Projenizde kullanıcı yoksa ne olacak? Peki ya bu, "Acme Patent Trolls" fikrinden bir hafta sonra yayınlanan ve bir sonraki Facebook olduğu ortaya çıktığında mükemmeldi.

Aşağıdaki standart proje yaşam döngüsü sorunlarına bakın. Gereksinimler, Tasarım, Kod, Test, Entegrasyon, Yerleştirme, Hata izleme ve düzeltme, gereksinim değişikliği yönetimi (geliştirme istekleri). Tahliye planları, kaynak tahsisi (günde kaç saat planlıyorsunuz ve gerçekten proje üzerinde yapacaksınız), Yasal (işletmek üzere Freedon) vb.

Yukarıdakilerin tümü mevcutsa, çok kötü kodlar bile başarılı olacaktır. Yukarıdakilerin hiçbiri yerinde değilse, en iyi kod başarısız olur.

Ben bir bahisçi değilim, ancak para yatırırdım, ilk "büyük" projeniz başarısız olur, hayal edemeyeceğiniz birçok ve çeşitli şekillerde başarısız olur. Endişelenme, devam et ve başarısız ol, ondan öğren ve bir sonrakini yap. Başlamamak gerçek suç olurdu. İlk kez başarılı olursanız, işletme yönetimi alanında programlama değil sağlam bir kariyeriniz vardır.

Bu nedenle sorunuzu yanıtlamak için yazılım araçlarını bir kenara bırakın ve "iş planlama" araçlarınızı çıkarın. NEDEN yapıyorsun, NEDEN sonra NEDEN ve NEDEN istediklerini yap. (Siz kendi müşteriniz olabilirsiniz, ama yine de egzersiz yapın). Bunu bir "İş planına" yazın ve bunlardan derleyin.


0
  1. başarı neye benziyor?
  2. Projedeki bilinmeyenler neler?
  3. Projedeki bilgiler neler?
  4. bilinmeyenleri yok etmek / keşfetmek, onları bilgiliğe dönüştürmek için ne yapabilirsin?
  5. Başarıya ulaşmak için gereken bilgileri bir araya getirmek için ne yapabilirsiniz?
  6. Projeyi ilerletmek için atılacak bir sonraki somut adım nedir?

Proje tamamlanana kadar son adımı tekrarlayın; yıllar alabileceğini kabul edin ve ilerlemeye devam edin


0

Buradaki tüm cevaplar hoş ve hepsidir, ama dürüst olmak gerekirse, ne kadar sürüm kontrolü, gitme, akış şeması ve biçimlendirme yapmaları önemli değil, tek önemli olan işlevsel bir uygulamanız, işlevsel bir uygulamanız olduğu. gebe kaldığı problemi çözen biri olarak tanımlanır, diğer bütün şeyler hemen hemen alakasızdır.

Kodlamaya başlayın, işlevsel bir aşamaya kodlayın, bazı testler yapın, hata ayıklayın, yeniden başlatın ve yeni özellikler ve işlevselliklerle yeniden düzenleyin (gerekli görürseniz), yalın bir başlangıç ​​yöntemiyle - çevik bir yönetim yöntemi olan ve daha az atık oluşturmak için gelişme (veya tanımlandığı şekilde: yarı bitmiş şaheserler).


-1

Yeni bir projeye başlarken yapılacak işlerin listesi:

  1. yeni dizin oluştur
  2. varolan bazı makefile şablonunu kopyalayarak makefile oluşturmak
  3. bazı başlık ve uygulama dosyaları yarat
  4. derlediğinden emin ol
  5. sürüm kontrolünü kullanmaya başla
  6. sınıflar, işlevler, veri üyeleri, değişkenler için adlandırma kuralına karar verme
  7. birinci sınıfını yaz
  8. sınıfınızın bağımsız olduğundan ve her üye işlevinin diğer üye işlevlerinden bağımsız olduğundan emin olun
  9. main () gibi fonksiyonlar yaratarak çeşitli nesneler oluşturun
  10. Programınız hazır olana kadar 7-10 arasındaki adımları tekrarlayın.
  11. derlemek
  12. son kullanıcılara gönder

Bu kodlama ile ilgili, ancak mühendislik değil ve belirli bir ölçekte ötesinde çalışmıyor. Bunun yerine, kullanıcı öykülerinden veya gereksinimlerinden veya bir tür belirtimden başlayarak bir şeyler yapmanız gerekir; bunlar bir başlangıç ​​için uygulama teknolojinizi seçmenize yardımcı olacaktır. 'bazı hikayeler yaz', 'hikayelerinizi sırala' ilk iki adımdır, sürüm kontrolü herhangi bir koddan önce gelir ve ilk hikaye her zaman 'araştırma uygulama teknolojileridir (' bir dil seçmekten çok daha fazlasıdır).
Andrew McGregor
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.