Một bộ xương đi bộ là gì?


42

Một trong những đội nhanh nhẹn của tôi đã thực hiện một cách tiếp cận thú vị trong giai đoạn đầu của dự án. Thay vì bắt đầu dự án với Sprint 0 nơi họ thiết lập cơ sở hạ tầng mã và quyết định kiến ​​trúc giải pháp, họ đã bắt đầu xây dựng "Walking Skeleton", mà họ mô tả là một thực tiễn DevOps.

Điều này dường như bắt nguồn từ việc xây dựng một thứ gì đó rất nhỏ (trong trường hợp API là một điểm cuối duy nhất vừa trả về 200-OK), khiến nó hoạt động trong tích hợp liên tục và xây dựng đường ống phân phối liên tục để triển khai điều này qua từng môi trường:

Phát triển ► Thử nghiệm ► UAT ► Tiền sản xuất ► Sản xuất

Trong quá trình họ đã quản lý để đánh dấu nhiều yêu cầu phi chức năng có thể bị bỏ lỡ nếu việc triển khai bị bỏ lại đến phút cuối cùng.

Câu hỏi của tôi là: "Bộ xương đi bộ" là gì và nó mang lại lợi ích gì cho nhóm Agile sau khi thực hành DevOps?


1
Yêu cái này, tôi có thể chia sẻ một điều thực tế (tuần trước) và kết quả từ việc này sau bữa ăn trưa
Tensibai

Câu trả lời:


38

"Bộ xương đi bộ" là một dạng "bằng chứng của khái niệm" về khái niệm kiến ​​trúc cơ bản của bạn. Khi một bằng chứng về khái niệm thường tập trung nhiều hơn vào một chức năng duy nhất, "Bộ xương đi bộ" là một triển khai từ đầu đến cuối tối giản. "Bộ xương đi bộ" không phải là một phác thảo về khái niệm của bạn (chỉ là "bộ xương") nhưng thực sự có thể thực hiện được và có thể chuyển đổi được (nó có thể "đi bộ": O) và phải đi kèm với các bài kiểm tra.

Alistair Cockburn đã mô tả nó (và được trích dẫn thường xuyên):

Walking Skeleton là một triển khai nhỏ của hệ thống thực hiện chức năng đầu cuối nhỏ. Nó không cần sử dụng kiến ​​trúc cuối cùng, nhưng nó nên liên kết với nhau các thành phần kiến ​​trúc chính. Kiến trúc và chức năng sau đó có thể phát triển song song.

Lợi thế ở đây đối với DevOps là "Bộ xương đi bộ" nên được phát triển sớm trong dự án và dẫn đến mã làm việc, có thể chuyển đổi và kiểm tra được . Bằng cách này, DevOps có thể thiết lập một chuỗi tích hợp liên tục đầy đủ ngay từ đầu trong dự án, thay vì được đưa vào trong giai đoạn cuối của các dự án. Điều này có nghĩa là bất kỳ vấn đề nào sẽ phát sinh cũng đang được giải quyết trong giai đoạn đầu thay vì công việc gấp rút vào cuối.


4
Chà, đó không chỉ là chuỗi CI, mà theo nghĩa đen nó có thể bao trùm đường ống sản xuất từ ​​đầu đến cuối, bao gồm cả giao hàng và triển khai. Một bộ xương cũng vậy - bạn không cần phải có tất cả các xác minh QA cho sản phẩm cuối cùng vào ngày 1, bạn có thể thêm dần xác minh "thịt" vào bộ xương này khi câu chuyện "thịt" tích lũy trên bộ xương đi bộ.
Dan Cornilescu

1
Tôi thích thuật ngữ "thịt", rất phù hợp với thuật ngữ được sử dụng: P
7ochem

3
Câu trả lời chính xác. Tôi đoán đó là đường ống phân phối tương đương với một sản phẩm khả thi tối thiểu.
Adrian

4
Điều này nghe có vẻ tương tự như sản phẩm khả thi tối thiểu, nhưng ở mức độ chi tiết hơn - "thành phần khả thi tối thiểu" có lẽ. Trả lại 200 từ một dịch vụ chỉ để nó "chạy" nghe có vẻ như còn sơ khai đối với tôi.
Dave Swersky
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.