Monday, August 15, 2005

Vietrose

Hôm dự offline và đọc các bài viết trên Vietrose, nhận xét một vài điều:
  • Nhiều người dùng các CASE tool quá, chắc mình theo không nổi (mà theo để làm gì kia chứ :D)
  • Mọi người đều không xem trọng code
  • Mọi người đều nghĩ rằng cần document
  • Mọi người đều nghĩ rằng RUP cần được customize cho công ty nhỏ
  • Mọi người cho rằng các CASE tool dễ đảm nhận phần code (chị Nguyệt còn dẫn ra rằng trong tương lai, thời gian dành cho code chỉ còn 5%, thời gian cho design sẽ tăng đáng kể :D)
  • Mọi người cho rằng UML 2, Rose tool sẽ generate code

Không hiểu rõ cho lắm, vì sao mọi người cho là như vậy? Document cần thiết, nhưng theo tôi chỉ cần
  • Requirement spec (nên là fresh requirement)
  • User manuals/User Guides/Installation Guides
Như vậy là quá đủ rồi, các document cho analyze/design ... gần như không cần thiết cho lắm và dùng chủ yếu nội bộ trong nhóm phát triển
  • Use case diagram (nếu cần thiết mô tả sơ lược)
  • User stories
  • Acceptance test
  • UML design diagram giải thích những nghiệp vụ phức tạp như object diagram, sequence diagram, class diagram (càng đơn giản càng tốt)
  • Metaphors
  • Code is a design
  • Unit test is document
  • Mã nguồn format tốt/tuân thủ coding standard và biểu cảm
Theo tôi, chất lượng của sản phẩm phải là chất lượng code. Làm sao để bảo đảm chất lượng code ? Nói code có chất lượng khi chỉ khi code đó phải có thể TEST được. Như vậy nhân vật trung tâm là developer. Họ cần "sự quan tâm đặc biệt".

Mọi người cho rằng Design tốn nhiều công sức hơn. Tôi chưa bao giờ tin chuyện này. Tôi chưa đọc được bất kỳ tài liệu nào hoặc thấy một tài liệu design nào chỉ cách cài đặt một bản design cả :D. Đã có đọc việc ánh xạ từ kết quả analyze => design nhưng vô cùng nghi ngờ về tính "có thể cài đặt được" của nó. Trong đa số các trường hợp tôi gặp, mã nguồn không giống tí ti gì bản design cả.

Thế nào là design tốt. Tôi chắc chắn rằng đưa 1 project cho 3 người thì 3 người sẽ cho ra 3 bản design khác nhau và họ sẽ tranh cãi về việc cái nào tốt hơn cái nào. Thế nào là "tốt", quan điểm là một bản design tốt phải là một bản design TEST được

Mọi người nghĩ rằng customize RUP cho hợp với qui mô nhỏ, sao mọi người không nghĩ mình chọn một process được thiết kế cho qui mô nhỏ nhỉ :)

Chỉ là vài nhận xét và phản biện

No comments: