Tải bản đầy đủ (.doc) (18 trang)

ỨNG DỤNG TRIZ VÀO MÔ HÌNH SCRUM TRONG PHÁT TRIỂN DỰ ÁN CÔNG NGHỆ THÔNG TIN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (218.06 KB, 18 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
________________
CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTT
KHÔNG TẬP TRUNG KẾT HỢP MẠNG TH-VT
BÀI THU HOẠCH
CHUYÊN ĐỀ PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC
TÊN ĐỀ TÀI
ỨNG DỤNG TRIZ VÀO MÔ HÌNH SCRUM
TRONG PHÁT TRIỂN DỰ ÁN CÔNG NGHỆ
THÔNG TIN
GIẢNG VIÊN: GS.TSKH. HOÀNG KIẾM
HỌC VIÊN: NGUYỄN VĂN SANG
MÃ HV: CH1101128
KHÓA: 6
Tp. Hồ Chí Minh – 04/2012
Nguyễn Văn Sang, Ứng dụng TRIZ vào mô hình Scrum trong phát triển dự án CNTT Trang 1
LỜI NÓI ĐẦU
Trong lĩnh vực phát triển phần mềm, làm thế nào để một dự án có thể phát
triển tốt đảm bảo yêu cầu chất lượng, kịp thời thích ứng với những thay đổi phức
tạp và chuyển giao sản phẩm đúng hạn điều đó luôn là những thách thức đối với
những nhà quản lý.
Với những mô hình quản lý dự án truyền thống thường gồm nhiều giai đoạn
khá phức tạp với thời gian hoàn thành thường vài tháng đến vài năm. Liệu có một
phương pháp nào để một sản phẩm phần mềm luôn được cập nhật và giao cho
khách hàng với chất lượng tốt và thời gian nhanh nhất. Bài luận này đề cập tới
một mô hình phát triển sản phẩm năng động và hiệu quả, một phương thức mới
và đang đang được áp dụng trong các lĩnh vực phát triển sản phẩm hiện nay đó là
mô hình Scrum cùng với việc trình bày một số nguyên lý sáng tạo (TRIZ) được
áp dụng vào nó như thế nào.
Nhân đây em cũng xin gửi lời cảm ơn chân thành đến GS.TSKH. Hoàng


Kiếm người đã tận tình giảng dạy và truyền đạt những kiến thức từ cơ bản đến
chuyên sâu về các lĩnh vực công nghệ thông tin nói chung và bộ môn phương
pháp nghiên cứu khoa học trong tin học nói riêng để giúp cho bài luận này hoàn
thành tốt.
Mặc dù đã rất nỗ lực, cố gắng nhưng chắc chắn sẽ có những thiếu sót và bổ
sung thêm. Rất mong sự đón nhận và góp ý của thầy và bạn bè.
Tp.HCM, tháng 4 năm 2012
Lớp cao học khoá 6
Học viên thực hiện:
Nguyễn Văn Sang
MỤC LỤC
Nguyễn Văn Sang, Ứng dụng TRIZ vào mô hình Scrum trong phát triển dự án CNTT Trang 2
TÊN ĐỀ TÀI 1
MỤC LỤC 2
CHƯƠNG 1. GIỚI THIỆU CHUNG 5
1.1TRIZ là gì? 5
1.2TRIZ trong mô hình quản lý phát triển sản phẩm Scrum 5
CHƯƠNG 2. TRÍCH DẪN MỘT SỐ NGUYÊN LÝ SÁNG TẠO TRIZ TRONG 40 NGUYÊN LÝ ĐƯỢC ÁP
DỤNG TRONG MÔ HÌNH PHÁT TRIỂN DỰ ÁN 6
1.Nguyên tắc phân nhỏ 6
2.Nguyên tắc kết hợp 6
3.Nguyên tắc phẩm chất cục bộ 6
4.Nguyên tắc tách khỏi 6
5.Nguyên tắc vạn năng 7
6.Nguyên tắc thực hiện sơ bộ 7
7.Nguyên lý dự phòng 7
8.Nguyên lý năng động 7
9.Nguyên tắc giải “thiếu” hoặc “thừa” 7
10.Nguyên lý tác đông liên tục có ích 7
11.Nguyên lý vượt nhanh 7

12.Nguyên lý quan hệ phản hồi 7
13.Nguyên lý loại bỏ và tái sinh từng phần 8
4.1Scrum là gì 9
Minh bạch (transparency) 9
Thanh tra (inspection) 9
Thích nghi (adaptation) 9
4.2Lợi điểm khi dùng Scrum 11
4.3Cách triển khai Scrum 11
4.4Các nguyên tắc sáng tạo áp dụng trong mô hình Scrum 13
1.Nguyên tắc phân nhỏ 13
2.Nguyên tắc kết hợp 13
3.Nguyên tắc phẩm chất cục bộ 13
4.Nguyên tắc tách khỏi 13
5.Nguyên tắc vạn năng 13
6.Nguyên tắc thực hiện sơ bộ 14
7Nguyên lý dự phòng 14
Nguyễn Văn Sang, Ứng dụng TRIZ vào mô hình Scrum trong phát triển dự án CNTT Trang 3
8Nguyên tắc năng động 14
9Nguyên tắc giải “thiếu” hoặc “thừa” 14
10Nguyên tắc giải tác động liên tục có ích 15
11Nguyên tắc giải tác động liên tục có ích 15
12Nguyên tắc quan hệ phản hồi 15
13Nguyên lý loại bỏ và tái sinh từng phần 15
4.5 Một số mặt hạn chế trong mô hình Scrum 15
TÀI LIỆU THAM KHẢO 17
Nguyễn Văn Sang, Ứng dụng TRIZ vào mô hình Scrum trong phát triển dự án CNTT Trang 4
CHƯƠNG 1. GIỚI THIỆU CHUNG
1.1 TRIZ là gì?
TRIZ là phương pháp luận tìm kiếm những giải pháp kỹ thuật mới, cho
những kết quả khả quan, ổn định khi giải những bài toán mang tính sáng tạo khác

nhau. Tác giả của TRIZ – Giáo sư Altshuller bắt đầu nghiên cứu, xây dựng lý
thuyết từ 1946. Tiền đề cơ bản của TRIZ là: các hệ kỹ thuật phát triển tuân theo
các quy luật khách quan, nhận thức được. Với 40 các nguyên tắc (thủ thuật) sáng
tạo cơ bản của giáo sư Alshuller giúp cho chúng ta có được cách tư duy và giải
quyết những vấn đề nhanh hơn, thông minh hơn và tiết kiệm thời gian hơn so với
các phương pháp truyền thống.
1.2 TRIZ trong mô hình quản lý phát triển sản phẩm Scrum
TRIZ ứng dụng rất nhiều vào thực tế cuộc sống. Nhiều phát minh sáng chế đã
ra đời dựa trê ứng dụng TRIZ. Sáng tạo trong quản lý phần mềm tin học cũng
vậy, cũng phải có những phương pháp và áp dụng một các sáng tạo, hợp lý để tạo
ra những sản phẩm có tính năng động và hiệu quả cao. Chẳng hạn nguyên tắc
“nguyên tắc năng động” được áp dụng vào mô hình Scrum (Scrum sẽ được đề
cập chi tiết ở phần tiếp theo của tài liệu này) để phát triển kịp thời theo nhu cầu
năng động của khách hàng, khách hàng họ có ý tưởng phát triển một sản phẩm và
cần phải tiến hành nhanh cho kịp với ý tưởng đó (trang Facebook là một điểm
hình khi có ý tưởng là có triển khai xây dựng thành sản phẩm dần dần cho tới khi
chúng ta có được một mạng xã hội tuyệt vời ngày nay), khi đó họ sẽ yêu cầu đội
phát triển phần mềm làm. Không giống như mô hình phát triển truyền thống (mô
hình phát triển thác nước – Waterfall chẳng hạn), nhà phát triển không cần phải
bắt đầu với giai đoạn lập kế hoạch, xem xét đầu ra một cách cẩn thận, thiết kế tài
liệu rất chi tiết, ước lượng thời gian sau đó mới làm. Với mô hình Scrum, tình
hình sẽ trở nên linh động hơn, đội phát triển nhận yêu cầu và cùng với khách
hàng triển khai nhanh chóng, các nhiệm vụ sẽ được phân bổ ngay cho các thành
viên nhóm, mỗi thành viên tự phân tích yêu cầu và thực hiện cho tới khi hoàn
thành phần của mình. Mô hình Scrum dự án không còn phải cố định từ đầu về
thời gian hoành thành nữa, sản phẩm sẽ được xây dựng dần dần theo những giai
Nguyễn Văn Sang, Ứng dụng TRIZ vào mô hình Scrum trong phát triển dự án CNTT Trang 5
đoạn được xác định. Với sự đề cao yếu tố tham gia của con người, sản phẩm có
thể thay đổi liên tục theo yêu cầu thực tế. Như chúng ta biết, các ý tưởng tốt xuất
hiện trong suốt quá trình phát triển – lúc bắt đầu, khi giữa chừng và thậm chí đôi

khi xuất hiện trước ngày giới thiệu sản phẩm, và một quy trình không cho phép
những thay đổi sẽ kiềm chế sự đổi mới. Với mô hình thác nước, ý kiến hay nhưng
đưa ra muộn không phải là một món quà mà là một nguy cơ…
CHƯƠNG 2. TRÍCH DẪN MỘT SỐ NGUYÊN LÝ SÁNG TẠO TRIZ
TRONG 40 NGUYÊN LÝ ĐƯỢC ÁP DỤNG TRONG MÔ HÌNH PHÁT
TRIỂN DỰ ÁN
Sau đây xin được trích dẫn một số nguyên lý sáng tạo, những nguyên tắc này
sẽ được phân tích trong chương sau khi chúng được sử dụng trong mô hình phát
triển dự án Scrum
1. Nguyên tắc phân nhỏ
- Chia đối tượng thành các phần độc lập.
- Làm đối tượng trở nên tháo lắp được.
- Tăng mức độ phân nhỏ của đối tượng
2. Nguyên tắc kết hợp
a) Kết hợp các đối tượng đồng nhất hoặc các đối tượng dùng cho các hoạt
động kế cận.
b) Kết hợp về mặt thời gian các hoạt động đồng nhất hoặc kế cận.
3. Nguyên tắc phẩm chất cục bộ
a) Chuyển đối tượng (hay môi trường bên ngoài, tác động bên ngoài) có cấu
trúc đồng nhất thành không đồng nhất.
b) Các phần khác nhau của đối tượng phải có các chức năng khác nhau
c) Mỗi phần của đối tượng phải ở trong những điều kiện thích hợp nhất của
công việc
4. Nguyên tắc tách khỏi
Tách phần gây "phiền phức" (tính chất "phiền phức") hay ngược lại, tách
phần duy nhất "cần thiết" (tính chất "cần thiết") ra khỏi đối tượng.
Nguyễn Văn Sang, Ứng dụng TRIZ vào mô hình Scrum trong phát triển dự án CNTT Trang 6
5. Nguyên tắc vạn năng
Đối tượng thực hiện một số chức năng khác nhau, do đó không cần sự tham
gia của đối tượng khác.

6. Nguyên tắc thực hiện sơ bộ
Gây ứng suất trước với đối tượng để chống lại ứng suất không cho phép hoặc
không mong muốn khi đối tượng làm việc (hoặc gây ứng suất trước để khi
làm việc sẽ dùng ứng suất ngược lại ).
7. Nguyên lý dự phòng
Bù đắp độ tin cậy không lớn của đối tượng bằng cách chuẩn bị trước các
phương tiện báo động, ứng cứu, an toàn.
8. Nguyên lý năng động
a) Cần thay đổi các đặt trưng của đối tượng hay môi trường bên ngoài sao
cho chúng tối ưu trong từng giai đoạn làm việc.
b) Phân chia đối tượng thành từng phần, có khả năng dịch chuyển với nhau.
9. Nguyên tắc giải “thiếu” hoặc “thừa”
Nếu như khó nhận được 100% hiệu quả cần thiết, nên nhận ít hơn hoặc nhiều
hơn “một chút”. Lúc đó bài toán có thể trở nên đơn giản hơn và dễ giải hơn.
10. Nguyên lý tác đông liên tục có ích
a) Thực hiện công việc một cách liên tục (tất cả các phần của đối tượng cần
luôn luôn làm việc ở chế độ đủ tải).
b) Khắc phục vận hành không tải và trung gian.
c) Chuyển chuyển động tịnh tiến qua lại thành chuyển động quay.
11. Nguyên lý vượt nhanh
a. Vượt qua các giai đoạn có hại hoặc nguy hiểm với vận tốc lớn.
b. Vượt nhanh để có được hiệu ứng cần thiết.
12. Nguyên lý quan hệ phản hồi
a) Thiết lập quan hệ phản hồi
b) Nếu đã có quan hệ phản hồi, hãy thay đổi nó.
Nguyễn Văn Sang, Ứng dụng TRIZ vào mô hình Scrum trong phát triển dự án CNTT Trang 7
13. Nguyên lý loại bỏ và tái sinh từng phần
a) Phần đối tượng đã hoàn thành nhiệm vụ hoặc trở nên không cần thiết phải
tự phân hủy (hoà tan, bay hơi ) hoặc phải biến dạng.
b) Các phần mất mát của đối tượng phải được phục hồi trực tiếp trong quá

trình làm việc.
CHƯƠNG 3. SCRUM TRONG PHÁT TRIỂN DỰ ÁN CÔNG NGHỆ THÔNG
TIN
Nguyễn Văn Sang, Ứng dụng TRIZ vào mô hình Scrum trong phát triển dự án CNTT Trang 8
4.1 Scrum là gì
Scrum là một khung làm việc (framework) để phát triển các sản phẩm phức
tạp. Được phát triển bởi Ken Schwaber và Jeff Sutherland, Scrum được dùng để
quản lý các dự án phát triển phần mềm từ đầu những năm 1990, nhưng nó có thể
được dùng trong các công việc khác với sự phức tạp, và đòi hỏi tính sáng tạo rất
đa dạng. Mô hình này con người có thể xác định được nhanh chóng các vấn đề và
thích nghi với chúng, trong khi đó vẫn giữ được tính năng suất và sự sáng tạo để
chuyển giao các sản phẩm có giá trị cao; hơn thế, nó là một khung làm việc cho
phép sử dụng nhiều quy trình và kỹ thuật khác nhau. Scrum làm rõ độ hiệu quả
tương đối của công tác quản lý và phát triển sản phẩm, từ đó cho phép bạn cải
tiến nó.
Scrum hoạt động dựa trên ba giá trị cốt lõi, còn gọi là Ba chân của Scrum bao
gồm Minh bạch, Thanh tra và Thích nghi.
• Minh bạch (transparency)
Trong Scrum, tính minh bạch được đề cao như là giá trị cốt lõi cơ bản nhất.
Muốn thành công với Scrum, thông tin phải minh bạch và thông suốt. Từ đó mọi
người ở các vai trò các nhau có đủ thông tin cần thiết để tiến hành các quyết định
có giá trị để nâng cao hiệu quả công việc. Các công cụ và cuộc họp trong Scrum
luôn đảm bảo thông tin được minh bạch cho các bên.
• Thanh tra (inspection)
Công tác thanh tra liên tục các hoạt động trong Scrum đảm bảo cho việc phát
hiện các vấn đề cũng như giải pháp để thông tin đa dạng và hữu ích đến được với
các bên tham gia dự án. Truy xét kĩ càng và liên tục là cơ chế khởi đầu cho việc
thích nghi và các cải tiến liên tục trong Scrum.
• Thích nghi (adaptation)
Scrum rất linh hoạt như các phương pháp phát triển linh hoạt (agile software

development) khác. Nhờ đó nó mang lại tính thích nghi rất cao. Scrum có thể
phản hồi lại các thay đổi một cách tích cực, nhờ đó mang lại thành công cho dự
án.
Nguyễn Văn Sang, Ứng dụng TRIZ vào mô hình Scrum trong phát triển dự án CNTT Trang 9
Scrum chia dự án thành các vòng lặp phát triển gọi là các sprint. Mỗi sprint
thường mất 2- 4 tuần (30 ngày) để hoàn thành. Một sprint hoàn thành một số chức
năng, mục đích nào đó trong toàn bộ hệ thống. Thành phần chính quan trọng của
Scrum là các role (vai trò) và các cuộc trao đổi đánh giá. Có các role chính là:
+ Product Owner (Chủ sản phẩm) : chịu trách nhiệm tối đa hóa giá trị của sản
phẩm và công việc của Nhóm Phát triển. Phân tích mục tiêu, giải phóng các kế
hoạch.
+ Development Team (Đội làm việc ở Scrum): thường từ 5-9 người, tùy theo
quy mô dự án nó có thể có rất nhiều đội, nhiều người tham gia. Sẽ không có
người thiết kế (designer), kiểm thử viên quản lý chất lượng (QC) thường thấy ở
các dự án phần mềm truyền thống. Các đội làm việc sẽ tiến hành cài đặt các chức
năng được mô tả trong bản yêu cầu. Họ tự quản lý, tổ chức và điều chỉnh đội làm
việc của mình sao cho hiệu quả lớn nhất. Tất cả các thành viên có ảnh hưởng như
nhau đến sự thành công hoặc thất bại của toàn bộ hệ thống hoặc các hệ thống nhỏ
hơn trong đó.
+ Scrum Master (Đội trưởng): chịu trách nhiệm đảm bảo mọi người hiểu và
dùng được Scrum. Scrum Master thực hiện việc này bằng cách đảm bảo Nhóm
Scrum tuân thủ lý thuyết, thực tiễn và các quy tắc của Scrum. Scrum Master là
một lãnh đạo, nhưng cũng là đầy tớ của Nhóm Scrum.
Có 2 pha là lập kế hoạch và kết thúc sẽ xác định các tiến trình cần thiết gồm
các dữ liệu đầu vào đầu ra thật đầy đủ. Có một số vòng lặp phát triển trong pha kế
hoạch. Kế hoạch lập ra ban đầu chỉ là tương đối và sẽ có sự điều chỉnh.
Nguyễn Văn Sang, Ứng dụng TRIZ vào mô hình Scrum trong phát triển dự án CNTT Trang 10
Khung làm việc Scrum
4.2 Lợi điểm khi dùng Scrum
Lợi điểm của mô hình Scrum đó là tính linh hoạt và tính thích nghi của nó

đối với những dự án có nhiều sự thay đổi và yêu cầu tốc độ cao, với loai mô hình
này dự án không phải cố định từ đầu về thời gian hoành thành hay những yêu cầu
mà nó sẽ được xác định khi phát triển thực tế. Scrum tăng cường khả năng giao
tiếp và dành nhiều thời gian cho việc phát triển phát triển, giảm thời gian dành
cho quản lý. Khách hàng nhanh chóng thấy được sản phẩm qua đó đưa ra phản
hồi sớm để có kết quả nhanh và hài lòng sản phẩm.
4.3 Cách triển khai Scrum
Có nhiều cách để triển khai, có thể sử dụng 10 bước sau:
+ Bước 1: Thu nhập các đặc điểm của sản phẩm (backlog) trong đơn đặt
hàng. Đây là bước quan trọng nhất. Lập nên các đội làm việc, có thể tách thành
các đội nếu cần thiết và thảo luận với nhau về nghiệp vụ cần làm. Sau đó bổ
nhiệm một người vào vị trí Product owner, người này có khả năng trao đổi, bao
quát công việc tốt, biết sắp xếp ưu tiên đúng thứ tự các nhiệm vụ. Sau đó tự tổ
chức lại đội làm việc, đề xuất ra vị trí Scrum master và thảo luận chi tiết các yêu
cầu, sắp xếp chúng theo thứ tự ưu tiên.
+ Bước 2: Ước lượng đầy các yêu cầu về sản phẩm đầu ra. Có ước lượng ở
mức độ cao, chia sản phẩm thành số lượng các danh mục backlog. Tuy nhiên số
Nguyễn Văn Sang, Ứng dụng TRIZ vào mô hình Scrum trong phát triển dự án CNTT Trang 11
lượng sẽ không chính xác được, về sau chúng sẽ được bổ sung. Tiếp đến là ước
lượng chi tiết từng backlog, ước lượng số lượng các đội làm việc.
+ Bước 3: Lên kế hoạch phát triển các vòng lặp sprint. Sử dụng các cuộc trao
đổi kế hoạch phát triển sprint với tất cả các thành viên. Xác định khoảng thời gian
sẽ phát triển một sprint (thường là 30 ngày), mục tiêu của sprint là gì, sẽ đạt được
gì, phân tích các yêu cầu của sprint một cách rõ ràng.
+ Bước 4: Lên kế hoạch phát triển các nhiệm vụ của sprint. Tất cả mọi người
sẽ xác định ngân sách của sprint đó, chia các đặc điểm thành các tác vụ nhỏ hơn,
ước lượng số thời gian sẽ làm từng task (giờ), hoàn tất các yêu cầu và nhận dạng
task quan trọng.
+ Bước 5: Tạo ra không gian làm việc cộng tác cho tất cả mọi người. Thường
sử dụng bảng trắng để vẽ nên những vấn đề cần thiết cho tất cả mọi người cùng

đánh giá.
+ Bước 6: Các thành viên bắt tay xây dựng từng sprint. Lập trình, kiểm thử
và điều chỉnh thời gian để có hiệu quả tốt nhất. Đôi khi có thể hủy bỏ một sprint
và quay lại với việc lập kế hoạch khác.
+ Bước 7: Mọi người báo cáo kết quả để tiếp tục làm việc. Các báo cáo tập
trung vào các vấn đề: đạt được những gì so với lần trao đổi trước; sẽ hoàn thành
những gì trong lần trao đổi tiếp theo; có những trở ngại gì trong quá trình làm
việc v.v.
+ Bước 8: Tổng hợp kết quả trên biểu đồ. Đây là bức tranh tổng quát về
những việc đã làm được, những việc chưa làm được, thời gian ước lượng còn lại
và có thể điều chỉnh lại.
+ Bước 9: Xem xét để hoàn tất. Khi các thành viên nói công việc đã hoàn
thành có nghĩa là mọi thay đổi sẽ bị từ chối, đẩy lại cho vòng lặp sau.
+ Bước 10: Đánh giá, phản ánh và lặp lại. Có các cuộc họp đánh giá lại sprint
của các thành viên. Sẽ trình bày những gì đạt được, phản hồi của khách hàng, xét
thời hạn của sprint. Nhìn lại biểu đồ ở bước 8 để xác định lại toàn bộ hệ thống và
tiếp nhận những đóng góp, bổ sung để đưa tiếp vào các vòng lặp sprint tiếp theo.
Nguyễn Văn Sang, Ứng dụng TRIZ vào mô hình Scrum trong phát triển dự án CNTT Trang 12
4.4 Các nguyên tắc sáng tạo áp dụng trong mô hình Scrum
Mô hình Scrum đã được trình bày chi tiết ở trên, tới đây ta tìm hiểu xem
TRIZ đã được áp dụng trong mô hình này như thế nào.
1. Nguyên tắc phân nhỏ
Dự án sẽ được chia nhỏ ra từng sprint phát triển ứng với những khoảng thời
gian xác định,nhóm Scrum đã xác định ở mỗi sprint sẽ đạt được những tính năng
nào của sản phẩm và chuyển cho khách hàng những phần chất lượng đó.
2. Nguyên tắc kết hợp
Trong mỗi cuộc họp ngắn đầu giờ, các thành viên sẽ thảo luận về những công
việc của mình, những vấn đề đang gặp khó khăn hay những thắc mắc còn chưa
rõ, tất cả đều được đưa ra thảo luận và mọi người trong nhóm cùng tập trung giải
quyết, việc các thành viên thoải mái đưa ra ý kiến, giải pháp rồi chọn một giải

pháp tốt nhất. Đây chính là sự kết hợp của tư duy tập thể thể để làm cho vấn đề
được thông suốt hơn, nhanh hơn và giải quyết tốt hơn. Sau đó là sự kết hợp làm
việc với khách hàng, thường xuyên lắng nghe những ý kiến phản hồi của khách
hàng để để thực hiện nhanh chóng tiến độ và hiệu quả. Ở cuối mỗi sprint sản
phẩm sẽ được ráp vào sprint trước để có được những giai đoạn hoàn thành của
sản phẩm
3. Nguyên tắc phẩm chất cục bộ
Trong mô hình Scrum thúc đẩy những năng lực sáng tạo tiềm ẩn của mỗi
người, những đóng góp sáng kiến của từng cá nhân khi đưa ra thảo luận trong tập
thể đã góp phần tạo nên một sản phẩm nhanh chóng và chất lượng.
4. Nguyên tắc tách khỏi
Có thể nói mô hình Scrum đã tách ra khỏi những mối ràng buộc và cứng nhắc
, tuần tự trong các mô hình quản lý dự án truyền thống để tạo nên một mô hình
phát triển mềm dẻo linh động hơn; trong lúc triển khai thực tế có thể để dàng
xoay chuyển theo chiều hướng có lợi tại mỗi thời điểm cụ thể.
5. Nguyên tắc vạn năng
Trong mô hình Scrum người phát triển (developer) cũng là người đóng vai
trò như một người kiểm soát chất lượng dự án (QC – Quality control), người
Nguyễn Văn Sang, Ứng dụng TRIZ vào mô hình Scrum trong phát triển dự án CNTT Trang 13
kiểm thử (tester) phần mềm, người thiết kế giao diện. Họ nhận công việc và tự
hoàn thành công việc của mình.
6. Nguyên tắc thực hiện sơ bộ
Trong dự án có những công việc được đưa ra và chắc chắn sẽ được phát triển,
việc chuẩn bị nhanh các công việc, thực hiện sơ bộ xử lý với mã nguồn (thiết kế
giao diện, thực hiện xử lý thương mại, hỏi đáp trước cho các tình huống xử lý xảy
ra…) sẽ làm cho công việc được hoàn thành sơm hơn và tốt hơn.
7 Nguyên lý dự phòng
Mô hình Scrum làm cho mọi thành viên trong dự án đều biết được công việc
của nhau, mỗi khi có thành viên nghỉ cũng sẽ không ảnh hưởng tới tiến độ của dự
án nhiều, mọi việc vẫn có thể phát triển tốt. Ở mô hình cũ mỗ khi thành viên nghỉ

công việc phát triển đều phải có thời gian chuyển giao và tuỳ thuộc vào sự đóng
góp vào dự án mà tốn khá nhiều thời gian để bàn giao công việc đã làm; điều này
cũng gây nên những rủi ro cho dự án trong mô hình cũ.
8 Nguyên tắc năng động
Mô hình Scrum phát triển kịp thời theo nhu cầu năng động của khách hàng,
khách hàng họ có ý tưởng phát triển một sản phẩm và cần phải tiến hành nhanh
cho kịp với tiến độ với ý tưởng đó (trang Facebook cũng đột phá từ các ý tưởng
phát triển lên từ từ thành một sản phẩm như ngày nay, hay ý tưởng quảng cáo cho
một mặt hàng nào đó của khách hàng ), khi đó họ sẽ yêu cầu đội phát triển phần
mềm làm. Không giống như mô hình phát triển truyền thống, đội phát triển không
cần phải tốn lập bản thiết kế chi tiết, phân tích các chức năng sau đó mới làm. Họ
nhận yêu cầu và triển khai nhanh, các nhiệm vụ sẽ được phân bổ ngay cho các
thành viên nhóm, mỗi thành viên tự phân tích yêu cầu và thực hiện cho tới khi
hoàn thành.
9 Nguyên tắc giải “thiếu” hoặc “thừa”
Trong lĩnh vực phát triển dự án, đôi khi có dự án không phải lúc nào cũng
có đầu đủ những thông tin để phát triển, mô hình scrum gom nhặt các ý tưởng
đang có và phát triển chúng rồi từ từ bổ sung vào sau, nâng cấp dần dần làm cho
sản phẩm ngày một hoàn thiện hơn. Chứ nếu cứ phải để cho đầy đủ thông dữ liệu
mới phát triển dự án thì có lẽ sẽ rất khó hoặc rất lâu mới có được một sản phẩm.
Nguyễn Văn Sang, Ứng dụng TRIZ vào mô hình Scrum trong phát triển dự án CNTT Trang 14
10 Nguyên tắc giải tác động liên tục có ích
Liên tục cập nhật tính năng động của sản phẩm, của yêu cầu khách hàng sẽ
giúp cho sản phẩm hoàn thiện tốt hơn, khách hàng cảm thấy hài lòng với sản
phẩm mà mình mong muốn, người phát triển cảm thấy được tiến bộ trong cách
làm việc sáng tạo của mình.
11 Nguyên tắc giải tác động liên tục có ích
Sản phẩm được chuyển giao nhanh chóng cho khách hàng cũng nhờ vào
nguyên tắc này. Với cách phát triển phần mềm trên mô hình truyền thống, khi
cần hỏi một vấn đề nào đó với khách hàng, phía nhà phát triển phần mềm họ

thường phải viết nội dung mô tả bằng email và sau đó phải tốn một khoảng thời
gian để nhận phản hồi bằng email của khách hàng để tiếp tục làm việc ở phần đó;
khi mà trong dự án có sự góp mặt của bộ phận kiểm định chất lượng dự án (QC)
cũng một phần góp phần vào chận tiến độ phát triển của sản phẩn, cần phải tốn
thêm một kênh giao tiếp qua lại giữa nhà phát triển với bộ phận QC. Phương
pháp của Scrum luôn đảm bảo tiến độ dự án nhanh nhất, mọi công việc phát triển
sản phẩm do đội phát triển đảm nhận và hoàn thành, trạng thái dự án được cập
nhật thường xuyên trong nhóm và trao đổi trực tiếp với khách hàng.
12 Nguyên tắc quan hệ phản hồi
Việc nhóm phát triển thường xuyên trao đổi với khách hàng, lắng nghe yêu
cầu, đóng góp của khách hàng, những sai sót sớm được phát hiện, nếu đi sai
hướng có thể điều chỉnh lại nhanh chóng và làm cho sản phẩm trở nên chất lượng
hơn, hoàn thành sớm hơn.
13 Nguyên lý loại bỏ và tái sinh từng phần
Khi phát hiện ra vấn đề đang phát triển trong Sprint thì có thể huỷ bỏ sprint
hiện tại quay lại phân tích lại vấn đề hoặc có thể đẩy về Sprint sau để giải quyết,
phát triển tiếp khi có đầy đủ thông tin và dữ liệu…
Việc thay đổi nhanh kế hoạch phát triển dự án làm cho nó luôn được xây
dựng linh hoạt với tình hình thực tế hơn, năng động hơn trong việc phát triển sản
phẩm.
4.5 Một số mặt hạn chế trong mô hình Scrum
Với cách giải quyết cho công việc nhanh chóng, liên tục chuyển giao sản
phẩm phần mềm cho khách hàng Project Owner (PO) với vai trò là người định
hướng cho sản phẩm, có thể dễ gặp phải khó khăn trong việc phân tích được tổng
Nguyễn Văn Sang, Ứng dụng TRIZ vào mô hình Scrum trong phát triển dự án CNTT Trang 15
thể của dự án, bức tranh toàn cục dự án như thế nào để định hướng kiến trúc cho
dự án phù hợp và giúp cho các thành viên nắm được kiến trúc của nó. Cũng bởi
cách phát triển dự án không có bản thiết kế chi tiết nên mỗi thành viên của dự án
cũng sẽ là một người thiết kế hệ thống, do đó nếu làm không tốt sẽ có thể làm cho
dự án rất khó sửa chữa. Việc thường xuyên điều chỉnh lại mã nguồn (Refactoring)

mỗi khi chỉnh sửa theo yêu cầu khách hàng hay phải cập nhật, thiết kế lại kiến
trúc của dự án sao cho phù hợp cũng là một yếu điểm trong thiết kế phần mềm,
nếu người thiết kế mà làm không khéo sẽ làm cho sản phẩm trở nên rối rắm và
khó bảo trì, điều đó sẽ tốn rất nhiều thời gian, công sức, tiền bạc cho dự án.
Hạn chế của Scrum còn nằm ở ngay trong mặt tích cực của Scrum, khi Scrum
quy định rõ nhóm phát triển phải gặp nhau hằng ngày vào mỗi buổi đầu ngày
trong khoảng thời gian ngắn ngắn ngủi mười lăm phút và từng thành viên phải
trả lời các câu hỏi :”Hôm qua tôi đã làm được những gì rồi?”, “Hôm nay tôi sẽ
làm những gì?”, “Có điều gì khó khăn cho công việc của tôi không?”, nếu các
thành viên trả lời các câu hỏi một cách nghiêm túc, nhóm cộng tác sẽ nắm rất rõ
tình hình công việc đã tiến triển đến đâu, các vấn đề phải được phát hiện sớm để
được giải quyết. Tuy nhiên, nếu trả lời một cách qua quýt, ba câu hỏi đó sẽ trở
nên rất nhàn chán và sáo rỗng và cuộc họp sẽ thể trở nên một cuộc họp hình thức
và dần dần mất hết tác dụng, làm ảnh hưởng tới tiến độ công việc.
Nguyễn Văn Sang, Ứng dụng TRIZ vào mô hình Scrum trong phát triển dự án CNTT Trang 16
KẾT LUẬN
Scrum được đánh giá cao ở tính linh động và hiệu quả của công việc, khả
năng thành công cao hơn so với các mô hình truyền thống (Waterfall, Spriral)
thay vì phải dành nhiều thời gian của giai đoạn đầu cho việc viết các đặc tả kỹ
thuật cho dự án, tuân thủ kế hoạch và giải pháp trên mô hình cũ thì giờ với mô
hình Scrum người ta tin rằng dựa trên yếu tố chính yếu là con người, việc tiếp cận
thực tại cuộc sống và phát triển sản phẩm để học hỏi cải tiến hay thay đổi sẽ
mang lại các kết quả tốt hơn. Scrum đã được áp dụng phổ biến trong quy trình
phát triển phần mềm ở một số công ty lớn như Microsoft, Yahoo. Hiện nay ở Việt
Nam có các công ty phần mềm đang áp dụng mô hình Scrum như FPT Software,
Axon Active Vietnam, Pyramid-Consulting, Gameloft…
TÀI LIỆU THAM KHẢO
-[1]Chuyên đề phương pháp nghiên cứu khoa học trong tin học của GSTS.
Hoàng Kiếm năm 2005.
Nguyễn Văn Sang, Ứng dụng TRIZ vào mô hình Scrum trong phát triển dự án CNTT Trang 17

-[2]Giải một bài toán trên máy tính như thế nào của GSTS. Hoàng Kiếm. Tập
1,2,3 năm 2005.
-[3]Sổ tay sáng tạo : Các thủ thuật (Nguyên tắc) cơ bản của GSTS. Phan
Dũng năm 1994
-[4]Làm thế nào để sáng tạo ? Của GSTS. Phan Dũng năm 1992.
-[5] />-[6] />-[7] />-[8]Andrew Pham, Phuong-Van Pham, Scrum in Action, 2011.
-[9]Ken Schwaber, Agile Project Management with Scrum(Microsoft
Propessional), 2004.
Nguyễn Văn Sang, Ứng dụng TRIZ vào mô hình Scrum trong phát triển dự án CNTT Trang 18

×