Apa langkah-langkah dalam memulai proyek besar, ketika semua yang saya miliki adalah ide besar? [Tutup]

49

Saya seorang mahasiswa teknik komputer. Saya sudah memikirkan bagaimana saya bisa menangani proyek besar. Apa yang harus menjadi langkah pertama saya untuk mencapai tujuan saya dengan cara yang lebih efisien dan efektif?

Ketika saya membuat sebuah proyek, saya tidak tahu bagaimana saya harus mulai mengerjakannya. Sering kali, saya mengabaikannya. Namun, saya tidak ingin mengabaikan ide proyek saya lagi.

Sekarang, saya bertanya kepada Anda semua, adakah yang bisa berbagi pengalamannya? Bagaimana saya harus memulai proyek ketika yang saya miliki hanyalah sebuah ide?

pengguna12654
sumber
11
Jawab: Langkah pertama, mulai gunakan kontrol versi . Lihat bagaimana mereka melakukannya dalam repositori open source seperti github, bitbucket, codeplex, sourceforge, dll.
Spoike
Apa arti dari "kontrol versi"? Bisakah Anda menjelaskan lebih banyak?
Lihat jawaban saya di bawah ini.
Spoike
1
Saya menyarankan migrasi ke [Productivity.se] tetapi mungkin akan ditutup sebagai NARQ di sana. Ini benar-benar tidak ada hubungannya dengan pemrograman atau programmer, ini sangat terbuka, dan itu tidak jelas (apa itu proyek "besar"? "Lebih" efisien / efektif daripada apa?).
Aaronaught
6
Bukan benar-benar jawaban untuk pertanyaan Anda tetapi: Jangan takut gagal. Jangan dengarkan orang yang memberi tahu Anda bahwa Anda tidak bisa. Orang-orang terkenal yang Anda baca tidak terkenal karena mereka pintar atau berbakat. Mereka terkenal karena mereka gigih. Orang pintar dan berbakat adalah selusin sepeser pun. Orang yang gigih jauh dan sedikit.
Charles Lambert

Jawaban:

64

Lupakan pengkodean dan pengaturan lingkungan pengembangan sejenak. Jika Anda ingin memulai proyek besar, hal pertama yang perlu Anda lakukan adalah menangani tujuan dan ruang lingkup proyek.

Apa yang saya sarankan adalah membuka pengolah kata, dan menulis dokumen 'tujuan proyek'. Jelaskan apa idenya, dan tujuan umum dari perangkat lunak yang ingin Anda tulis. Kemudian daftarkan tujuan fungsionalitas proyek. Maksud saya, tidak menjelaskannya, melainkan mendeskripsikan berbagai fungsi yang berbeda yang harus didukung oleh produk jadi. Jadi, jika Anda menulis perangkat lunak untuk menjalankan sekolah, Anda mungkin mencantumkan 'manajemen guru' sebagai bagian dari fungsionalitas, dan kemudian menjelaskan apa yang akan mencakup fungsionalitas itu (melacak info kontak, jadwal kelas, dll).

Kemudian bagian terberat: Ini bukan sesuatu yang perlu Anda lakukan di depan, tetapi seiring berjalannya waktu. Setiap bit yang sama pentingnya dengan daftar fitur yang ingin Anda tambahkan adalah meninjau fungsionalitas yang Anda jelaskan dalam dokumen tujuan Anda, dan perhatikan fitur-fitur yang dapat Anda jalani tanpa di versi pertama program. Ini adalah kunci untuk mengelola ruang lingkup.
Salah satu alasan utama orang gagal pada proyek yang lebih besar adalah karena mereka tidak tahu kapan harus berhenti mengerjakannya. Mereka tidak merasa itu 'dilakukan' karena ide-ide terus datang, dan itu tidak pernah dilepaskan. Akhirnya mereka kehilangan minat, dan Anda memiliki satu lagi karya yang setengah jadi. Jadi, Anda ingin memastikan Anda memiliki pegangan yang baik pada fungsi yang benar-benar penting untuk mencapai bagian dasar dari tujuan Anda. Itu adalah target pertama Anda.

Inilah cara saya memulai semua proyek non-sepele sekarang. Ini membantu saya menjaga fokus, dan membantu menjaga ruang lingkup dan tujuan dari 'berkembang' selama pengembangan.

GrandmasterB
sumber
+1 untuk semua yang Anda katakan. Baca juga buku ini
treecoder
+1 - tidak perlu bagi saya untuk menambahkan apa pun.
temptar
Ini jawaban yang bagus. Juga jika Anda memiliki beberapa jenis perangkat lunak manajemen proyek, mulailah lebih awal. Ada beberapa yang gratis di luar sana dengan keterbatasan tentunya. Saya telah menggunakan CampFire ( campfirenow.com/signup , lihat "Kami juga menawarkan paket gratis: 4 obrolan dengan penyimpanan 10 MB.") Sebelumnya.
m4tt1mus
1
Saya lebih suka merekomendasikan mindmap daripada pengolah kata (tidak berpengalaman + halaman kosong = proyek tidak akan pernah lepas landas).
MaR
1
Pengolah kata? Gunakan pena dan kertas. :)
rightfold
41

Saya pikir Linus mengatakan yang terbaik

Tidak seorang pun harus mulai melakukan proyek besar. Anda mulai dengan proyek kecil yang sepele, dan Anda seharusnya tidak mengharapkannya menjadi besar. Jika ya, Anda hanya akan mendesain berlebihan dan secara umum menganggapnya lebih penting daripada kemungkinan pada tahap itu. Atau lebih buruk lagi, Anda mungkin takut dengan ukuran pekerjaan yang Anda bayangkan. Jadi mulailah dari yang kecil, dan pikirkan detailnya. Jangan berpikir tentang gambaran besar dan desain mewah. Jika tidak menyelesaikan beberapa kebutuhan yang mendesak, itu hampir pasti dirancang berlebihan. Dan jangan berharap orang-orang masuk dan membantu Anda. Bukan begitu cara kerjanya. Anda perlu mendapatkan sesuatu yang setengah jalan terlebih dahulu, dan kemudian orang lain akan berkata "hei, itu hampir berhasil bagi saya", dan mereka akan terlibat dalam proyek. - Linus Torvalds

Benteng
sumber
12

Apa yang harus menjadi langkah pertama saya untuk mencapai tujuan saya dengan cara yang lebih efisien dan efektif?

Saya berasumsi Anda telah melakukan proyek sebelumnya dan bahwa Anda berada di perguruan tinggi / universitas yang tidak mengajarkan kontrol versi / sumber. Jika Anda ingin melihat beberapa proyek, Anda selalu dapat membuka repositori sumber terbuka seperti Github (menggunakan Git), Bitbucket (menggunakan Mercurial), Google Code (menggunakan Mercurial, Git, dan Subversion), CodePlex (Mercurial dan Subversion / TFS), SourceForge (Banyak), dll dan lihat pada basis kode mereka. Kesamaan yang mereka miliki adalah bahwa mereka menggunakan perangkat lunak kontrol sumber.

Ada banyak informasi mengenai cara menggunakannya, jadi saya sarankan Anda belajar cara menggunakannya, karena ini adalah praktik standar industri. Berikut ini beberapa panduan visual untuk membantu Anda:

Anda tahu, ketika satu proyek muncul di benak saya, saya tidak tahu apa yang harus saya lakukan. Sering kali, saya mengabaikannya.

Hanya ada begitu banyak yang dapat Anda lakukan di waktu luang Anda. Mulai dari yang kecil : Buat proyek dari awal, letakkan di repositori kode sumber. Mengkomit perubahan pada repositori kode sumber Anda setiap kali Anda ingin menambahkan sesuatu ke proyek kecil Anda. Pada saatnya nanti akan menjadi besar dan jika Anda ingin kembali, Anda selalu dapat mengembalikan atau mengembalikan perubahan yang telah Anda buat dengan sistem kontrol versi.

Spoike
sumber
9
+1 untuk memulai dari yang kecil, itulah pendekatan dasar untuk proyek-proyek besar: pilah menjadi beberapa bagian yang lebih kecil, dan hadapi satu per satu.
Joel C
5

Sangat normal terkena sindrom "kertas kosong".

Anda memiliki proyek besar dalam pikiran, yang terlihat fantastis, tetapi ketika Anda duduk di meja mencoba melakukan sesuatu, Anda tiba-tiba terhalang dan tidak dapat melakukan apa pun. Kemudian Anda membuka solitaire dan membuat rekor baru.

Anda benar-benar harus mulai melakukan sesuatu yang berkaitan dengan proyek, sehingga Anda merasa sudah dilahirkan.

Anda mungkin tidak ingin segera menulis kode. Anda dapat mulai dengan menulis apa yang harus dilakukan oleh proyek Anda, atau Anda ingin melakukannya. Ambil pena dan kertas dan mulai menulis. Anda bisa mulai dari detail atau dari gambar yang lebih besar. Coba keduanya, lihat apa yang terbaik.

Anda dapat mencoba mendefinisikan fungsi proyek, bagian-bagian yang berbeda, bagaimana bagian-bagian itu berkomunikasi di antara mereka. Saya merasa nyaman dengan post-it, mereka menyenangkan dan Anda dapat mengubahnya seiring kemajuan Anda. Biarkan mereka mengikuti pikiran dan ide Anda.

Atau mungkin Anda dapat memulai prototipe beberapa fungsi atau kelas. Anda dapat menggunakan bahasa apa pun yang Anda sukai untuk ini, bahkan bahasa yang tidak ada dan Anda baru saja menemukan.

Setelah beberapa waktu Anda akan memiliki sesuatu untuk dikerjakan, dan proyek Anda tidak hanya akan di pikiran Anda. Anda benar-benar melakukan sesuatu.

Ketika Anda merasa nyaman untuk benar-benar memulai proses pengembangan, sekarang saatnya untuk perencanaan yang cermat, mendokumentasikan, membuat prototipe, mengumpulkan semua teknologi dan perangkat lunak yang diperlukan, dan sebagainya.

Tetapi jangan mulai sampai Anda benar - benar merasa ini adalah waktu yang tepat!

Jose Faeti
sumber
4

Proyek-proyek besar dibentuk dari banyak proyek yang lebih kecil. Anda mungkin memiliki satu ide besar atau persyaratan proyek - katakanlah, aplikasi yang mengelola kontak.

Memecahnya; tanyakan pada diri sendiri, 'potongan kecil apa yang saya butuhkan untuk melakukan ini?'

Setelah Anda menentukan bagian yang lebih kecil, ulangi; Anda mungkin menemukan bahwa beberapa bagian perlu diuraikan lebih lanjut. Idenya adalah bahwa Anda menentukan tujuan yang paling mudah dikelola untuk masing-masing bagian yang lebih kecil. Belajar menggunakan prinsip-prinsip disiplin dalam desain dan pengembangan (seperti Agile-TDD) dan tujuan yang lebih kecil dan lebih mudah dikelola akan terpenuhi.

Ekstrak
sumber
3

Buat Garis Besar

Anda memiliki ide besar, tetapi tidak tahu bagaimana Anda akan menyelesaikan tugas Anda. Buat garis besar tentang apa yang akan Anda lakukan. Tuliskan langkah-langkah yang akan Anda ambil, apa yang akan Anda butuhkan, bahasa apa yang akan Anda gunakan, dll. Pastikan Anda memiliki segalanya yang terorganisir, atau proyek ini akan menjadi kecelakaan total.

Jadwalkan Langkah Anda

Saya menyebutkan ini sebelumnya, tetapi ini sangat penting. Jika Anda memiliki waktu yang dipetakan, Anda dapat memiliki perkiraan tanggal selesai kapan proyek Anda akan selesai, dan berapa lama langkah-langkah proyek akan dilakukan. Ini, sekali lagi, organisasi dan akan membuat Anda tetap berjalan.

Temukan Alat Untuk Pekerjaan

Jika Anda akan memulai proyek besar, Anda akan memerlukan bantuan. Untuk organisasi kode, dan Sistem Kontrol Versi yang bagus, Git sangat bagus karena Git menyimpan semua kode Anda dalam satu repositori. Untuk info lebih lanjut tentang Git, lihat tautan yang saya berikan kepada Anda.

Anda juga perlu memastikan bahwa Anda menggunakan bahasa yang akan membantu Anda melakukan apa yang ingin Anda lakukan. Pastikan Anda dapat membuat proyek Anda sebelum memulai. Saya tidak mengatakan jangan belajar sesuatu yang baru, tetapi pelajari sebelum Anda mulai.

Mendapatkan bantuan

Proyek besar biasanya tidak dilakukan sendiri. Hubungi sesama siswa, orang-orang di komunitas Anda yang dapat memprogram, dan siapa pun yang menurut Anda dapat membantu Anda sebelum memulai. Jangan takut untuk bertanya.

Memulai!

Jangan main-main, menunggu orang lain untuk memulai proyek Anda dan kemudian berkata "Saya punya ide itu!". Itu akan selamanya menghantui Anda ...

Dinamis
sumber
1

Mungkin itu penuh dengan klise tapi ... Aku akan tunduk.

Untuk dapat menangani proyek besar, Anda terutama membutuhkan satu hal: pengalaman. Pengalaman memberi Anda semua yang Anda butuhkan:

  • Pengetahuan: semakin banyak waktu yang Anda habiskan untuk proyek, semakin banyak pengetahuan umum dan spesifik yang Anda peroleh
  • Keyakinan: mengelola proyek-proyek besar membutuhkan kepercayaan diri, kepercayaan datang dari pengetahuan dan umumnya fakta bahwa setiap pekerjaan adalah sesuatu yang telah Anda lakukan sebelumnya, atau Anda telah melihat orang melakukannya.
  • Jaringan profesional: jika proyek ini sangat besar, Anda harus menyadari bahwa Anda tidak dapat menyelesaikannya sendiri, jadi bersiaplah dengan mengetahui siapa yang dapat Anda tanyakan atau di mana Anda dapat menemukan informasi utama yang Anda cari

Jadi, Anda dapat melakukan dua hal:

  • Selami dan lihat bagaimana kelanjutannya. Mungkin Anda akan membuat banyak kesalahan, tetapi kuncinya adalah belajar dari mereka.
  • Dapatkan pekerjaan di mana Anda dapat secara khusus mengamati orang-orang yang mereka tangani proyek-proyek besar

Saya harap itu membantu.

Aston
sumber
1

Definisi saya tentang "proyek besar" adalah "proyek di mana masalah utama adalah koordinasi peserta dan komunikasi di antara mereka" (proyek menengah adalah ketika manajemen sama sulitnya dengan masalah teknis, yang kecil adalah ketika masalah teknis lebih penting daripada yang manajemen; perhatikan bahwa proyek satu orang dalam jangka panjang bisa menjadi proyek besar - mengoordinasi dan berkomunikasi dengan diri Anda di masa depan tidak jauh berbeda dengan melakukan hal yang sama dengan orang lain).

Langkah pertama untuk dapat menangani (dengan "memiliki peran utama") proyek besar adalah untuk berpartisipasi dalam beberapa proyek besar tanpa memiliki peran utama. Langkah kedua adalah mencapai level peran utama sambil dibimbing oleh seseorang yang memiliki pengalaman dengannya.

Pendekatan alternatif adalah meningkatkan ukuran proyek secara progresif dan belajar dari pengalaman Anda ...

Pemrogram
sumber
1

Beberapa ide sudah matang untuk seorang insinyur hanya untuk melompat masuk dan mulai menulis kode. Proyek-proyek ini mungkin besar atau kecil, tetapi mereka memiliki satu kesamaan: masalah yang harus dipecahkan. Saya sudah memulai proyek seperti ini berkali-kali, dan hanya masalah saya membangun disiplin dalam menulis dokumentasi yang baik di muka, dan mengikuti praktik terbaik terkait dengan kontrol kode sumber, komunikasi, dan kolaborasi.

Proyek-proyek besar yang saya miliki hanyalah kuman dari sebuah gagasan, membutuhkan sedikit persiapan dalam pengalaman saya. Hal pertama yang saya lakukan adalah mulai berbicara tentang ide saya dengan orang lain untuk melihat apakah ada yang berbagi pemahaman saya tentang masalah yang saya pecahkan, dan untuk memvalidasi pendekatan terencana saya dalam menyelesaikan masalah. Jadi ajaklah satu atau dua teman untuk minum bir, atau undang mereka ke kamar asrama Anda untuk Cheetos. Tetapi bersenang-senanglah dengan proses ini karena melalui proses inilah Anda mungkin lebih memahami masalah yang Anda selesaikan, menemukan ide-ide hebat lain yang dapat Anda bawa untuk menyelesaikan masalah, berlatih menjual ide Anda kepada orang lain, dan mungkin bahkan mulai membangun sebuah tim orang untuk membantu Anda menyelesaikannya.

Byrne Reese
sumber
1

Membagi hal-hal besar menjadi hal-hal kecil.

Anda tidak dapat bekerja untuk "mencapai kedamaian dunia". Alih-alih Anda bekerja untuk melarang Senjata Pemusnah Massal, Anda mendorong demokrasi, Anda memberikan bantuan pembangunan, Anda mendorong pertukaran budaya dan ilmiah dan sebagainya.

Program Lenny
sumber
1

Saya pikir sesuatu yang tidak disentuh oleh banyak jawaban ini adalah menyelesaikan sesuatu yang nyata, dan memaksa diri Anda untuk menyelesaikannya.

Kadang-kadang Anda terjebak dalam 'tanah pemikiran' di mana Anda merasa semua yang tersisa hanyalah kebosanan mengetik, tetapi sebenarnya memulai dengan sepotong kecil proyek Anda dan implementasinya menyenangkan dan menantang.

Saya tahu banyak orang yang seperti ini, termasuk saya, sampai saya benar-benar pergi, saya tidak menyelesaikan apa-apa, saya tidak bisa - hanya berpikir dan berencana untuk memulai sebuah proyek. Saya harus memilih bagian yang bisa saya implementasikan, dan sampai ke sana dan kemudian aliran dimulai.

Matthew Blanchard
sumber
1

tidak ada alasan untuk melakukan sesuatu tanpa tujuan. Anda memerlukan cerita pengguna yang menunjukkan perlunya kode yang ingin Anda tulis. Anda harus membingkai cerita pengguna ini dalam format berikut:

Sebagai [X]
saya ingin [Y]
sehingga [Z]

Ini mungkin terlihat terlalu sederhana, tetapi memberi Anda kerangka kerja untuk tidak hanya mendefinisikan pengguna, tetapi juga menentukan kebutuhan dan apa hasil akhirnya dalam satu kalimat. Anda akan memiliki banyak dari ini. Anda akan menghasilkan lebih banyak seiring berjalannya waktu. Setelah Anda memilikinya, Anda dapat mulai mengembangkan kode Anda. Ketika Anda memiliki lebih banyak ide atau mencari tahu hal-hal lain. Anda kembali dan menulis lebih banyak cerita pengguna sehingga Anda tidak melupakannya. Itu adalah tempat terbaik untuk memulai.

Pengembangan Berbasis Perilaku menggunakan pendekatan ini dan situs di tautan memiliki beberapa contoh penggunaan format ini untuk mengungkapkan cerita pengguna.

Saya pikir ini akan menjadi cara tercepat dan paling terorganisir untuk beralih dari ide ke kode.

Charles Lambert
sumber
1

Saya akan mengambil setumpuk perekat kuning dan spidol ajaib dan duduk di sebuah ruangan di mana ada papan tulis besar sehingga saya bisa bertukar pikiran.

Saya hanya akan mulai menuliskan frasa sederhana yang muncul di pikiran seperti Menu Utama, Laporan, Basis Data, Otentikasi, dll. :

Buka File, Simpan File, Simpan File Sebagai, Cetak dll dan tempel ini di papan tulis di bawah menu utama.

Ketika ide-ide muncul di kepala Anda, tuliskan ... baik, buruk, bodoh, apa pun yang diterima. Tempelkan di papan tulis. Saat Anda melihat papan tulis, lebih banyak ide akan muncul dan pola akan muncul. Pada titik tertentu Anda akan mulai merasakan apa yang Anda rencanakan untuk dikembangkan.

Perekat kuning sangat bagus dan bisa dipindah-pindahkan dengan cukup cepat.

Begitu semuanya mulai menyatu, Anda membagi pemikiran ini menjadi kelompok-kelompok. Kemudian Anda dapat bertukar pikiran pada tingkat kelompok tunggal. Saya akan mengambil gambar papan tulis di berbagai tahap jika Anda ingin melihat seperti apa itu dua puluh menit yang lalu sebelum semuanya berubah.

Akhirnya, Anda akan memiliki gagasan yang cukup bagus tentang potongan utama dari hal-hal yang harus dilakukan. Anda bisa mendapatkan satu folder untuk masing-masing potongan ini dan terus melemparkan ide ke dalamnya ketika mereka mendatangi Anda.

Michael Riley - AKA Gunny
sumber
0

Karena Anda seorang siswa, saya akan menganggap Anda siswa-besar dan bukan profesional-besar. Yang terakhir membutuhkan pertimbangan bisnis dan kolaborasi tambahan. Saya baru saja memulai proyek baru minggu lalu, jadi prosesnya segar dalam pikiran saya.

Hal pertama yang saya lakukan adalah meneliti solusi dan perpustakaan yang ada . Saya tidak suka menemukan kembali roda sedapat mungkin. Penelitian ini juga merupakan faktor besar dalam memilih bahasa untuk proyek tersebut. Beberapa bahasa memiliki kode yang lebih baik untuk tugas-tugas tertentu.

Hal berikutnya yang saya lakukan adalah membuat folder dan meletakkannya di bawah kendali sumber . Ini sesederhana seperti git init .saat ini.

Selanjutnya saya membuat "halo dunia" bekerja . Ini membuat saya tahu lingkungan pengembangan saya sudah diatur dengan benar.

Selanjutnya saya mendapatkan "hello world" untuk perpustakaan pihak ketiga yang berfungsi . Ini adalah batas minimum yang diperlukan untuk menunjukkan bahwa saya menautkan dan menggunakan perpustakaan dengan benar. Untuk pustaka database, itu menghubungkan dan menjalankan kueri sederhana, misalnya. Untuk toolkit GUI, ini menampilkan jendela.

Selanjutnya saya mengatur skrip pembuatan dan kerangka kerja pengujian . Ini adalah semut atau makefiles atau apa pun, dan jauh lebih mudah untuk diatur ketika proyek Anda masih kecil.

Selanjutnya saya membuat struktur data . Disebut juga layer "model". Ini adalah bagian yang menyimpan semua yang perlu diingat oleh program Anda untuk melakukan tugasnya. Saya melakukan banyak desain di atas kertas, lalu tambahkan saja stub. Bagian desain ini biasanya yang paling mudah. Misalnya, program catur akan membutuhkan benda untuk menyimpan kotak permainan, pemain, potongan, urutan gerakan, dll.

Pada titik ini, saya memiliki basis yang cukup bagus untuk sebuah program dan biasanya cukup jelas apa langkah selanjutnya untuk proyek tersebut. Lalu saya hanya mengambil satu langkah kecil pada satu waktu, dengan kode yang bekerja sampai batas tertentu di sepanjang jalan.

Karl Bielefeldt
sumber
0

Jika semua yang Anda miliki adalah "Ide Besar", Anda akan membutuhkan banyak hal (yang dijelaskan dengan sangat baik dalam jawaban lain), dan khususnya 2: waktu dan motivasi ini .

Kesulitan terbesar ketika Anda bekerja sendirian di proyek pribadi adalah bahwa, biasanya, Anda tidak punya banyak waktu untuk dihabiskan setiap minggu sehingga Anda tidak melihat banyak kemajuan dan dengan cepat mulai kehilangan motivasi.

Jadi seperti yang sudah dikatakan, ambil langkah kecil , itulah kuncinya.

Tapi ini belum semuanya, Anda harus mengambil langkah kecil dan bermanfaat ! Artinya, langkah-langkah yang akan memberi Anda nilai terbesar dan menunjukkan konsep-konsep kunci dari ide besar Anda.

Misalnya, jika Anda bekerja pada perangkat lunak daftar super todo baru dengan interaksi pengguna yang hebat . Jangan mulai dengan penyimpanan dan basis data sampai Anda benar-benar membutuhkannya. Mulailah dengan antarmuka pengguna yang inovatif: menyenangkan dan memiliki nilai. Itu akan membuat Anda bangga, membuat Anda tetap termotivasi dan memungkinkan Anda untuk segera memeriksa apakah ide Anda benar-benar bagus.

David
sumber
0

Hal pertama yang perlu Anda lakukan adalah duduk dan menggambarkan ide itu secara tertulis. Itu tidak akan menjadi proyek sampai saat itu, dan bahkan kemudian, Anda memiliki beberapa pekerjaan untuk mengambilnya dari menjadi sesuatu yang sesingkat ide menjadi sesuatu yang nyata seperti proyek.

Setelah Anda mencapai sejauh itu, Anda dapat mulai melihat mengubahnya menjadi sebuah proyek, mengidentifikasi bagaimana Anda dapat memecahnya menjadi langkah-langkah terpisah yang dapat diimplementasikan secara logis.

Kemudian buat garis waktu untuk menerapkan langkah-langkah tersebut. Tinjau kembali kemajuan pada interval tertentu sehingga Anda dapat mengendalikan proses itu - alih-alih memiliki gagasan merayap yang tidak pernah Anda pikirkan sejak awal dan menambahkannya ke dalam campuran.

Identifikasi garis finish awal dan bertujuan untuk itu. Semakin Anda tidak patuh pada hal itu, semakin besar kemungkinan proyek tersebut akan tenggelam di bawah beban gagasan tambahan, dan semakin Anda tidak bersemangat untuk menyelesaikannya karena tampaknya akan hidup selamanya.

temptar
sumber
0

Upaya kode biasanya sekitar 20% (+ -10%) dari anggaran proyek. Berfokus pada mendapatkan kode yang benar tidak ada gunanya, ada 80% dari upaya yang belum Anda atasi, jadi mendapatkan pengelolaan kode yang sempurna masih menyisakan hanya 20 pekerjaan yang dilakukan.

Bagaimana jika proyek Anda tidak memiliki pengguna? Bagaimana jika itu sempurna tetapi diterbitkan satu minggu setelah file "Acme Patent Trolls" untuk paten atas ide tersebut, dan ternyata itu menjadi Facebook berikutnya?

Lihatlah masalah siklus hidup proyek standar berikut Persyaratan, Desain, Kode, Tes, Integrasi, Penempatan, Pelacakan dan koreksi cacat, manajemen perubahan persyaratan (permintaan tambahan). Rilis rencana, alokasi sumber daya (berapa jam sehari Anda berencana untuk melakukannya, dan apakah Anda benar-benar akan mengerjakan proyek), Legal (Freedon untuk beroperasi) dll.

Jika semua hal di atas ada, kode yang sangat buruk pun akan berhasil. Jika tidak ada di atas ada di tempat, kode terbaik akan gagal.

Saya bukan seorang pemain taruhan, tetapi saya akan menaruh uang untuk itu proyek "besar" pertama Anda akan gagal, dalam banyak dan beragam cara yang tidak dapat Anda bayangkan. Jangan khawatir, terus maju dan gagal, belajar darinya dan lakukan yang berikutnya. Tidak memulai akan menjadi kejahatan nyata. Jika Anda berhasil pertama kali, Anda memiliki karier yang solid dalam manajemen bisnis, bukan pemrograman.

Jadi untuk menjawab pertanyaan Anda, singkirkan alat perangkat lunak, dan tarik alat "perencanaan bisnis" Anda. Cari tahu MENGAPA Anda melakukannya, untuk SIAPA lalu MENGAPA dan KAPAN mereka menginginkannya. (Anda bisa menjadi pelanggan Anda sendiri, tetapi tetap melakukan latihan itu). Tulis ini dalam "Rencana Bisnis" dan buatlah dari mereka.

mattnz
sumber
0
  1. seperti apa kesuksesan itu?
  2. apa yang tidak diketahui dalam proyek ini?
  3. apa yang diketahui dalam proyek ini?
  4. apa yang dapat Anda lakukan untuk menghilangkan / menemukan yang tidak diketahui, untuk mengubahnya menjadi dikenal?
  5. apa yang dapat Anda lakukan untuk mengumpulkan yang dikenal untuk mencapai kesuksesan?
  6. apa langkah konkret berikutnya untuk mengambil yang memajukan proyek?

ulangi langkah terakhir sampai proyek selesai; menerima bahwa mungkin butuh bertahun - tahun , dan terus bergerak maju

Steven A. Lowe
sumber
0

Semua jawaban di sini bagus dan semuanya, tetapi dalam semua kejujuran, tidak masalah berapa banyak kontrol versi, gitting, diagram alur dan mark-up yang Anda buat, yang penting adalah bahwa Anda memiliki aplikasi fungsional, aplikasi fungsional didefinisikan sebagai salah satu yang memecahkan masalah yang disimpulkan, semua hal lainnya cukup banyak tidak relevan.

Mulai pengkodean, kodekan ke fase fungsional, jalankan beberapa tes, debug, luncurkan, dan ulangi dengan fitur dan fungsionalitas baru (jika Anda menganggapnya perlu), banyak yang menghalangi startup ramping - yang merupakan metode manajemen yang gesit. dan pengembangan untuk menghasilkan lebih sedikit limbah (atau seperti yang didefinisikan seseorang: karya setengah jadi).

Itai Sagi
sumber
-1

Daftar hal yang harus dilakukan ketika memulai proyek baru:

  1. buat direktori baru
  2. buat makefile dengan menyalin beberapa templat makefile yang ada
  3. buat beberapa file header dan implementasi
  4. pastikan itu mengkompilasi
  5. mulai menggunakan kontrol versi
  6. memutuskan konvensi penamaan untuk kelas, fungsi, anggota data, variabel
  7. tulis kelas Anda
  8. pastikan kelas Anda independen dan setiap fungsi anggota independen dari fungsi anggota lainnya
  9. buat beberapa objek dengan membuat fungsi seperti main ()
  10. ulangi langkah 7-10 hingga program Anda siap
  11. kompilasi itu
  12. kirimkan ke pengguna akhir
tp1
sumber
Itu tentang pengkodean, tetapi ini bukan rekayasa, dan tidak bekerja di luar skala tertentu. Sebagai gantinya, Anda perlu melakukan sesuatu mulai dari cerita pengguna atau persyaratan atau semacam spesifikasi; itu akan membantu Anda memilih teknologi implementasi Anda sebagai permulaan. 'tulis beberapa cerita', 'pesan cerita Anda' adalah dua langkah pertama, kontrol versi ada sebelum kode apa pun, dan cerita pertama selalu 'riset implementasi teknologi' (yang jauh lebih banyak daripada 'memilih bahasa').
Andrew McGregor