Desain, siklus pengembangan, dan pengujian

Setelah bekerja dengan tim yang berbeda, saya menemukan sendiri beberapa aturan pengembangan yang ingin saya bagikan kepada Anda.

Desain


  1. Lebih baik menghabiskan banyak waktu pada tahap merancang sistem informasi daripada kehilangan waktu dan uang kemudian.
  2. Kesalahan dalam desain dapat mencakup: menunda waktu, banyak biaya proyek.
  3. Merancang sistem sepenuhnya dari awal hingga selesai (tanpa menambahkan fungsi tambahan) atau menyediakan modularitas:

    - pengembangan dan penyempurnaan konsep sepenuhnya.
    - pengembangan spesifikasi teknis yang sangat rinci.

    - pengembangan skema database
    - pengembangan skrip pengontrol
    - pengembangan desain template presentasi
    - pengembangan skenario perilaku pengguna (alias skenario pengujian)
    - CEO
    - ...
  4. Lebih baik membuat tender untuk pembuatan dokumentasi proyek dan spesifikasi teknis, dan kemudian melakukan audit. Mungkin pada tahap awal Anda akan menghabiskan lebih banyak uang, tetapi Anda dapat menghemat beberapa kali lebih banyak di masa depan.

Pengembangan


1. Dalam pengembangan, gunakan solusi siap pakai dan stabil: ini berarti bahwa untuk bekerja dengan database lebih baik menggunakan kerangka kerja MVC (Model View Controller) atau ORM (Object Relational Mapping) atau AR (Rekaman Aktif), dan untuk bekerja dengan skrip CRUD standar ( Buat Baca Perbarui Hapus) - generator yang membuat kode tanpa kesalahan.

Tidak ada yang akan menghargai keahlian Anda sebagai pengembang tingkat rendah, tetapi jika sistem bekerja dengan stabil dan tanpa kesalahan itu akan menjadi nilai tambah yang besar.

2. Dokumentasikan kodenya.

3. Buat dokumentasi teknis yang baik dan jelas.

4. Gunakan buruh pelabuhan.

5. Gunakan sistem perakitan versi otomatis.

Organisasi kerja tim


  1. Gunakan sistem kontrol versi, saya menggunakan git dalam pekerjaan saya.
  2. Membagi pekerjaan pengembang menjadi modul fungsional yang berbeda, sehingga ketika cabang-cabang sistem kontrol versi bergabung menjadi satu, tidak akan ada konflik.
  3. Jangan terlibat dalam pemrograman ekstrem pada lutut saat dibutuhkan dari beberapa jam hingga beberapa hari untuk menyelesaikan masalah.

Tetapkan tugas untuk minimum satu minggu dan maksimum satu bulan hingga pembangunan berikutnya.

Pengujian


  1. Jangan gunakan pengaturan tugas dan sistem koreksi untuk penguji.
  2. Gunakan tes otomatis: buat modul uji perangkat lunak yang akan berjalan setiap saat sebelum perakitan dan uji seluruh sistem secara otomatis.

Siklus pengembangan


Setelah Anda membuat tugas teknis berkualitas tinggi, Anda dapat mulai berkembang, maka saya akan memberikan siklus berulang:

1. Menetapkan tugas untuk pengembang di berbagai sistem untuk memantau pelaksanaan tugas sehingga tidak saling memengaruhi kode, misalnya, membagi sistem menjadi modul, masing-masing bekerja di cabang masing-masing.

Tugas harus diselesaikan dalam waktu seminggu.

Setelah menyelesaikan setiap tugas, pengembang harus menjalankan tes perangkat lunak otomatis yang mencakup seluruh sistem.

2. Setiap hari Senin, kode setiap pengembang bergabung ke cabang utama.

Setelah hasil kerja seluruh tim muncul di cabang utama, masing-masing pengembang menyalin cabang utama untuk dirinya sendiri.

Selanjutnya, siklus berulang.

Dengan pendekatan ini


  1. Jumlah kesalahan yang dihasilkan dari tugas akan minimal.
  2. Anda dapat membuat produk perangkat lunak yang lebih baik.
  3. Anda akan menghemat waktu.
  4. Anda akan menghemat uang.
  5. Tim akan bekerja lebih cepat, lebih efisien, lebih harmonis (tanpa konflik dalam hal mengubah kode).
  6. Anda akan dapat menyelesaikan tugas tepat waktu.
  7. Tugas yang diselesaikan akan lebih baik.
  8. Anda tidak harus membuat tugas tambahan, seperti: mengubah desain, fungsionalitas, atau hal lain selama bekerja.

Apa yang akan membuat hasilnya lebih mudah diprediksi dan sederhana serta mudah dimengerti.

Saya telah memprogram lebih dari 10 tahun, semua proyek yang menarik dan sukses!

Source: https://habr.com/ru/post/id442704/


All Articles