Các phương thức và cơ sở dữ liệu Agile khi bắt đầu dự án


12

Mới nhanh nhẹn và tôi không biết bắt đầu như thế nào. Ý tưởng là tạo ra các phần nhỏ của dự án trong các lần chạy nước rút. Tuy nhiên, dự án tôi đang làm việc đòi hỏi phải có cơ sở dữ liệu và cơ sở dữ liệu phải gần như có chức năng để làm bất cứ điều gì với dự án.

Vậy làm thế nào để các dự án Agile xử lý việc này, bạn có bắt đầu bằng cách tạo cơ sở dữ liệu không?

Bạn sẽ làm như thế nào, ví dụ nếu sử dụng Scrum, bạn sẽ thực hiện các câu chuyện của người dùng và kiểm tra db như thế nào.

Bạn có muốn làm các phần của db trong một câu chuyện cũng yêu cầu mã.

Giả sử bạn có một câu chuyện là "Là người dùng, bạn phải có thể đăng ký ..." bạn sẽ tạo bảng người dùng trong cơ sở dữ liệu như một phần của câu chuyện này?

Làm thế nào nhanh nhẹn có thể giúp bạn thiết kế cơ sở dữ liệu?


1
re: "Là người dùng, bạn phải có thể đăng ký ..." Tôi khuyên bạn nên đọc qua blog.gdinwiddie.com/2011/06/11/dont-you-have-to-login-first và các bài đăng mà anh ấy đề cập . Có thể không có ai trả lời "đúng"; thật tốt khi hiểu những lý do khác nhau trong cuộc thảo luận.
StevenV

Nếu bạn đang bắt đầu Agile hoặc bất kỳ phương pháp nào khác cho vấn đề đó, vui lòng đảm bảo rằng nó phù hợp với phong cách của nhóm, dự án và tổ chức của bạn trong việc xử lý các dự án phần mềm (hoặc khách hàng của bạn). Không phải sự thật là mọi phương pháp đều hoạt động cho mọi dự án và mọi tổ chức.
NoChance

Câu trả lời:


14

Có, bạn sẽ xây dựng cơ sở dữ liệu tăng dần bằng cách thêm các bảng và cột cần thiết theo yêu cầu của câu chuyện. Bạn thường không cần toàn bộ cơ sở dữ liệu khi bạn bắt đầu câu chuyện đầu tiên của mình - ví dụ: "Là người dùng, bạn phải có thể đăng ký ..." rất có thể yêu cầu một bảng duy nhất với tập hợp các cột được xác định chính xác.

Nếu bạn có một câu chuyện thực sự đòi hỏi toàn bộ cơ sở dữ liệu thì câu chuyện là Epic - nó đơn giản là quá lớn và phải được chia.


5

Mới nhanh nhẹn và tôi không biết bắt đầu như thế nào.

Sau khi đọc bài viết của bạn, tôi nghĩ rằng bạn đang hiểu nhầm nó và bạn nên bắt đầu với việc đọc những gì nhanh nhẹn thực sự có nghĩa là gì và cố gắng thực hiện.

Ý tưởng là tạo ra các phần nhỏ của dự án trong các lần chạy nước rút.

Gần, nhưng không đủ gần. Ý tưởng là cung cấp phần mềm làm việc vào cuối mỗi lần chạy nước rút (một phần của hệ thống có thể phù hợp với một lần chạy nước rút hoặc không). Cơ sở dữ liệu có thể được xem là phần mềm hoạt động nếu và chỉ khi cơ sở dữ liệu là những gì bạn cung cấp cho khách hàng.

Tuy nhiên, dự án tôi đang làm việc đòi hỏi phải có cơ sở dữ liệu và cơ sở dữ liệu phải gần như có chức năng để làm bất cứ điều gì với dự án.

Tại sao nó phải gần như chức năng? Có phải mọi tính năng của hệ thống đều sử dụng toàn bộ hoặc hầu hết nội dung của cơ sở dữ liệu? Bởi vì nếu không, sẽ không có điểm nào trong việc thiết kế toàn bộ cơ sở dữ liệu trước đó.

Vậy làm thế nào để các dự án Agile xử lý việc này, bạn có bắt đầu bằng cách tạo cơ sở dữ liệu không?

Agile không xử lý cơ sở dữ liệu hoặc thiết kế hệ thống. Nó cho bạn biết làm thế nào để quản lý dự án của bạn. Với ý nghĩ đó, bạn bắt đầu bằng cách xác định tất cả các tính năng của hệ thống và đưa chúng vào phần tồn đọng của sản phẩm. Sau đó, bạn, cùng với chủ sở hữu sản phẩm, gán mức độ ưu tiên cho các tính năng trong hồ sơ tồn đọng. Sau khi hoàn thành, bạn bắt đầu lấy các tính năng từ hồ sơ tồn đọng và tạo nước rút (thường kéo dài 2 đến 4 tuần). Khi nước rút kết thúc, bạn nên có một tính năng làm việc mới trong hệ thống có thể được giao cho khách hàng.

Bạn sẽ làm như thế nào, ví dụ nếu sử dụng Scrum, bạn sẽ thực hiện các câu chuyện của người dùng và kiểm tra db như thế nào.

Tôi có thể sai, nhưng không có điểm nào trong việc kiểm tra cơ sở dữ liệu. Bạn có thể kiểm tra mã cập nhật cơ sở dữ liệu. Tất nhiên, bạn có thể kiểm tra phần lập trình của cơ sở dữ liệu nhưng điều đó có thể đạt được bằng cách kiểm tra mã gọi nó.

Bạn có muốn làm các phần của db trong một câu chuyện cũng yêu cầu mã.

Đúng.

Agile hoàn toàn không phải là viên đạn bạc để quản lý dự án và có thể đánh vần thảm họa khi không được áp dụng chính xác. Cố gắng dành thời gian đọc về nó (bạn có thể tìm thấy nhiều tài nguyên ở đây hoặc trên stackoverflow), có thể tìm ai đó đã thực hiện nhanh nhẹn và có thể giúp bạn tăng tốc.


4

cơ sở dữ liệu phải gần như có chức năng để làm bất cứ điều gì với dự án.

Phần lớn là sai.

Vậy làm thế nào để các dự án Agile xử lý việc này, bạn có bắt đầu bằng cách tạo cơ sở dữ liệu không?

Một cơ sở dữ liệu trống, có. Sau đó thêm các bảng theo yêu cầu để hoàn thành một lần chạy nước rút.

Làm thế nào bạn có thể làm những câu chuyện của người dùng và kiểm tra db?

Bạn hỏi gì? Agile không có gì để làm với thiết kế cơ sở dữ liệu.

Bạn viết truyện.

Bạn thiết kế một giải pháp.

Bạn tạo bảng và mã.

Bạn kiểm tra mã.

Bạn có muốn làm các phần của db trong một câu chuyện cũng yêu cầu mã không?

Có sự lựa chọn nào khác không? Làm tất cả DB trước? Không thể nào.

"Là người dùng, bạn phải có thể đăng ký ..." bạn sẽ tạo bảng người dùng trong cơ sở dữ liệu như một phần của câu chuyện này?

Đầu tiên, đó là một câu chuyện vô dụng, vì không có giá trị trong việc đăng ký. Đó chỉ là một rào cản kỹ thuật mà người dùng buộc phải vượt qua.

Thứ hai, bạn sẽ tạo ra các bảng vừa đủ để thực hiện câu chuyện.

Làm thế nào nhanh nhẹn có thể giúp bạn thiết kế cơ sở dữ liệu?

Bạn hỏi gì?

Agile là quản lý dự án. Nó không giúp với bất kỳ thiết kế.

Nó chỉ giúp bạn chia một công việc lớn thành nhiều phần nhỏ.


2

Trước tiên, hãy làm theo cách tiếp cận gia tăng. Chọn một mô-đun xác định các yêu cầu của nó, đưa ra chức năng, nhắm mục tiêu vào một khu vực chức năng và sau đó đến mô hình hóa, thiết kế db, thuật toán, mã và cuối cùng kiểm tra nó và lặp lại quy trình.


2

Câu hỏi của bạn hét lên về mô hình chống phát triển AgileFall .

Nó là gì? Đây thường là một tổ chức có truyền thống phát triển phần mềm theo phương pháp Waterfall, nhưng sau đó vì họ nhận ra rằng nó không hoạt động, họ đấu tranh nội bộ để áp dụng các kỹ thuật Agile. Kết quả là "fail-gasm" thường xảy ra bởi vì NHU CẦU Agile thực sự là một sự rung chuyển tổ chức cơ bản từ cách mà nhiều cửa hàng Thác nước được thành lập được cấu trúc. Và tất nhiên, họ sẽ có xu hướng duy trì cấu trúc theo cách đó vì nhiều người mạnh mẽ và có quyền lực cảm thấy họ cần phải tự đưa mình vào quy trình khi Agile cho thấy những người đó thực sự vô dụng như thế nào đối với việc phát triển phần mềm.

Bạn cần thoát khỏi khái niệm này rằng bằng cách nào đó bạn bắt đầu từ dưới lên, thiết kế và xây dựng cơ sở dữ liệu của bạn, sau đó chuyển lên tầng giữa và không bao giờ phải chạm vào cơ sở dữ liệu của bạn nữa. Đây là cách sai để làm điều đó trong Agile.

Bắt đầu tại mô hình miền cho câu chuyện của người dùng và tìm đường đến cơ sở dữ liệu và XUỐNG đến tầng giữa và bản trình bày.


Vâng tôi thấy hầu hết gợi ý trả lời về điều này và tôi thậm chí đã tìm ra nó trong khi viết câu hỏi. Không phải lo lắng về AgileFall, đây chủ yếu là một dự án thử nghiệm, nơi tôi đang thử các phương pháp và mô hình để tìm hiểu cách chúng hoạt động, không phải là một dự án nghiêm túc.
Ingó Vals
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.