Mở đầu Y Chương 2: Cơ sở lý thuyết Y Chương 3: Giới thiệu về GSOFT và đặc trưng dự án của Công Ty. Y Chương 4: Xây dựng quy trình phát triển phần mém cho GSOFT. 21 Y Chương 5: Áp dung thử nghiệm quy trình phát triển phần mềm Scrum Framework tại GSOFT và đánh giá kết quả. * Chương 6: Kết luận và hướng phát triển.7 Kết chương Trong chương này xác định rõ lý do chọn đề tài, mục tiêu nghiên cứu và những câu hỏi nghiên cứu.
Đôi tượng nghiên cứu và phạm vi nghiên cứu cũng được xác định. 22 Chương 2: CƠ SỞ LÝ THUYET Tóm tắt chương: 25 Nội dung của chương này trình bày tông quát cơ sở lý thuyết về tiễn trình linh hoạt, mức độ pho biến sử dung Agile trong phát triển dự án phan mém, tỷ lệ thành công của dự án sử dung Agile so với sử dụng mô hình CMMi, các nguyên tắc và giá trị cot lõi trong Agile. Sau đó sẽ trình bày cụ thé về tiến trình linh hoạt được dùng dé áp dụng cho GSOFT, đó là Scrum Framework: các thành tô cấu thành Scrum, nguyên tắc hoạt động của Scrum, so sánh Scrum Framework với các mô hình truyền thong khác.1 Tổng quan về phát triển phan mềm linh hoạt Agile 2.1 Dinh nghĩa về phát triển phần mềm linh hoạt Agile Phát triển phần mềm linh hoạt (Agile Software Development — gọi tắt là Agile) là một triết lý cùng với nhóm các phương pháp và phương pháp luận phát triển phần mềm dựa trên các nguyên tac phát triển phân đoạn lặp và tăng trưởng, theo đó nhu cầu và giải pháp tiễn hóa thông qua sự hợp tác giữa các nhóm tự quản và liên chức năng. Agile thường sử dụng cách lập kế hoạch thích ứng, việc phát triển và chuyển giao theo hướng tiễn hóa, sử dụng các khung thời gian ngăn và linh hoạt để dễ dàng phản hồi lại với các thay đối trong quá trih phát triển.
Ngày nay, triết lý Agile đã vượt xa khỏi khu vực truyền thống của mình là phát triển phan mém dé đóng góp sự thay đôi trong cách thức làm việc, quản lý, sản xuất ở các ngành khác như sản xuat, dich vu, kinh doanh, tiép thi, giáo duc v.2 Mức độ phố biến Agile theo thống kê của Forrester Thuật ngữ Agile chính thức được sử dụng rộng rãi theo cách thông nhất kế từ khi “Tuyên ngôn Agile” được giới thiệu ra công chúng năm 2001. Nhờ tính linh hoạt, đa dạng và hiệu quả cao, các phương pháp Agile ngày càng trở thành sự lựa chon hàng đầu của các khách hàng, nhà phát triển, các công ty phát triển phần mềm. Theo khảo sát của hãng nghiên cứu thị trường Forrester (Bảng 2.1), mức độ phô 23 biên cua Agile hiện dang ở mức cao nhât, và gap nhiêu lân so với các phương pháp truyền thống như thác nước hay CMMi ISO 9000 (Cơ Quan Thiết Lập Tiêu Chuẩn Hóa Quốc Tế) |Ếƒ?4 xu, 2-25 Capability Maturity Model Integration (Mô hình trưởng.6% = 2009 0 Rational Unified Process (Quy trình phát triên phân.69 Không sử dụng một quy trình chính thức | 8.1: Mức độ phổ biến Agie theo thống kê của Forrester năm 2010 Nguồn từ Forrester Research.3 Ty lệ thành công của các dự án sử dung Agile thường gấp 3 lần so với CMMi Các dự án Agile có tỷ lệ thành công gấp 3 lần so với những dự án không dùng Agile. Báo cáo đó cho thấy rằng, “Quy trình linh hoạt là phương thuốc phố dụng dành cho các dự án phát triển phần mềm thất bại.
Các ứng dụng phần mềm được phát triển bởi các quy trình linh hoạt có tỷ lệ thành công gấp 3 lần so với phương pháp thác nước truyền thống và có tỷ lệ phần trăm thấp hơn nhiều về thời gian và chi phí phát sinh.” Standish Group đánh giá dự án thành công dựa trên thời gian, ngân sách, và tất cả các tính năng được lên kế hoạch.Họ không báo cáo về việc có bao nhiêu dự án trong cơ sở dữ liệu của mình nhưng họ cho biết kết quả này được thực hiện trên các dự án từ năm 2002 đến 2010. Biểu dé sau sẽ cho thay các số liệu cụ thể trong báo cáo của họ (Bang 2. 24 Thành công Thách thức ø Thất bai Bang 2.2: Ty lệ dự án thành công nhờ su dung Agile Nguồn từ “CHAO Manifesto” năm 2011 cua Standish Group.4 Các nguyên tắc và giá trị cốt lõi trong Agile Phát triển phần mềm linh hoạt Agile làm một thuật ngữ có nguén gốc từ Tuyên Ngôn Phát triển Phần mềm Linh hoạt, tuyên ngôn nay được soạn thảo năm 2001 bởi một nhóm gom 17 nha khoa hoc (cac nha sang tao Scrum, XP, DSDM va Crystal, đại diện của phát triển hướng tính năng và một vai nhà lãnh đạo khác trong lĩnh vực công nghiệp phần mém) !ŸÏ. Tuyên ngôn Agile đã tổng kết ra một số giá trị và nguyên tắc chung, phố quát cho tất cả các phương pháp luận về linh hoạt đang tồn tại độc lập tại thời điểm đó.
Văn bản này đưa ra bốn giá tri cốt lõi cho phép các nhóm đạt được hiệu suất cao. Các giá trị cốt lõi này còn được hỗ trợ bởi 12 nguyên tac ’” > Ưu tiên cao nhất của chúng tôi là thỏa mãn khách hàng thông qua việc chuyển giao sớm và liên tục các phần mềm có giá trị. > Chào đón việc thay đổi yêu cầu, thậm chí rất muộn trong quá trình phát triển. Các quy trình linh hoạt tận dụng sự thay đổi cho các lợi thế cạnh tranh của khách hàng.
> Thường xuyên chuyển giao phần mềm chạy tốt tới khách hàng, từ vài tuần đến vài tháng. ưu tiên cho các khoảng thời gian ngắn hơn. > Nhà kinh doanh và nhà phát triển phải làm việc cùng nhau hàng ngày trong suốt dự án. 25 > Xây dựng các dự án xung quanh những cá nhân có động lực.
Cung cấp cho họ môi trường, sự hỗ trợ can thiết và tin tưởng ho dé hoàn thành công việc. > Phương pháp hiệu quả nhất để truyền đạt thông tin tới nhóm phát triển và trong nội bộ nhóm phát triển là hội thoại trực tiếp. > Phần mém chạy tốt là thước đo chính của tiến độ. > Các quy trình linh hoạt thúc đây phát triển bền vững.
Các nhà tài trợ, nhà phát triển và người dùng có thể duy trì một nhịp độ liên tục không giới hạn. > Liên tục quan tam đến các kĩ thuật và thiết kế tốt dé gia tăng sự linh hoạt. Sự đơn giản — nghệ thuật tối đa hóa lượng công việc chưa xong — là căn bản. > Các kiến trúc tốt nhất, yêu cầu tốt nhất và thiết kế tốt nhất sẽ được làm ra bởi các nhóm tự tô chức.
> Nhóm phát triển sẽ thường xuyên suy nghĩ về việc làm sao để trở nên hiệu quả hon, sau đó họ sẽ điều chỉnh và thay đối các hành vi của mình cho phù hợp.2 Tuyên ngôn Phát triển Phan mềm Linh hoạt Cá nhân và sự tương tác hơn là quy frình và công cụ. Phần mềm chạy tốt hơn là tai liệu day đủ. Cộng tác với khách hàng hon là dam phán hợp dong. Phản hồi với các thay đổi hon là bdm sát kế hoạch.
Mặc dù các điều bên phải vẫn còn giá trị, nhưng chúng tôi đánh giá cao hơn các 2 Aw ze 5 mục ở bên trái BÍ, 2.1 Ca nhan va Sự tương tác Cá nhân và sự tương tác giữa họ là cốt yếu để nhóm đạt được hiệu suất cao. Các nghiên cứu về “bão hòa truyền thông” trong một dự án cho thấy rằng, khi không có van dé trong truyền thông, nhóm có thể thực hiện công việc tốt hơn 50 lần so với mức trung bình trong lĩnh vực của mình bl Đề tạo điều kiện cho truyền thông, các phương pháp linh hoạt thường xuyên sử dụng chu trình thanh tra và thích nghi. Chu 26 trình này có thé diễn ra hăng phút với lập trình cặp, hang gid với tích hợp liên tục, hăng ngày với dung họp, hăng phan doan với các buôi hop sơ két và cải tiên. Tuy nhiên, chi tăng tan suất phản hôi và giao tiếp là không đủ để loại bỏ các van dé về truyện thông.
Chu kỳ thanh tra và thích nghi làm việc tốt chỉ khi các thành viên trong nhóm thể hiện những hành vi quan trọng sau: > Tôn trọng giá trị của mỗi cá nhân > Trung thực trong truyền thông > Minh bạch về dữ liệu, hoạt động, và quyết định > Tin tưởng vào sự hỗ trợ của mỗi cá nhân với nhóm > Cam kêt với nhóm và các mục tiêu của nhóm Đề thúc đây các hành vi này, nhà quản lý linh hoạt phải cung cấp một môi trường hỗ trợ, các nhà huấn luyện phải tạo điều kiện thuận lợi, và các thành viên của nhóm phải thé hiện chúng. Chỉ khi đó nhóm mới có thé phát huy được hết tiềm năng của mình. Đạt tới các hành vi đó khó khăn hơn rất nhiều so với việc hình thành chúng. Hau hết các nhóm tránh lé sự thật, sự minh bạch, và tin tưởng vào các chuẩn mực văn hóa hoặc có những kinh nghiệm tiêu cực từ các xung đột xuất phát từ truyền thông trung thực trước đây.
Dé chông lại những khuynh hướng nay, ban lãnh đạo và thành viên nhóm phải tạo điều kiện cho những xung đột tích cực. Làm như vậy không chỉ giúp tạo ra hành vi sinh lợi mà còn đem lại các lợi ích khác: e Cải tiễn quy trình phụ thuộc vào nhóm trong việc tạo ra danh sách các trở ngại hoặc van dé trong tổ chức, đối mặt với chúng một cách trung thực, và sau đó loại bỏ chúng một cách có hệ thông tùy theo độ ưu tiên. «_ Đôi mới chi xảy ra với việc tự do trao đổi các ý tưởng mâu thuẫn lẫn nhau, một hiện tượng được nghiên cứu và viết thành tài liệu bởi Takeuchi và Nonaka, những người cha đỡ đâu của Scrum. 27 e Việc hướng các nhóm tới mục tiêu chung đòi hỏi nhóm phải đôi mặt và giải quyêt các vân đê về xung đột.
e Cam két làm việc cùng nhau sẽ xảy ra chỉ khi mọi người đông ý với mục tiêu chung và sau đó dau tranh cho sự tiên bộ cua ban thân cũng như nhóm. Ý cuối cùng ở trên nói về cam kết là đặc biệt quan trọng. Đó là khi mà các cá nhần và các nhóm được cam kết mà họ cảm thấy có trách nhiệm với việc cung cấp các giá trị cao, đó là điểm mau chốt đối với các nhóm phát triển phan mềm. Các phương pháp linh hoạt tạo điều kiện cho việc cam kết băng cách khuyến khích các nhóm đưa ra một danh sách các công việc được ưu tiên hóa, để họ tự quản lý công việc của mình và tập trung vào cải tiễn về cách thực hiện các công việc đó.