Có tổ chức của tôi cần áp dụng Agile Soft. Nhà phát triển trước khi áp dụng DevOps?


13

Phát triển phần mềm Agile là phương pháp được lựa chọn cho các cửa hàng phần mềm hiện nay. Nhưng vẫn có những tổ chức không thực hành Agile trong phát triển phần mềm của họ, những người có thể quan tâm đến việc áp dụng DevOps.

Khi tôi nói Phát triển phần mềm Agile, tôi có nghĩa là bất kỳ đứa con nào ra khỏi Tuyên ngôn về Phát triển phần mềm Agile . Chẳng hạn như lập trình cực đoan , Scrum , phát triển phần mềm tinh gọn và những thứ khác.

Phát triển phần mềm Agile có phải là điều kiện tiên quyết bắt buộc khi áp dụng DevOps ở cấp độ tổ chức không?


1
Câu hỏi này được tạo ra là devops.stackexchange.com/questions/73/ cho bị từ chối vì quá rộng.
Evgeny

1
Đây là một câu hỏi rất hay và rất hợp lệ
Alexandre

Bài viết rất phù hợp về lý do tại sao Agile không hoạt động và cách DevOps phù hợp với hình ảnh đã được đăng tại hackernoon.com/why-isnt-agile- Work
Evgeny

Câu trả lời:


8

Phát triển phần mềm Agile không bắt buộc phải thực hiện DevOps, nhưng tôi tin rằng có thể đưa ra lập luận rằng đề xuất giá trị cho DevOps thường thấp hơn rất nhiều nếu không có Agile.

DevOps là rất nhiều thứ, nhưng tự động hóa là một chủ đề trung tâm. Giá trị của tự động hóa tăng tỷ lệ thuận với tần suất mà Phát triển tạo ra các bản phát hành mới. Việc triển khai thường xuyên có tác động tích cực đến một số loại sản phẩm, cụ thể là các ứng dụng tiêu dùng. Tốc độ cao trong suốt vòng đời phân phối phần mềm trả về giá trị cho mỗi lần lặp (bất kỳ ai đã xem quảng cáo CA nơi zombie muốn các tính năng mới trong ứng dụng của họ?)

Không có Agile, việc phát hành tần số cao là vô cùng khó khăn, nếu không nói là không thể. Nếu nhóm Phát triển phát hành phần mềm mỗi quý một lần hoặc hai lần một năm, DevOps vẫn có thể tự động hóa quy trình, nhưng vấn đề là gì? Đầu tư về thời gian, đào tạo và nguồn lực để áp dụng DevOps có thể được trả lại một phần về chất lượng, tuy nhiên, giá trị tốt nhất là duy trì vận tốc cao trong suốt vòng đời giao hàng.

Người ta cũng có thể lập luận rằng nếu bạn đang đi để áp dụng DevOps, tại sao không bạn cũng áp dụng Agile? Những nguyên tắc khiến cả hai cùng làm việc, làm việc tốt với nhau. Việc thực hành DevOps một mình, không có Agile, có thể tạo ra sự mất cân bằng giữa Ops và Dev, trong đó Ops vượt trội hơn Dev về việc cung cấp dịch vụ.


4

KHÔNG

Tôi sẽ lập luận rằng hoạt động DevOps trưởng thành , đòi hỏi một quy trình Agile trưởng thành . Bạn khó có thể có được sự tự tin hoàn toàn để liên tục triển khai hoặc cho phép các nhà phát triển của bạn bắt đầu quy trình triển khai mà không có quy trình Agile trưởng thành .

Tuy nhiên, tôi tin rằng điều rất quan trọng là phải làm rõ rằng một tổ chức KHÔNG cần phải áp dụng quy trình nhanh nhẹn của họ trước khi xây dựng văn hóa và cơ sở hạ tầng DevOps của họ. Trên thực tế, tôi sẽ lập luận rằng việc áp dụng Agile thực sự dễ dàng hơn một khi bạn có một số DevOps cơ bản làm việc trong công ty của bạn. Thay vì Agile là điều kiện tiên quyết cho DevOps, tôi sẽ đề xuất rằng DevOps được sử dụng để giúp thúc đẩy triển khai nhanh nhẹn của bạn.


2

Tại hội nghị Agile 2008, Andrew Clay Shafer và Patrick Debois đã thảo luận về "Cơ sở hạ tầng Agile". Đây là sự khởi đầu của phong trào DevOps.

Nhưng trong khi DevOps bắt nguồn từ Tuyên ngôn Agile, thì thực tế là nó không bắt buộc đối với các nhóm phát triển phải là Agile. Hầu hết các Nguyên tắc Agile thực sự quan trọng để tuân theo, nhưng không có Phương pháp Agile cụ thể nào được quy định và nếu nhóm phát triển có thể đưa ra cách làm việc của riêng họ, trong khi giữ nguyên tắc Agile ít nhiều, bạn có thể nhận ra lợi ích.


2

Không cần thiết; như các câu trả lời khác đã nêu, các phương pháp Agile và tâm lý DevOps có thể xây dựng lẫn nhau, nhưng đối với tôi, DevOps rộng hơn các nỗ lực phát triển nhanh hoặc nạc. Các công ty áp dụng DevOps xem xét toàn bộ dòng giá trị, bao gồm hoạt động, phát triển, thiết kế sản phẩm, tiếp thị, bảo mật, v.v ... phong trào có thể bắt nguồn từ bất kỳ silo nào với mục đích tháo dỡ các rào cản.


1

IMHO nó không cần .

Từ DevOps (nhấn mạnh của tôi):

DevOps (một hợp chất được cắt xén của "DEVelopment" và "OP TechnologyS") là một thuật ngữ dùng để chỉ một tập hợp nhấn mạnh sự hợp tác và giao tiếp của cả các nhà phát triển phần mềm và chuyên gia công nghệ thông tin (CNTT) trong khi tự động hóa quá trình phân phối phần mềm và thay đổi cơ sở hạ tầng. 1 [2] Nó nhằm mục đích thiết lập một nền văn hóa và môi trường nơi việc xây dựng, thử nghiệm và phát hành phần mềm có thể xảy ra nhanh chóng, thường xuyên và đáng tin cậy hơn.

Tôi nhấn mạnh can happenvì nó không phải là must happen.

Không có gì trong mô tả ở trên thực sự đòi hỏi một phương pháp phát triển nhanh.

Nhưng tôi nghi ngờ việc chuyển đổi sang DevOps thường kết hợp việc chèn các phương pháp nhanh trong quá trình phát triển vì chúng thực sự phù hợp với nhau.


1

Khái niệm về các devops đã phát sinh chính xác vì sự tăng sinh của nhanh nhẹn, vì vậy nó là phù hợp để sử dụng các cách tiếp cận devops một cách nhanh nhẹn. Ví dụ, với agile, tích hợp liên tục được sử dụng (là một phần của phương pháp devops), phối hợp các dịch vụ và container để thử nghiệm và tung ra các bản phát hành mới cho môi trường thử nghiệm và prod.

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.