80/20 cũng ảnh hưởng đến việc lập lịch

Tất cả chúng ta đều đã nghe về quy tắc 80/20, quy tắc nói rằng 80% thành công (hiệu quả) chỉ đến từ 20% hành động (nguyên nhân) của chúng ta. Chà, sự thật phổ biến này cũng ảnh hưởng đến việc phát triển phần mềm, và trong bài viết này, chúng ta sẽ giới thiệu một chút về các nguyên tắc cơ bản của tuyên bố này.

BPM

Quản lý quy trình kinh doanh, viết tắt của nó trong tiếng Anh, là một ngành quản lý (trong số những thứ khác) cho phép bạn hiểu trực quan các quy trình phải được thực hiện trong một doanh nghiệp (hoặc ở nhiều nơi khác). Trong số những phẩm chất chính của nó là thực tế là nó có thể phân tích các quy trình phức tạp và làm cho chúng trở nên "đơn giản".

Có rất nhiều công cụ mã nguồn mở cho phép bạn phát triển sơ đồ BPM, công cụ mà tôi đã sử dụng cho bài viết này là BonitaSoft. Nếu bạn muốn tìm hiểu thêm một chút về quản lý quy trình, có rất nhiều hướng dẫn trên internet và sách về chủ đề này. Bây giờ chúng ta hãy quay lại chủ đề trọng tâm.

Dự án phần mềm

Ngày nay, có rất nhiều phương pháp luận để phát triển dự án: linh hoạt (agile), truyền thống, lai (hybrid), v.v. Điểm chung của tất cả các phương pháp này là khâu chuẩn bị . Ý tôi là gì? Đó là 80% thành công của dự án phần mềm này sẽ phụ thuộc vào 20% đầu tiên của toàn bộ quy trình: khâu chuẩn bị.

Chuẩn bị một dự án

Đây là một điểm logic nhưng hiếm khi được áp dụng trong thực tế (giống như nhiều điều logic khác nhưng lại phi logic trong thực tiễn). Khi nói về sự chuẩn bị, chúng ta phải hiểu khả năng nắm bắt vấn đề, hiểu giải pháp, và trên hết là quy trình mà giải pháp đó sử dụng. Một trong những điều ít gặp nhất trong các dự án phần mềm thiếu chuyên nghiệp là thiếu tài liệu về chủ đề này. Điều này thường xảy ra ở các công ty tư nhân, vì mong muốn bán hàng thường lấn át quá trình phát triển.

Vì nhiều người đọc những bài viết này làm việc trong lĩnh vực công nghệ hoặc có liên quan đến lĩnh vực này, nên cần phải đề cập rằng nếu trong suốt sự nghiệp của họ, họ gặp phải một công ty/nhà cung cấp không đáp ứng được tiêu chuẩn chuẩn bị tốt, thì gần như chắc chắn 80% dự án sẽ không thành công.

Trừu tượng là chìa khóa

Đây là điều tôi học được trong thời gian sử dụng GNU/Linux, và nó đã được chứng minh hết lần này đến lần khác là chìa khóa trong quá trình phát triển phần mềm. Khả năng trừu tượng hóa vấn đề và biến chúng thành những thứ đơn giản hơn là rất quan trọng để tạo ra mã nguồn thanh lịch và trên hết là bền vững . Và có lẽ đây là một trong những điểm khác biệt chính giữa các dự án chuyên nghiệp quy mô lớn và các dự án phát triển không kiểm soát. Các dự án quy mô lớn suy nghĩ thấu đáo, hiểu rõ và cấu trúc quy trình, trong khi các dự án phát triển không kiểm soát chỉ đơn giản là duy trì hoạt động mà không cần hiểu rõ nó.

Máy nhắn tin

Đây là tên của dự án mà trình cài đặt Gentoo phát triển, như bạn có thể tưởng tượng, đây là một quá trình khá phức tạp, vì nó hỗ trợ một số lượng lớn các kiến ​​trúc. Một yếu tố khác cần tính đến là số lượng cấu hình mà nó hỗ trợ, ở cấp hạt nhân, hệ thống init, v.v. Và tôi nói với bạn tất cả điều này vì nó cũng là đồ án luận văn của tôi, mà tôi phải hoàn thành trước khi học xong. Rõ ràng là tôi không thể tạo ra một chương trình có thể suy tính hoàn toàn tất cả các tùy chọn có thể có trong thời gian ngắn như vậy (cho đến tháng XNUMX năm sau), nhưng ít nhất tôi có thể tạo ra một chương trình cho phép cài đặt một hệ thống chức năng theo cách rất cơ bản.

Hiểu quá trình cài đặt

Nhờ các công cụ BPM, một sơ đồ quy trình có thể được tạo ra cho phép chúng tôi hiểu các bước cần thiết để cài đặt thành công Gentoo trên máy tính.

Quá trình cài đặt Gentoo

Sở hữu. Christopher Diaz Riveros

Mặc dù có chứa một số quy trình và quy trình con, nhưng rõ ràng nó đã được tóm tắt khá rõ ràng và có thể thấy rằng chúng ta có 18 bước tuyến tính. Điều này rất quan trọng bởi vì một ứng dụng có cấu trúc tuyến tính rất dễ triển khai và đồng thời tính song song có thể được tạo ra trong một hoặc nhiều luồng nếu cần.

Một yếu tố quan trọng khác là nó cho phép chúng ta trừu tượng hóa các tập hợp quy trình theo loại; ví dụ, việc định nghĩa một tiến trình con của nhân cho phép chúng ta biết rằng có những tác vụ cụ thể bên trong nó có liên quan trực tiếp đến quá trình cài đặt nhân thành công.

Quy trình phụ "nhân"

Sở hữu. Christopher Diaz Riveros

Bằng cách này, mỗi bước "phức tạp" sẽ trở thành bước "đơn giản" theo cách tổng thể mà không làm mất đi các chi tiết cần thiết. Điều này tạo điều kiện thuận lợi cho việc hiển thị tổ hợp mà không làm giảm mức độ đặc tả cần thiết để hoàn tất quy trình một cách thành công. Và chúng ta không thể phủ nhận rằng nhìn hình sẽ dễ hơn là đọc ngay toàn bộ Sổ tay 

Tiết kiệm thời gian

Một lợi thế rõ ràng khác là do không có ngôn ngữ lập trình được kết nối trực tiếp, nên có thể thực hiện phân tích logic mà không nhất thiết phải lãng phí thời gian triển khai ngôn ngữ. Đây là một lợi thế so với lượng thời gian có thể dành cho việc triển khai một tính năng chỉ để tìm ra rằng nó sẽ bị loại bỏ vì có một giải pháp hiệu quả hơn. Giống như những giải pháp trong mã giả (một thứ cũng bị nhiều "nhà phát triển" bỏ qua nhưng không nên như vậy).

Chỉ đạo các dự án dễ dàng

Khi tính đến những khái niệm này, việc quản lý dự án (dưới bất kỳ hình thức nào) trở nên đơn giản hơn vì chúng tôi tập trung nỗ lực vào những nơi thực sự cần thiết và nếu phần này được thực hiện chính xác thì phần còn lại sẽ có trọng lượng riêng. Tôi hy vọng nó giúp ích cho sự tò mò của bạn và thúc đẩy bạn nghiên cứu BPM, thuật toán và ai biết được, có thể nó sẽ khuyến khích bạn giúp tôi thực hiện luận án của mình  Cảm ơn bạn rất nhiều vì đã đi xa đến mức này và chúng tôi sẽ sớm gặp lại bạn. Lời chào


Thêm vào danh sách nguồn ưu tiên trên Google.