Baru tangkas dan saya tidak yakin bagaimana memulainya. Idenya adalah untuk membuat bagian kecil dari proyek dalam sprint. Namun proyek yang saya kerjakan membutuhkan database dan database harus hampir berfungsi untuk melakukan apa saja dengan proyek tersebut.
Jadi bagaimana proyek Agile menangani ini, apakah Anda mulai dengan membuat database?
Bagaimana Anda melakukannya, misalnya jika menggunakan Scrum, bagaimana Anda akan membuat cerita pengguna dan menguji db.
Apakah Anda lebih suka melakukan bagian dari db dalam sebuah cerita yang juga memerlukan kode.
Katakanlah Anda memiliki cerita yaitu "Sebagai pengguna Anda harus dapat mendaftar ..." Anda akan membuat tabel pengguna dalam database sebagai bagian dari cerita ini?
Bagaimana agile dapat membantu Anda merancang basis data?
sumber
Jawaban:
Ya, Anda akan membangun basis data secara bertahap dengan menambahkan tabel dan kolom yang diperlukan sebagaimana diperlukan oleh cerita. Anda biasanya tidak memerlukan seluruh basis data ketika Anda memulai cerita pertama Anda - misalnya "Sebagai pengguna Anda harus dapat mendaftar ..." kemungkinan besar membutuhkan tabel tunggal dengan set kolom yang ditentukan secara tepat.
Jika Anda memiliki cerita yang benar-benar membutuhkan keseluruhan basis data, ceritanya Epic - terlalu besar dan harus dibagi.
sumber
Setelah membaca posting Anda, saya pikir Anda salah paham dan Anda harus mulai dengan membaca apa yang benar-benar tangkas artinya dan coba capai.
Tutup, tapi tidak cukup dekat. Idenya adalah untuk memberikan perangkat lunak yang berfungsi pada akhir setiap sprint (satu bagian dari sistem dapat masuk ke dalam satu sprint, atau tidak). Basis data dapat dilihat sebagai perangkat lunak yang berfungsi jika dan hanya jika basis data adalah apa yang Anda berikan kepada pelanggan.
Mengapa harus hampir fungsional? Apakah setiap fitur sistem menggunakan seluruh atau sebagian besar konten basis data? Karena jika tidak, tidak ada gunanya mendesain seluruh database sebelumnya.
Agile tidak menangani desain database atau sistem. Ini memberi tahu Anda cara mengelola proyek Anda. Dengan mengingat hal itu, Anda mulai dengan mengidentifikasi semua fitur sistem dan memasukkannya ke dalam jaminan produk. Kemudian Anda, bersama dengan pemilik produk, menetapkan prioritas untuk fitur-fitur dalam jaminan simpanan. Setelah selesai, Anda mulai mengambil fitur dari backlog dan membuat sprint (biasanya 2 hingga 4 minggu). Ketika sprint selesai, Anda harus memiliki fitur kerja baru dalam sistem yang dapat dikirim ke pelanggan.
Saya mungkin salah, tetapi tidak ada gunanya menguji basis data. Anda dapat menguji kode yang memperbarui basis data. Tentu saja, Anda dapat menguji bagian yang dapat diprogram dari basis data tetapi itu dapat dicapai dengan menguji kode yang memanggilnya.
Iya.
Agile bukanlah peluru perak bagi manajemen proyek dan dapat mengeja bencana jika tidak diterapkan dengan benar. Cobalah untuk meluangkan waktu membaca tentang itu (Anda dapat menemukan banyak sumber daya di sini atau di stackoverflow), mungkin menemukan seseorang yang telah melakukan gesit dan dapat membantu Anda untuk mempercepat.
sumber
Salah besar.
Basis data kosong, ya. Kemudian tambahkan tabel sesuai kebutuhan untuk menyelesaikan sprint.
Apa yang kamu tanyakan? Agile tidak ada hubungannya dengan desain database.
Anda menulis ceritanya.
Anda merancang solusi.
Anda membuat tabel dan kode.
Anda menguji kodenya.
Apa pilihan lain yang ada? Lakukan semua DB terlebih dahulu? Itu tidak mungkin.
Pertama, itu cerita yang tidak berguna, karena tidak ada gunanya mendaftar. Itu hanya rintangan teknis yang harus dilewati pengguna.
Kedua, Anda akan membuat tabel yang cukup untuk mengimplementasikan cerita.
Apa yang kamu tanyakan?
Agile adalah manajemen proyek. Itu tidak membantu dengan desain apa pun.
Ini hanya membantu Anda memecah pekerjaan besar menjadi potongan-potongan kecil.
sumber
Yah pertama-tama ikuti pendekatan tambahan. Pilih modul menentukan persyaratannya, tulis fungsionalitasnya, targetkan area fungsional dan kemudian datanglah pemodelan, desain db, algos, kode dan akhirnya mengujinya dan ulangi prosesnya.
sumber
Pertanyaan Anda meneriakkan anti-pola pengembangan AgileFall .
Apa itu? Ini biasanya sebuah organisasi yang secara tradisional mengembangkan perangkat lunak dalam metode Waterfall, tetapi kemudian karena mereka menyadari itu tidak berfungsi, mereka berjuang secara internal untuk mengadopsi teknik Agile. "Gagal gasm" yang dihasilkan biasanya terjadi karena Agile PERMINTAAN benar-benar perombakan organisasional dari cara banyak toko air terjun yang didirikan terstruktur. Dan tentu saja mereka akan cenderung tetap terstruktur seperti itu karena banyak orang kuat dan bertenor merasa mereka perlu menyuntikkan diri ke dalam proses ketika Agile menunjukkan betapa tidak bergunanya orang-orang itu BENAR-BENAR terhadap pengembangan perangkat lunak.
Anda perlu melepaskan diri dari gagasan bahwa entah bagaimana Anda mulai dari bawah, merancang dan membangun basis data Anda, dan kemudian pindah ke tingkat menengah dan tidak pernah harus menyentuh basis data Anda lagi. Ini adalah cara yang salah untuk melakukannya di Agile.
Mulai dari model domain untuk cerita pengguna, dan lanjutkan jalan Anda ke database, dan BAWAH ke tingkat menengah dan presentasi.
sumber