Làm tài liệu và tự động hoá các quy trình với Rational Method Composer và Jazz: Phần 1. Giá trị của các phương pháp trong thế giới phát triển phần mềm linh hoạt

Loạt bài này thảo luận về những đổi mới gần đây trong việc làm tài liệu hướng dẫn và thực thi các quy trình phát triển phần mềm. Trọng tâm là về tích hợp Rational Method Composer (Trình soạn phương pháp Rational) với các công cụ dựa trên Jazz. Bài đầu tiên trong loạt bài này bàn về tầm quan trọng của việc làm tài liệu về các phương pháp để thực thi và mở rộng quy mô phát triển phần mềm linh hoạt. Bài này cũng tóm tắt đề xuất có giá trị về một cách tiếp cận tích hợp - làm tài liệu về các phương pháp phát triển phần mềm bằng Rational Method Composer và tự động hoá thực thi các phương pháp đó bằng cách sử dụng Jazz. Các bài tiếp theo sẽ trình bày các kịch bản khác nhau để làm tài liệu và thực thi các phương pháp.

Bruce MacIsaac, Giám đốc Nội dung phương pháp RMC, IBM

Bruce MacIsaac chịu trách nhiệm về các thư viện phương pháp được đính kèm với Rational Method Composer (Trình soạn phương pháp Rational), gồm IBM Practices Library (Thư viện các cách thực hành của IBM) và Rational Unified Process (RUP - Quy trình thống nhất Rational). Ông đã có hơn 20 năm kinh nghiệm phát triển quy trình và phát triển phần mềm. Bruce đã là một động lực dẫn dắt đằng sau Rational Unified Process và Eclipse Process Framework (Khung công tác quy trình Eclipse) trong 10 năm qua. Ông là đồng tác giả của cuốn sách Agility and Discipline Made Easy: Practices from OpenUP and RUP (Tính linh hoạt và kỷ luật được thực hiện dễ dàng: Các cách thực hành từ OpenUP và RUP). Hiện nay ông tập trung vào cung cấp các giải pháp đồng bộ cho các lĩnh vực như phát triển linh hoạt, kỹ nghệ các hệ thống và hiện đại hoá doanh nghiệp và cho phép các cách thực hành như vậy được tự động hóa trên nền tảng Jazz.



29 10 2012

Giới thiệu

Một phương pháp là cách thức mà một nhóm làm việc tiến hành để hoàn thành các mục tiêu của mình. Nó mô tả cách xác định và phân công các trách nhiệm, những kỹ thuật nào sẽ được áp dụng và cách làm thế nào để xác định và đạt được các tiêu chí thành công.

Xưa kia, các phương pháp phát triển phần mềm là các tài liệu cố định, chứa trong các bìa hồ sơ bụi bặm -- người ta bắt buộc phải thực hiện chúng, nhưng không thấu hiểu và vận dụng chúng rất kém. Các nhóm làm việc đã chỉ áp dụng ở mức tối thiểu để vẫn nằm trong phạm vi kiểm soát của cảnh sát quy trình. Năm tháng trôi nhanh và cuộc cách mạng linh hoạt đã lật đổ cảnh sát quy trình. Tự do ngự trị. Ôi! Tất cả đều hướng về yên bình, tình yêu và sự cộng tác.

Tuy nhiên, tính linh hoạt không có nghĩa là tình trạng hỗn loạn. Để áp dụng được các phương pháp phát triển phần mềm linh hoạt cần phải có kỷ luật. Có những nguyên tắc, chẳng hạn như những nguyên tắc đã nêu trong Bản tuyên ngôn về Linh hoạt (Agile Manifesto). Có nhiều kỹ thuật thay thế để lựa chọn, chẳng hạn như backlog grooming (N.D: sắp xếp công việc tồn đọng), planning poker (ND: một kỹ thuật dựa trên sự đồng thuận để ước tính) và phát triển thử nghiệm trước. Và đối với nhiều tổ chức, các phương pháp phát triển phần mềm linh hoạt vẫn chưa đủ. Khi độ phức tạp về tổ chức và kỹ thuật tăng lên, cần xem xét thêm nhiều nhân tố mở rộng quy mô hơn và cần điều chỉnh các quy trình cho phù hợp.

Khi các phương pháp trở nên phức tạp hơn, tài liệu hướng dẫn càng trở nên quan trọng và việc tự động hoá các phương pháp trở nên có giá trị hơn. Bài này xem xét giá trị của việc làm tài liệu và tự động hoá các phương pháp bằng cách sử dụng IBM® Rational® Method Composer các công cụ thực thi dựa trên công nghệ của Jazz™.


Tại sao các phương pháp lại quan trọng

Mỗi cá nhân và mỗi nhóm làm theo một phương pháp nào đó. Một số là ứng tác tại chỗ, được nghĩ ra khi phát sinh nhu cầu, trong khi một số khác là chính thức, cứng nhắc và buộc phải tuân theo. Một số phương pháp được cung cấp tài liệu với các vai trò cụ thể, các sản phẩm làm việc, các nhiệm vụ, các khuôn mẫu, các danh sách kiểm tra và hướng dẫn công việc. Các phương pháp khác không được cung cấp tài liệu, vì vậy các nhà phát triển dựa vào những hiểu biết chia sẻ chung giữa các thành viên trong nhóm và kiến thức của những người có thể đến gặp để hỏi thêm thông tin. Hầu hết các tổ chức đang ở đâu đó giữa các thái cực này vì hai lý do:

  • Các phương pháp cứng nhắc ngăn cản không cho thực hiện các thay đổi khi phát sinh nhu cầu, nhưng các phương pháp ứng tác tại chỗ dẫn đến sự hỗn loạn.
  • Các phương pháp có rất nhiều tài liệu có thể khó tạo ra và khó duy trì, trong khi các phương pháp không có tài liệu lại hạn chế việc trao đổi thông tin và chia sẻ các cách thực hành tốt nhất.

Các phương pháp rất quan trọng vì chúng xác định các nhóm làm việc cùng nhau tốt đến mức nào. Các phương pháp xác định xem các kỹ thuật được áp dụng trong một dự án có hiệu quả không và thậm chí chúng có thể định nghĩa tiêu chí cho những gì chúng ta nói là thành công. Câu hỏi không phải là liệu có một phương pháp hay không, mà là làm thế nào để bảo đảm phương pháp của bạn có hiệu quả.


Các lý do để làm tài liệu về một phương pháp

Các phương pháp ứng tác tại chỗ, không có tài liệu là rất hấp dẫn vì không cần đầu tư trước và vô cùng linh hoạt, bởi vì bạn nghĩ ra chúng khi bạn đang làm. Tuy nhiên, nó trở nên khó điều chỉnh quy mô. Dưới đây là một số các yếu tố thay đổi quy mô đã có kèm theo với Rational Method Composer, được lấy ra từ quy trình Disciplined Agile Delivery (Phân phối phần mềm linh hoạt có kỷ luật) (ngoài ra hãy xem các trích dẫn trong phần Tài nguyên):

Kích cỡ nhóm
Các quy trình linh hoạt chủ đạo làm việc tốt với các nhóm nhỏ (10-15), nhưng điều gì sẽ xảy ra nếu nhóm có 50 người? Một trăm người? Một nghìn người?
 
Các yêu cầu tuân thủ
Điều gì sẽ xảy ra nếu các vấn đề quy chuẩn được áp dụng, chẳng hạn như Sarbanes Oxley, ISO 9000 hay FDA CFR 21?
 
Phân tán về địa lý
Điều gì sẽ xảy ra nếu nhóm được phân bố trong một tòa nhà hoặc khắp nơi trên thế giới?
 
Tính phức tạp của lĩnh vực
Điều gì sẽ xảy ra nếu lĩnh vực vấn đề là phức tạp (chẳng hạn như theo dõi quy trình sinh hóa hoặc kiểm soát không lưu) hoặc đang thay đổi nhanh chóng (chẳng hạn như giao dịch tài chính phái sinh, bảo đảm an ninh điện tử)?
 
Phân tán về tổ chức
Đôi khi một nhóm dự án gồm các thành viên từ các đơn vị khác nhau, các công ty đối tác khác nhau hoặc từ các cơ quan bên ngoài.
 
Phức tạp về kỹ thuật
Làm việc với các hệ thống di sản, nhiều nền tảng hoặc pha trộn các công nghệ khác nhau có thể làm tăng thêm tính phức tạp kỹ thuật.
 
Phức tạp về tổ chức
Cấu trúc và văn hóa của tổ chức có thể phản ánh các giá trị truyền thống, do đó làm tăng tính phức tạp của việc chọn dùng và mở rộng các chiến lược linh hoạt. Các nhóm con khác nhau trong tổ chức có thể có các tầm nhìn khác nhau về cách họ nên làm việc như thế nào.
 
Kỷ luật của doanh nghiệp
Các tổ chức muốn tận dụng các nền tảng cơ sở hạ tầng phổ biến với chi phí thấp hơn, giảm thời gian đưa ra thị trường và cải thiện tính nhất quán. Họ cần kiến trúc doanh nghiệp hiệu quả, mô hình hóa hoạt động doanh nghiệp, sử dụng lại chiến lược và các kỷ luật quản lý danh mục đầu tư. Các kỷ luật này phải làm việc hòa hợp với -- hay tốt hơn là tăng cường thêm -- các quy trình phát triển phần mềm.
 
Hình 1. Các nhân tố mở rộng quy mô phân phối phần mềm linh hoạt có kỷ luật
Sơ đồ các nhân tố mở rộng quy mô và các phâm vị từ thấp đến cao

Khi độ phức tạp của dự án và tổ chức tăng lên, việc làm tài liệu về các phương pháp đó càng trở nên quan trọng. Các phương pháp làm tài liệu cho phép một tổ chức:

  • Xác định các trách nhiệm rõ ràng và các dãy sự kiện quan trọng
    Khi các nhóm rất phân tán, một điều rất quan trọng là thông tin luôn có sẵn mọi lúc và mọi nơi dưới dạng tài liệu hướng dẫn nào đó. Không có thời gian để chờ đợi giải thích và chúng ta không thể cho phép mình nhầm lẫn về những gì cần được thực hiện, bởi ai và khi nào.
  • Nắm bắt và thúc đẩy các cách thực hành tốt nhất của tổ chức
    Để có tính cạnh tranh, các tổ chức phải sử dụng các cách thực hành tốt nhất theo chuẩn ngành và học hỏi từ những sai lầm và những thành công của họ.
  • Đường cơ sở và đo lường ảnh hưởng của các thay đổi
    Nếu bạn không thiết lập một phương pháp đường cơ sở, bạn cải thiện cái gì? Tài liệu hướng dẫn giúp bạn thực hiện các nguyên tắc linh hoạt về cải tiến liên tục dựa trên các xem xét lại những việc đã làm.
  • Tập trung vào việc tuân thủ chuẩn và kiểm định
    Ví dụ CMMi, DO-178B, ITIL, COBIT, SOX. Việc tuân thủ chuẩn có thể là một thách thức. Làm tài liệu về các phương pháp thường cần thiết để đạt được sự tuân thủ và như là bằng chứng để chứng tỏ sự tuân thủ chuẩn.
  • Nhanh chóng bắt đầu các dự án bằng một phương pháp phù hợp với các đặc điểm của dự án

Dần dần, câu hỏi không phải là liệu có cần một phương pháp có tài liệu đầy đủ hay không, mà là làm tài liệu về cái gì và như thế nào.


Các lợi ích của việc sử dụng một công cụ sáng tác phương pháp

Công cụ sáng tác phương pháp phổ biến nhất là các trình xử lý văn bản và các wiki. Chúng cung cấp một số lợi thế đáng kể, vì đòi hỏi ít hoặc không đòi hỏi phải huấn luyện sử dụng và có ít ràng buộc về cách tổ chức và cung cấp thông tin.

Điểm bất lợi là ở chỗ thông tin không có cấu trúc như vậy giống như một cuốn sách. Cách duy nhất để sử dụng là phải đọc nó. Một công cụ sáng tác phương pháp cung cấp một cơ sở dữ liệu về các phương pháp. Một cơ sở dữ liệu cung cấp những lợi thế sau:

Khả năng cấu hình và tùy chỉnh
Bạn có thể tạo mới hoặc làm cho các phương pháp thích ứng từ các mảnh và các bộ phận của các phương pháp khác. Bạn có thể thay đổi quy mô các phương pháp cho phù hợp với các dự án nhỏ và lớn. Tùy chỉnh có thể là cộng tác, ở đây các thành viên trong nhóm nhận xét về phương pháp đó và cùng nhau thực hiện các thay đổi và bổ sung.
 
Các trình hướng dẫn của trình xây dựng quy trình
Bạn có thể tạo các trình hướng dẫn để đặt các câu hỏi và làm cho phương pháp đó thích ứng dựa trên các câu trả lời của bạn.
 
Tính nhất quán và tính đầy đủ
Một công cụ sáng tác phương pháp nhận biết quy trình bảo đảm rằng thông tin là nhất quán và đầy đủ. Các giao diện kiểu điền vào biểu mẫu làm cho việc cung cấp thông tin chính xác dễ dàng hơn. Thông tin (chẳng hạn như tham khảo chéo giữa các phần tử liên quan) có thể được tạo ra, vì thế bảo đảm tính nhất quán.
 
Tự động hóa
Có thể sử dụng thông tin về phương pháp để cấu hình các công cụ giúp tự động hoá quy trình. Tự động hóa bao gồm việc tạo các kế hoạch dự án ban đầu hoặc các danh sách mục công việc, hướng dẫn quy trình đặc thù theo bối cảnh trong tầm tay của bạn, cấu hình công cụ tự động. Nhiều thứ nữa có thể có trong tương lai.
 
Các truy vấn, các ứng dụng hỗn hợp và các báo cáo
Các cơ sở dữ liệu phương pháp có thể hỗ trợ các nguồn cấp tin RSS và các công nghệ ứng dụng hỗn hợp khác để tăng tính dễ dùng và giá trị của thông tin về phương pháp. Các truy vấn và các báo cáo có thể được sử dụng để xem thông tin phương pháp theo các cách khác nhau, bao gồm dưới dạng bảng, dưới dạng tóm tắt, dưới dạng các thẻ hoặc trong các portlet. Bạn có thể móc nối vào các nguồn thông tin khác nhau, chẳng hạn như trợ giúp trực tuyến, các cộng đồng và cơ sở dữ liệu các công cụ.
 

Câu hỏi đặt ra không còn là "Chúng ta có nên sử dụng một công cụ sáng tác phương pháp hay không" mà là "Chúng ta nên cấu trúc thông tin phương pháp của mình như thế nào để chúng ta có thể tối ưu hóa cách sử dụng phương pháp của mình?"


Giá trị của Rational Method Composer

Rational Method Composer gồm các tính năng và các khả năng sau:

  • Một thư viện lớn về các cách thực hành, gồm một tập hợp phong phú về các cách thực hành linh hoạt được tích hợp với hoạt động nghiệp vụ thực tế và các kiểm soát kỹ thuật.
  • Các tính năng tích hợp công cụ, ví dụ như:
    • Cấu hình tự động các công cụ cho phù hợp với quy trình có tài liệu hướng dẫn.
    • Tạo ra các kế hoạch và các khuôn mẫu mục công việc từ các định nghĩa quy trình.
    • Hướng dẫn quy trình "trong tầm tay của bạn" khi bạn thực hiện công việc của mình.
  • Các giải pháp công cụ và quy trình kết hợp cho các kiểu phát triển khác nhau trong các ngành khác nhau, chẳng hạn như:
    • Quản lý vòng đời cộng tác cho IT agility@scale™ (xem phần Tài nguyên).
    • Các hệ thống và kỹ nghệ phần mềm.
    • Ngành công nghiệp Ô tô.
    • Ngành hàng không vũ trụ.
  • Các tính năng tùy chỉnh:
    • Skins (các hiển thị tùy chọn) để tùy chỉnh cách trình bày thông tin.
    • Tùy chọn để xác định các kiểu phần tử, các quy tắc và các mối quan hệ của phương pháp riêng của bạn.
    • Thay đổi đơn giản các phương pháp hiện có cho phù hợp với một dự án hoặc tổ chức.
  • Một loạt các tính năng về chỉnh sửa văn bản phong phú, các sơ đồ, các cấu trúc phân chia, làm cho thích ứng, tạo báo cáo và các truy vấn.
  • Hướng dẫn và các số liệu đo để đo hiệu năng dự án và thực hiện các cải tiến.
  • Hỗ trợ các tài sản, chẳng hạn như "tự kiểm tra" và "cải tiến có đo lường" để cải thiện hiệu năng của các nhóm và các tổ chức.

Như Hình 2 minh họa, Rational Method Composer gồm có một công cụ để làm tài liệu hướng dẫn về các quy trình và một thư viện về các cách thực hành có thể sử dụng lại. Các quy trình có tài liệu hướng dẫn được thực thi bằng các công cụ phát triển. Một cách tiếp cận cải tiến có đo lường cho phép bạn cải thiện quy trình này.

Hình 2. Làm tài liệu, thực thi, đo lường và cải tiến
Các sơ đồ thành phần và luồng công việc

Kết luận

Các phương pháp rất quan trọng cho tổ chức của bạn vì chúng xác định cách tổ chức của bạn hoạt động. Hãy làm tài liệu về các phương pháp ấy để trao đổi thông tin và cải thiện các hoạt động đó.

Với Rational Method Composer, bạn có thể tạo các phương pháp nhất quán, tùy chỉnh được, do đó tận dụng lợi thế của một thư viện phong phú về các cách thực hành phát triển phần mềm linh hoạt và linh hoạt có mở rộng quy mô. Các tích hợp của Rational Method Composer với các công cụ dựa trên Jazz cho phép các nhóm làm việc ngày càng hiệu quả hơn. Việc hỗ trợ các tài sản, chẳng hạn như tự kiểm tra, cải tiến có đo lường và các giải pháp đặc thù cho ngành công nghiệp, có thể giúp bạn triển khai có hiệu quả các cải tiến về tổ chức nhằm cung cấp giá trị thực trong hoạt động kinh doanh.

Các bài tiếp theo trong loạt bài này khám phá các kịch bản về làm tài liệu và tự động hoá các quy trình, bằng cách sử dụng các tính năng được giới thiệu ở đây.

Tài nguyên

Học tập

Lấy sản phẩm và công nghệ

Thảo luận

Bình luận

developerWorks: Đăng nhập

Các trường được đánh dấu hoa thị là bắt buộc (*).


Bạn cần một ID của IBM?
Bạn quên định danh?


Bạn quên mật khẩu?
Đổi mật khẩu

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Ở lần bạn đăng nhập đầu tiên vào trang developerWorks, một hồ sơ cá nhân của bạn được tạo ra. Thông tin trong bản hồ sơ này (tên bạn, nước/vùng lãnh thổ, và tên cơ quan) sẽ được trưng ra cho mọi người và sẽ đi cùng các nội dung mà bạn đăng, trừ khi bạn chọn việc ẩn tên cơ quan của bạn. Bạn có thể cập nhật tài khoản trên trang IBM bất cứ khi nào.

Thông tin gửi đi được đảm bảo an toàn.

Chọn tên hiển thị của bạn



Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Các trường được đánh dấu hoa thị là bắt buộc (*).

(Tên hiển thị cần có từ 3 đến 30 ký tự)

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Thông tin gửi đi được đảm bảo an toàn.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=Rational
ArticleID=843138
ArticleTitle=Làm tài liệu và tự động hoá các quy trình với Rational Method Composer và Jazz: Phần 1. Giá trị của các phương pháp trong thế giới phát triển phần mềm linh hoạt
publish-date=10292012