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ó nhiều phương pháp luận để phát triển các dự án, có những phương pháp nhanh nhẹn, truyền thống, hỗn hợp, v.v., v.v. Một điểm chung của họ là chuẩn bị. Ý tôi là gì? 80% thành công của bạn trong dự án phần mềm này sẽ dựa trên 20% đầu tiên của toàn bộ quy trình, sự chuẩn bị. 

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

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

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

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

Đây là điều mà tôi đã học được từ thời gian sử dụng GNU / Linux, và điều đó chứng tỏ hết lần này đến lần khác là chìa khóa trong quá trình tạo phần mềm. Công suất của trừu tượng vấn đề để chuyển đổi chúng thành những thứ "đơn giản" hơn là rất quan trọng để tạo mã thanh lịch và trên hết lâu dài. Và có lẽ đây là một trong những điểm khác biệt chính so với các dự án chuyên nghiệp lớn và các dự án phát triển ngoài tầm kiểm soát. Người trước đây nghĩ, hiểu và cấu trúc quá trình trong khi giây họ giữ làm việc mà không cần phải hiểu 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 tôi trừu tượng tập hợp các quy trình theo loại, ví dụ, việc xác định một luồng nhân cho chúng ta biết rằng có những tác vụ cụ thể bên trong nó liên quan trực tiếp đến quá trình cài đặt thành công một nhân.

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" trở thành một bước "đơn giản" theo cách toàn cục, mà không làm mất các chi tiết cần thiết. Điều này tạo điều kiện thuận lợi cho khả năng hiển thị của lắp ráp mà không làm giảm mức thông số kỹ thuật cần thiết để hoàn thành quá trình thành công. Và chúng ta không thể phủ nhận rằng xem hình ảnh còn dễ hơn đọc cả cuốn Sổ tay cùng một lúc 🙂

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

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 dễ dàng hơn, bởi vì chúng tôi tập trung nỗ lực của mình 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 đúng, phần còn lại sẽ tự chịu. Tôi hy vọng nó sẽ giúp ích cho sự tò mò của bạn và thúc đẩy bạn nghiên cứu về BPM, thuật toán và ai biết được, có thể nó sẽ khuyến khích bạn giúp tôi với luận án của tôi 😛 Cảm ơn bạn rất nhiều vì đã đến đây và chúng ta sẽ gặp nhau sớm. Chúc mừng


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   alexander mayorga munoz dijo

    Chào. Cảm ơn vì đã chia sẻ kiến ​​thức của bạn. Đối với tôi, nó có vẻ là một môn học thú vị nhưng nó đòi hỏi rất nhiều công việc nghiên cứu và thực hành các khái niệm để có thể nội dung hóa chúng. Lúc đầu, vấn đề này rất khó hiểu vì người ta có xu hướng liên kết nó nhiều hơn với khía cạnh xác định các yêu cầu đối với một hệ thống chứ không nhất thiết phải với các quy trình kinh doanh của công ty, tức là cách thức hoạt động của công ty. Cuối cùng, tôi nghĩ đó là vai trò của các nhà phát triển phần mềm trong việc định hình hoạt động kinh doanh của công ty, nhằm làm cho hoạt động của doanh nghiệp hiệu quả và hiệu quả hơn.

    1.    ChrisADR dijo

      Xin chào Alexander, cảm ơn bạn rất nhiều vì đã chia sẻ. Thành thật mà nói, việc cố gắng tóm tắt mọi thứ trong một không gian nhỏ như vậy là một chủ đề hơi phức tạp, nhưng nếu tôi có thể đóng góp một chút để tránh nhầm lẫn với nhận xét của bạn 🙂 đúng là các hệ thống nên cố gắng giải quyết các yêu cầu, điều đó là chức năng cơ bản có thể có nhất và tại thời điểm đó, đúng là nhà phát triển nên tập trung vào cấp cao hơn.
      Kiến thức về các quy trình cho phép các nhà phát triển trình bày nhiều hệ thống hơn, đủ hiểu như một thứ đáp ứng các yêu cầu tối thiểu có thể.
      Sự sang trọng của mã nằm ở chỗ có thể hiểu quy trình hoàn chỉnh và tạo ra nó theo cách sâu hơn, nơi giải pháp tốt nhất có thể được áp dụng và điều này chỉ có thể thực hiện được bằng cách thực sự hiểu quy trình thay vì yêu cầu, như bạn đã đề cập. 🙂
      Nếu chúng ta mô hình hóa nó một chút xung quanh phần mềm nguồn mở, nó không chỉ ngụ ý biết yêu cầu phần mềm mà còn là triết lý đằng sau nó, và biết nó sẽ được duy trì như thế nào, bởi ai và tất cả những kiến ​​thức về quy trình không chỉ tạo ra một giải pháp hiệu quả ., nhưng nó sẽ có thể duy trì theo thời gian 🙂
      Cảm ơn bạn rất nhiều một lần nữa và lời chào.