Helpex - Trao đổi & giúp đỡ Đăng nhập

Chìa khóa để phát triển phần mềm theo cách xử lý kịp thời

Để thu thập thông tin chi tiết cho   Hướng dẫn Nghiên cứu Phát triển Phần mềm của DZone , dự kiến ​​phát hành vào tháng 7 năm 2016, chúng tôi đã nói chuyện với 18 giám đốc điều hành, từ 15 công ty, những người đã tạo phần mềm cho công ty cũng như khách hàng của họ.

Đây là người chúng tôi đã nói chuyện:

John Basso, CIO và Đồng sáng lập, Amadeus Consulting | John Purrier, CTO, Automic | Laszlo Szalvay, Giám đốc Kinh doanh và Đối tác, cPrime | Scott Rose, Giám đốc cấp cao quản lý sản phẩm và Miikka Andersson, Giám đốc sản phẩm, CollabNet | Jeanette Cajide, Phó Giám đốc Phát triển Doanh nghiệp và Samer Fallouh, Phó Giám đốc Kỹ thuật, Dialexa | Andreas Grabner, Nhà chiến lược công nghệ và Brett Hofer, Trưởng nhóm thực hành DevOps toàn cầu, Dynatrace | Anders Wallgren. CTO, Electric Cloud | Alexander Polykov, CTO, ERPScan | Baruch Sadogursky, Người ủng hộ nhà phát triển, JFrog | Rob Juncker, Phó Giám đốc Kỹ thuật, LANDESK| Mike Stowe, Giám đốc Quan hệ Nhà phát triển, MuleSoft | Zeev Avidan, Phó Giám đốc Quản lý Sản phẩm, OpenLegacy | Joan Wrabetz, CTO, Quali | Sushil Kumar, Giám đốc Tiếp thị, Robin Systems | Nikhil Kaul, Giám đốc Tiếp thị Sản phẩm, SmartBear 

Chúng tôi hỏi các giám đốc điều hành, "Chìa khóa để phát triển phần mềm một cách kịp thời là gì?"

Đây là những gì họ nói với chúng tôi:

  • Tập trung dành đủ thời gian cho việc khám phá và lập kế hoạch , xác định tiến trình và giao hàng đúng thời hạn.
  • Chúng tôi sử dụng phương pháp scrum với sprint cho nhóm phát triển của chúng tôi. Chúng tôi tập trung vào các vấn đề và vé được xác định rõ ràng. Sprint được xác định hai tuần một lần trong một phiên với một scrum master. Chúng tôi luôn xác định điều gì là quan trọng so với điều gì khẩn cấp để xác định vị trí đặt các nguồn lực của chúng tôi. Chúng tôi lấy khách hàng làm trung tâm nên nhu cầu của khách hàng luôn được đặt lên hàng đầu. Sprint dựa trên nhu cầu của khách hàng và các tính năng của sản phẩm - nhiều trong số đó là kết quả của nhu cầu của khách hàng.
  • Có văn hóa phân phối sử dụng Agile và các kết hợp khác nhau giữa Kanban và Scrum. Điều lớn nhất là có một nền văn hóa của mọi người hào hứng với việc đưa ra phần mềm chất lượng cao. Giá trị cốt lõi là lấy khách hàng làm trọng tâm và tham gia vào chu trình phát triển để tăng tốc phát triển và cung cấp phần mềm chất lượng cao, kịp thời.
  • Chúng tôi làm việc với các công ty doanh nghiệp chuyển đổi từ Waterfall sang Agile / DevOps. Học các phương pháp hay nhất. Làm mọi việc theo từng phần có thể quản lý được. Đang thi công với vận tốc lớn. Phát triển phần mềm theo cách kịp thời hơn với CI và CD. Không trình tự theo kiểu nối tiếp. Dòng trượt nhanh nhẹn thực hiện nhiều hoạt động song song với quy trình làm việc CI / CD. Một số tổ chức đã tích hợp đầy đủ thử nghiệm. Các gói phát hành thường xuyên được tổ chức và triển khai với quy trình làm việc liên tục. Minh bạch, khắc phục, giao hàng nhanh hơn với một sản phẩm chất lượng cao hơn. Gia số nhỏ, tự động hóa, lặp lại ngắn.
  • Ba điều: 1) Có quan điểm DevOps loại bỏ việc thiết lập thủ công khi cấu hình, giúp tiết kiệm rất nhiều thời gian. 2) Tự động hóa mọi thứ bao gồm thiết lập phòng thí nghiệm và loại bỏ nhiều công việc thủ công nhất có thể. Làm cho mọi thứ có thể tái tạo. 3) Thực hiện tự động hóa các quy trình (ví dụ Jenkins) để tự động hóa bước tiếp theo trong quy trình.
  • Hiểu những gì bạn đang xây dựng và các thành phần cần thiết để làm như vậy. Có thể thử nghiệm một cách nhanh chóng. Tạo các bản sao nhanh chóng và thực hiện các thay đổi. Bạn có thể lặp lại các tính năng, chức năng, thử nghiệm, CD, CI nhanh như thế nào? Bạn có thể vắt kiệt thời gian ở đâu trong quy trình? Hãy không ngừng làm như vậy.
  • Ưu tiên, nhân viên mua vào và cơ sở hạ tầng phát triển. Các hệ thống cũ có thể gặp sự cố khi nhà phát triển mua vào.
  • Ba điều: 1) Con người - văn hóa của tổ chức cần phải là một trong những học tập. Người mang tin xấu bị xử lý như thế nào? 2) Agile, DevOps và CD là những cách viết phần mềm tốt hơn dẫn đến kết quả tốt hơn cho các nhà phát triển và khách hàng. Ngày nay, mọi người đang thấy DevOps làm việc cho nhiều công ty hơn, vì vậy họ quan tâm hơn đến việc thử nó. 3) Công nghệ - tự động hóa tốt hơn và cung cấp khả năng hiển thị vào quy trình từ đầu đến cuối.
  • Thảo luận về cách tích hợp bảo mật khi bắt đầu quy trình phát triển và thêm khả năng quét bảo mật vào quy trình. Càng nhiều người tham gia càng tốt thì sản phẩm cuối cùng sẽ tốt hơn. Thời gian trả trước nhiều hơn dẫn đến các bản phát hành dễ đoán hơn.
  • Nó không liên quan đến các ngôn ngữ hoặc cách tiếp cận cụ thể mà nhiều hơn về xác định giá trị, khám phá, thiết lập các mục tiêu rõ ràng và sau đó đánh giá hiệu suất so với các mục tiêu đó. Có một quy trình để thiết lập dự án và có một khởi đầu tốt.Các công cụ tập trung vào một nhu cầu cụ thể. Chúng không phù hợp với học tập và kinh nghiệm bạn có hoặc phong cách phát triển. Có một sự thiếu hụt công cụ lớn để hỗ trợ lập kế hoạch trả trước. Các quy trình nhanh có thể dẫn đến lập kế hoạch không chính xác. Nếu bạn đang làm Agile một cách chính xác, bạn đang lập kế hoạch nhiều hơn so với khi bạn đang làm Waterfall. Chỉ vì bạn có thể chạy nước rút hai tuần không có nghĩa là đó là những gì dự án yêu cầu. Có rất nhiều công cụ sâu để lập kế hoạch quản lý dự án nhưng không phải là chiến lược. Chúng tôi có các công cụ để thực hiện các dự án đã xác định về thời gian và ngân sách dựa trên sự học hỏi của chúng tôi. Chúng tôi làm điều này rất nhanh chóng và áp dụng theo ngành dọc.
  • Được biên chế hợp lý. Giao tiếp trong toàn bộ nhóm vòng đời phát triển phần mềm. Làm việc thông minh hơn chứ không chăm chỉ hơn. Tự động hóa mọi thứ để loại bỏ các tác vụ thủ công. Giao hàng nhanh chóng. Nhất quán với công nghệ được chọn trên các bộ công cụ. Không sử dụng các khuôn khổ khác nhau trong cùng một ứng dụng. Quy trình Agile đã được chứng minh là tạo ra các ý tưởng khi làm việc với các thành phần nhỏ hơn và bắt đầu hoạt động.
  • Chúng tôi cung cấp sự tự tin trong quy trình CD / CI . Hầu hết các bản phát hành sản phẩm bị trì hoãn do những thay đổi vào phút chót - điều này đã đúng trong hai năm qua. Giờ đây, sự chậm trễ trong sản xuất được thực hiện với sự tin tưởng ngày càng cao vào quy trình. Sự tin tưởng vào mã được đưa vào sản xuất cũng được nâng cao. Những gì bên trong thùng chứa là những gì chúng tôi mong đợi bên trong - không có gì ngạc nhiên.
  • Biết những gì bạn thực sự cần phải viết. Làm việc trên sản phẩm khả thi tối thiểu. Bắt đầu nhỏ và lặp lại.
  • Tiến tới Nhanh nhẹn với Scrum hoặc Lập trình cực đoan. Thay đổi từ hàng trăm trang phát triển sản phẩm trở lên. Hôm nay chúng tôi đang thực hiện nước rút kéo dài hai tuần và thúc đẩy họ vào công ty. Có một quy trình để lặp lại nhanh chóng và nhận phản hồi về những gì bạn đang sản xuất.
  • Thời lượng ghi ngắn hơn. Bản phát hành nhanh hơn là cách chúng tôi kiếm tiền. Giảm vòng lặp phản hồi - xây dựng, đo lường và học hỏi. Tối đa hóa việc học thông qua đo lường. Con người + quy trình + công nghệ + công cụ tuyệt vời = phát triển thần tốc.
  • Giao tiếp là chìa khóa để phát triển phần mềm một cách kịp thời. Hệ sinh thái phần mềm đã chuyển từ hướng đối mặt với công ty sang đối mặt với người tiêu dùng. Giờ đây, hơn bao giờ hết, người tiêu dùng đang yêu cầu nhiều chương trình phần mềm của họ hơn, nhanh hơn. Các nhà phát triển cần cởi mở trong việc giao tiếp với người tiêu dùng và thu hút người tiêu dùng của họ trong toàn bộ vòng đời phát triển. Ngoài giao tiếp, có nhiều yếu tố quan trọng khác để phát triển phần mềm một cách kịp thời, bao gồm cập nhật công nghệ (khuôn khổ, thông số kỹ thuật mới, ngôn ngữ, v.v.), thực hiện các quy trình thích hợp (hiểu phương pháp Agile, cũng như các phương pháp khác và khi một nên được sử dụng thay thế khác), ghi lại và viết các bài kiểm tra đơn vị cho mã của chúng (để đảm bảo chất lượng thay vì bị mắc kẹt trong các chu kỳ QA vô tận), và xây dựng kiến ​​trúc để có thể mở rộng / linh hoạt (đòi hỏi nhiều thời gian hơn trước, nhưng tiết kiệm thời gian tái cấu trúc trên đường). Nhưng nếu không có sự giao tiếp chặt chẽ giữa các nhà phát triển, nhóm của họ và người tiêu dùng, các nhà phát triển và công ty của họ sẽ gặp khó khăn trong việc cung cấp phần mềm đáng tin cậy đáp ứng nhu cầu của người tiêu dùng.

Chìa khóa để phát triển phần mềm một cách kịp thời theo quan điểm của bạn là gì?


3 hữu ích 0 bình luận 6.4k xem chia sẻ

Có thể bạn quan tâm

loading