1 TR ƯỜ NG ĐẠ I H Ọ C BÁCH KHOA HÀ N Ộ I KHOA CÔNG NGH Ệ THÔNG TIN ----------o0o--------- Th ạ c Bình C ườ ng Bài gi ả ng đ i ệ n t ử môn h ọ c QU Ả N LÝ D Ự ÁN PH Ầ N M Ề M 2 Lêi giíi thiÖu 1 Néi dung c¸ch viÕt cuèn s¸ch 7 Tæ chøc 7 Ch − ¬ng1: Qu¶n lý phÇn mÒm cæ truyÒn 9 1 1 M« h×nh th¸c n − íc 11 1 1 1 Lý thuyÕt 11 1 1 2 Trong thùc hμnh 16 1 2 Qu¶n lý phÇn mÒm th«ng th − êng 22 Ch − ¬ng 2: Sù tiÕn ho¸ nÒn kinh tÕ phÇn mÒm 26 2 1 NÒn kinh tÕ phÇn mÒm 26 2 2 Sù − íc l − îng chi phÝ phÇn mÒm thùc dông 31 Ch − ¬ng 3: C¶i tiÕn kinh tÕ phÇn mÒm 36 3 1 Gi¶m kÝch th − íc s¶n phÈm phÇn mÒm 38 3 1 1 C¸c ng«n ng÷ 39 3 1 2 C¸c Ph − ¬ng ph¸p h − íng ®èi t − îng vμ mÉu trùc quan 42 3 1 3 T¸i sö dông 43 3 1 4 C¸c thμnh phÇn th − ¬ng m¹i 45 3 2 C¶i tiÕn c¸c tiÕn tr×nh phÇn mÒm 46 3 3 C¶i tiÕn hiÖu qu¶ nhãm lμm dù ¸n 48 3 4 C¶i tiÕn kü thuËt tù ®éng ho¸ qua c¸c m«i tr − êng phÇn mÒm 52 3 5 §¹t ® − îc yªu cÇu chÊt l − îng 55 3 6 Chó ý vμo viÖc kiÓm tra: mét quan ®iÓm thùc dông 57 Ch − ¬ng 4: C¸ch cò vμ c¸ch míi 60 4 1 C¸c nguyªn t¾c cña kü thuËt phÇn mÒm truyÒn thèng 60 4 2 C¸c nguyªn t¾c qu¶n lý phÇn mÒm hiÖn ®¹i 68 4 3 ChuyÓn sang mét tiÕn tr×nh lÆp 72 Ch − ¬ng 5: C¸c giai ®o¹n cña vßng ®êi 75 5 1 Giai ®o¹n c«ng nghÖ vμ giai ®o¹n s¶n xuÊt 76 5 2 Giai ®o¹n khëi ®Çu 79 5 3 Giai ®o¹n cô thÓ ho¸ 80 5 4 Giai ®o¹n x©y dùng 82 5 5 Giai ®o¹n chuyÓn tiÕp 84 Ch − ¬ng 6: T¹o t¸c qui tr×nh 87 6 1 TËp mÉu 88 6 1 1 TËp ®iÒu hμnh 88 6 1 2 TËp c«ng nghÖ ( The engineering sets) 90 6 1 3 Sù tiÕn ho¸ cña qu¸ tr×nh t¹o t¸c qua vßng ®êi cña nã 95 6 1 4 T¹o t¸c kiÓm tra 97 6 2 T¹o t¸c ®iÒu hμnh 99 6 3 T¹o t¸c kü thuËt 106 6 4 T¹o t¸c trong thùc tÕ 108 3 Ch − ¬ng 7: MÉu kiÕn tróc phÇn mÒm dùa trªn m« h×nh 111 7 1 KiÕn tróc: Tõ gãc nh×n vÒ qu¶n lý 112 7 2 KiÕn tróc: Tõ gãc nh×n kÜ thuËt 113 Ch − ¬ng 8: Luång lμm viÖc cña tiÕn tr×nh 118 8 1 Luång lμm viÖc cñatiÕn tr×nh phÇn mÒm 118 8 2 Luång lÆp (Iteration workflows) 123 Ch − ¬ng 9: C¸c ®iÓm kiÓm tra qu¸ tr×nh 126 9 1 C¸c cét mèc chÝnh 127 9 2 C¸c cét mèc phô 134 9 3 C¸c ®¸nh gi¸ t×nh tr¹ng ®Þnh k× 135 Ch − ¬ng 10: LËp kÕ ho¹ch tiÕn tr×nh lÆp 138 10 1 Ph©n ®Þnh c¬ cÊu c¸c c«ng viÖc chi tiÕt 139 10 1 1 KÕt qu¶ cña WBS theo quy − íc 139 10 1 2 ViÖc ph©n ®Þnh c¬ cÊu c«ng viÖc chi tiÕt hiÖn ®¹i 142 10 2 C¸c nguyªn t¾c lËp kÕ ho¹ch 147 10 3 Qu¸ tr×nh − íc tÝnh vÒ chi phÝ vμ lÞch tr×nh cña dù ¸n 150 10 4 Qu¸ tr×nh x©y dùng kÕ ho¹ch lÆp, kÐo dμi vßng chu kú cña dù ¸n 151 10 5 Thùc hiÖn kÕ ho¹ch 154 Ch − ¬ng 11: Tæ chøc vμ chÞu tr¸ch nhiÖm dù ¸n 156 11 1 Tæ chøc ngμnh kinh doanh 156 11 2 Tæ chøc dù ¸n 159 11 3 TiÕn triÓn cña c¸c tæ chøc 167 Ch − ¬ng 12: Tù ®éng ho¸ qu¸ tr×nh 168 12 1 C¸c c«ng cô 169 12 2 M«i tr − êng dù ¸n 173 12 2 1 Kü thuËt trän vßng(round-trip engineering) 174 12 2 2 Qu¶n lý sù thay ®æi(change management) 175 12 2 3 C¬ së h¹ tÇng 182 Ch − ¬ng 13: KiÓm so¸t dù ¸n vμ C«ng cô xö lý 188 13 1 B¶y metrics c¬ b¶n 189 13 2 BiÓu thÞ qu¶n lý 192 13 2 1 C«ng viÖc vμ tiÕn ®é 193 13 2 2 Gi¸ dù to¸n vμ chi phÝ 193 13 2 3 Bè trÝ nh©n viªn vμ nhãm ®éng 197 13 3 BiÓu thÞ chÊt l − îng 198 13 3 1 L − u l − îng thay ®æi vμ tÝnh æn ®Þnh 199 13 3 2 Chia nhá vμ tÝnh modul ho¸ 199 13 3 3 Lμm l¹i vμ tÝnh t − ¬ng thÝch 199 13 3 4 MTBF vμ tÝnh thμnh thôc 200 13 4 C¸c dù tÝnh vßng ®êi 202 13 5 C¸c metric phÇn mÒm thùc dông 203 4 13 6 Metric tù ®éng ho¸ 205 Ch − ¬ng 14: Sù biÕn ®æi tiÕn tr×nh - tailoring the process 211 14 1 Ph©n biÖt c¸c tiÕn tr×nh 211 14 1 1 Qui m« 213 14 1 2 Liªn kÕt hoÆc c¹nh tranh 216 14 1 3 TiÕn tr×nh mÒm dÎo hay kh«ng mÒm dÎo 218 14 1 4 Sù thuÇn thôc tiÕn tr×nh 219 14 1 5 Rñi ro kiÕn tróc 220 14 1 6 Kinh nghiÖm trong lÜnh vùc 221 14 2 VÝ dô vÒ dù ¸n qui m« nhá chèng l¹i dù ¸n qui m« lín 222 Ch ươ ng 15: Nh ữ ng s ơ th ả o v ề d ự án tiên ti ế n 225 15 1 Tích h ợ p liên t ụ c 226 15 2 Gi ả i quy ế t s ớ m nh ữ ng r ủ i ro 227 15 3 Nh ữ ng yêu c ầ u phát tri ể n 229 15 4 S ự h ợ p tác gi ữ a các c ổ đ ông 229 15 5 10 Nguyên t ắ c qu ả n lý ph ầ n m ề m t ố t nh ấ t 230 15 6 Nh ữ ng ứ ng d ụ ng th ự c ti ễ n t ố t nh ấ t c ủ a qu ả n lý ph ầ n m ề m 231 Ch − ¬ng 16: ThÕ hÖ tiÕp theo cña qu¶n lý kinh tÕ phÇn mÒm 234 16 1 M« h×nh ®Þnh gi¸ thÕ hÖ tiÕp theo 234 16 2 Kinh tÕ häc phÇn mÒm thÕ hÖ tiÕp theo 239 Ch − ¬ng 17: Sù qu¸ ®é sang xö lÝ hiÖn ®¹i 242 17 1 Sù qu¸ ®é xÐt ë khÝa c¹nh v¨n ho¸ 242 17 2 §o¹n kÕt 246 5 L ờ i gi ớ i thi ệ u Cu ố n sách này trình bày cách ti ế p c ậ n t ớ i nh ữ ng th ế h ệ th ự c hành v ề qu ả n lý ph ầ n m ề m R ấ t nhi ề u t ổ ch ứ c v ẫ n bám vào mô hình thác n ướ c, th ậ m chí nó không đượ c hoàn thi ệ n l ắ m nh ư ng nó đư a ra đượ c m ộ t h ướ ng d ẫ n qu ả n lý khá t ỉ m ỉ , cách để ti ế n hành để x ử lý các tình tr ạ ng ph ầ n m ề m đư a ra Trên th ự c t ế khó đư a ra đượ c m ộ t cách ti ế p c ậ n qu ả n lý đầ y đủ thích h ợ p v ớ i nh ữ ng v ấ n đề nh ư là các v ấ n đề v ề tích h ợ p các thành ph ầ n th ươ ng m ạ i, tái s ử d ụ ng ph ầ n m ề m, qu ả n lý r ủ i ro và các ti ế n trình ph ầ n m ề m t ă ng tr ưở ng xoáy chôn ố c Cu ố n sách này cung c ấ p m ộ t khung ki ể m tra b ằ ng các kinh nghi ệ m và t ậ p các h ướ ng d ẫ n để x ử lý nó nh ư th ế nào? Ông Walker Royce đ ã phát tri ể n và ki ể m tra cách ti ế p c ậ n qu ả n lý ph ầ n m ề m trong quá trình tham gia t ừ kh ả o sát s ơ b ộ đế n phân ph ố i s ả n ph ẩ m ph ầ n m ề m cho không l ự c c ủ a M ỹ N ề n công nghi ệ p ph ầ n m ề m đ ã h ướ ng t ớ i m ộ t ph ươ ng pháp m ớ i để qu ả n lý độ ph ứ c t ạ p không ng ừ ng t ă ng nhanh c ủ a các d ự án ph ầ n m ề m Tr ướ c đ ây chúng ta đ ã t ừ ng th ấ y cu ộ c cách m ạ ng, cu ộ c bi ế n đổ i và nh ữ ng v ấ n đề đ ang di ễ n ra k ể c ả thành công và th ấ t b ạ i Trong khi nh ữ ng công ngh ệ các ti ế n trình và các ph ươ ng pháp ph ầ n m ề m đ ang phát tri ể n m ộ t cách nhanh chóng thì k ỹ ngh ệ ph ầ n m ề m v ẫ n còn là m ộ t quá trình đ òi h ỏ i s ự nghiên c ứ u sâu s ắ c c ủ a con ng ườ i Tài li ệ u này s ẽ đề c ậ p đế n các nh ậ n th ứ c t ổ ng quan v ề qu ả n lý ph ầ n m ề m và nh ấ n m ạ nh m ộ t cách nhìn cân đố i nh ữ ng y ế u t ố sau: Lý thuy ế t và th ự c ti ễ n K ỹ thu ậ t c ủ a con ng ườ i Yêu c ầ u giá tr ị c ủ a khách hàng và l ợ i ích c ủ a nhà cung c ấ p Chi ế n l ượ c và sách l ượ c M ặ c dù v ậ y b ạ n c ũ ng nên quan tâm đế n m ộ t v ấ n đề qu ả n lý quan tr ọ ng đ ó là s ự đ i ề u ch ỉ nh cân đố i Đ i ề u đặ c bi ệ t quan tr ọ ng là đạ t t ớ i các m ụ c tiêu c ủ a các c ổ đ ông khác nhau, ng ườ i mà có giao ti ế p v ớ i nh ữ ng ng ườ i khác b ằ ng nh ữ ng ngôn ng ữ và các ký hi ệ u khác nhau Đ ây là s ự thúc đẩ y nh ữ ng nhà sáng l ậ p, m ộ t s ự mô t ả tr ừ u t ượ ng c ủ a hòn đ á Rosetta Ba ngôn ng ữ bi ể u di ễ n c ơ b ả n v ố n có trong công ngh ệ ph ầ n m ề m là v ớ i các yêu c ầ u (ngôn ng ữ c ủ a không gian v ấ n đề ), v ớ i thi ế t k ế (ngôn ng ữ chuy ể n d ị ch c ủ a k ỹ s ư ph ầ n m ề m) và v ớ i cài đặ t (ngôn ng ữ th ự c hi ệ n không gian v ấ n đề trên máy tính) Ch ỉ có nh ữ ng m ố c nh ư là nh ữ ng hòn đ á Rosetta m ớ i có th ể chuy ể n d ị ch đượ c các ký t ự Hy L ạ p, các k ỹ thu ậ t ph ầ n m ề m có th ể chuy ể n d ị ch nh ữ ng v ấ n đề thành các gi ả i pháp mà nó tho ả mãn t ấ t c ả các c ổ đ ông Không có m ộ t cu ố n sách ch ế bi ế n nào cho qu ả n lý ph ầ n m ề m Không có m ộ t công th ứ c làm món ă n nào cho m ộ t th ự c ti ễ n rõ ràng Tôi s ẽ c ố g ắ ng ti ế p c ậ n đế n các v ấ n đề m ộ t cách 6 khoa h ọ c hi ệ n th ự c và kinh nghi ệ m nh ấ t, nh ư ng vi ệ c qu ả n lý là m ộ t v ấ n đề r ấ t r ộ ng trong vi ệ c đ ánh giá theo m ộ t ngh ĩ a chung và quy ế t đị nh ph ụ thu ộ c vào tình hu ố ng Đ ó là đ i ề u t ạ i sao mà các nhà qu ả n lý đượ c độ ng viên M ộ t vài ch ươ ng bao g ồ m nh ữ ng ph ầ n th ự c d ụ ng và th ườ ng đượ c x ử lý ch ặ t ch ẽ trong các ch ủ đề c ụ th ể Để phân bi ệ t th ế gi ớ i th ự c v ớ i các mô hình x ử lý chung: các k ỹ thu ậ t và nguyên lý, thì ph ầ n đầ u c ủ a m ỗ i m ộ t ch ươ ng có t ừ th ự c d ụ ng (pragmatic) B ở i ngh ĩ a th ự c d ụ ng có ngh ĩ a là không có s ự ả o t ưở ng và v ề m ặ t th ự c ti ễ n, nó là chính xác v ề ý ngh ĩ a c ủ a nh ữ ng ph ầ n này Chúng s ẽ bao g ồ m nh ữ ng ý ki ế n m ạ nh và nh ữ ng v ị trí khiêu khích và nó s ẽ làm cho th ầ n kinh c ủ a độ c gi ả , nh ữ ng ng ườ i b ả o th ủ trong m ộ t s ố th ự c hành, công c ụ ho ặ c k ỹ thu ậ t l ỗ i th ờ i hay quá h ạ n Tôi s ẽ c ố g ắ ng để phân bi ệ t trong các k ỹ thu ậ t đư a ra, nh ữ ng cách ti ế p c ậ n m ớ i và nh ữ ng k ỹ thu ậ t l ỗ i th ờ i b ằ ng cách s ử d ụ ng nh ữ ng cách ch ứ ng minh phù h ợ p Trong h ầ u h ế t các tr ườ ng h ợ p tôi ủ ng h ộ nh ữ ng quan đ i ể m v ớ i nh ữ ng lí l ẽ kinh t ế đơ n gi ả n và ngh ĩ a chung cùng v ớ i nh ữ ng kinh nghi ệ m v ặ t t ừ nh ữ ng ứ ng d ụ ng R ấ t nhi ề u nh ữ ng t ư li ệ u gi ả thuy ế t đ ã rút ra t ừ cách qu ả n lý nh ữ ng d ự án thành công trên 10 n ă m qua (nh ữ ng v ấ n đề c ủ a th ự c ti ễ n) M ặ t khác m ộ t s ố nh ữ ng t ư li ệ u trình bày nh ữ ng v ấ n đề đ ã đượ c ch ứ ng minh (nh ữ ng v ấ n đề c ủ a ngh ệ thu ậ t), nh ữ ng cách ti ế p c ậ n v ề gi ả thuy ế t mà không có vi ệ c ch ứ ng minh rõ ràng trong th ự c ti ễ n Chúng ta ph ả i đấ u tranh v ớ i m ộ t quan đ i ể m c ủ a cu ố n sách này đượ c coi là giáo d ụ c v ề qu ả n lý hay là đ ào t ạ o v ề qu ả n lý Vi ệ c phân bi ệ t này d ườ ng nh ư là s ự b ớ i lông tìm v ế t nh ư ng nó r ấ t quan tr ọ ng, m ộ t ví d ụ là chúng ta hãy nghe vi ệ c minh ho ạ s ự khác nhau 15 n ă m tr ướ c đ ây Gi ả s ử r ằ ng m ộ t bé gái c ủ a b ạ n t ừ tr ườ ng v ề nhà vào m ộ t ngày nào đ ó và h ỏ i: "Th ư a cha m ẹ ! Con có th ể tham d ự m ộ t khoá h ọ c v ề giáo d ụ c gi ớ i tính ở tr ườ ng đượ c không?" Ph ả n ứ ng c ủ a b ạ n h ẳ n là s ẽ khác n ế u nh ư bé gái h ỏ i: " Con có th ể tham d ự m ộ t khoá hu ấ n luy ệ n v ề gi ớ i tính ở tr ườ ng đượ c không? " ( đ i ề u này có ngh ĩ a ph ầ n nào giúp tôi hi ể u r ằ ng con gái đ ã tr ưỏ ng thành) Quá trình đ ào t ạ o hu ấ n luy ệ n có m ộ t khía c ạ nh v ề tri th ứ c ứ ng d ụ ng mà làm cho tri th ứ c h ữ u ích ho ặ c kém h ữ u ích h ơ n ngay l ậ p t ứ c M ặ t khác giáo d ụ c là t ậ p trung v ề vi ệ c gi ả ng d ạ y các nguyên lý d ự a vào kinh nghi ệ m và tinh th ầ n c ủ a các m ụ c tiêu v ớ i vi ệ c ứ ng d ụ ng c ủ a nh ữ ng tri th ứ c này dành cho ng ườ i h ọ c Tôi c ố g ắ ng để t ậ p trung vào cu ố n sách này nh ư là m ộ t s ự chuy ể n t ả i giáo d ụ c qu ả n lý (Tôi không ch ắ c ch ắ n m ộ t đ i ề u r ằ ng vi ệ c đ ào t ạ o qu ả n lý khác v ớ i kinh nghi ệ m v ừ a h ọ c v ừ a làm) Tôi s ẽ không ng ụ y bi ệ n r ằ ng l ờ i khuyên c ủ a tôi là có th ể áp d ụ ng đượ c tr ự c ti ế p trên m ọ i d ự án M ặ c dù tôi đ ã c ố g ắ ng ch ứ ng minh các quan đ i ể m n ế u có th ể đượ c, m ộ t s ố quan đ i ể m s ẽ không đượ c ch ứ ng minh vì nó ch ỉ thu ầ n tuý là gi ả thuy ế t Tôi hy v ọ ng r ằ ng s ự ph ỏ ng đ oán và l ờ i khuyên c ủ a tôi s ẽ khuy ế n khích các cu ộ c tranh lu ậ n và s ự ti ế n tri ể n sau này Các b ạ n đọ c c ủ a tôi đ ang th ự c hi ệ n m ộ t b ả n gam (gamut) nh ữ ng th ự c hành chuyên môn v ề ph ầ n m ề m Các đọ c gi ả chính là nh ữ ng ng ườ i ra quy ế t đị nh: nh ữ ng ng ườ i có trách nhi ệ m đầ u t ư và chi phí v ề ngân sách ph ầ n m ề m Nhóm này bao g ồ m các nhà qu ả n lý v ề t ổ ch ứ c, nh ữ ng nhà qu ả n lý v ề d ự án, nh ữ ng nhân viên yêu c ầ u ph ầ n m ề m và cán b ộ c ủ a h ọ Đố i 7 v ớ i đọ c gi ả này tôi s ẽ c ố g ắ ng đư a ra các h ướ ng d ẫ n có th ể ứ ng d ụ ng đượ c tr ự c ti ế p đố i v ớ i vi ệ c s ử d ụ ng các quy ế t đị nh th ự c t ế ngày nay và đầ u t ư chi ế n l ượ c trong t ươ ng lai M ộ t lo ạ i đọ c gi ả quan tr ọ ng khác là nh ữ ng ng ườ i th ự c hành ph ầ n m ề m mà h ọ tho ả thu ậ n và th ự c hi ệ n k ế ho ạ ch, tri ể n khai ph ầ n m ề m trên nh ữ ng m ụ c tiêu d ự án và t ổ ch ứ c N ộ i dung cách vi ế t cu ố n sách B ở i vì tôi vi ế t cho l ượ ng l ớ n độ c gi ả nên tôi đ ã không đ i sâu vào chi ti ế t k ỹ thu ậ t ho ặ c nh ữ ng nguyên lý k ỹ thu ậ t, nh ữ ng v ấ n đề này đượ c trình bày t ố t h ơ n trong nh ữ ng cu ố n sách khác Thay vào đ ó tôi đư a ra m ộ t cách bàn lu ậ n khá sâu s ắ c v ề kinh t ế , v ề m ẫ u qu ả n lý, v ề nh ữ ng chi ế n l ượ c phân chia công vi ệ c, v ề chi ế n l ượ c t ổ ch ứ c, nh ữ ng độ đ o; đ ó là nh ữ ng đ i ề u c ầ n thi ế t để xây d ự ng k ế ho ạ ch và th ự c hi ệ n thành công m ộ t d ự án ph ầ n m ề m Có nhi ề u minh ho ạ s ẽ làm cho nh ữ ng ch ủ đề ph ứ c t ạ p tr ở nên d ễ hi ể u h ơ n S ự chính xác và đ úng đắ n c ủ a các hình v ẽ và các b ả ng là s ự minh ho ạ t ố t nh ấ t Trong khi h ầ u h ế t các d ữ li ệ u s ố mô t ả chính xác m ộ t s ố khái ni ệ m, xu h ướ ng, k ỳ v ọ ng ho ặ c các quan h ệ , thì các cách th ứ c trình bày mang tính không chính xác vì m ụ c đ ích Trong khung c ả nh qu ả n lý ph ầ n m ề m s ự khác bi ệ t gi ữ a tính chính xác và tính đ úng đắ n là không đ áng k ể vì có th ể t ừ hai lý do: 1 Qu ả n lý ph ầ n m ề m là nh ữ ng vùng đầ y màu xám, nó ph ụ thu ộ c vào tình tr ạ ng và nh ữ ng tr ả giá nh ậ p nh ằ ng Đ ó là s ự khó kh ă n n ế u không mu ố n nói là không th ể ch ứ ng minh tính đ úng đắ n c ủ a nhi ề u khái ni ệ m và gi ữ l ạ i s ự chính xác c ủ a cách trình bày trong m ộ t l ĩ nh v ự c r ộ ng l ớ n 2 Hi ể u đượ c s ự khác nhau gi ữ a chính xác và đ úng đắ n là k ỹ n ă ng c ơ b ả n c ủ a nh ữ ng nhà qu ả n lý ph ầ n m ề m gi ỏ i, ng ườ i ph ả i d ự đ oán m ộ t cách đ úng đắ n nh ữ ng ướ c l ượ ng r ủ i ro và nh ữ ng ả nh h ưở ng c ủ a s ự thay đổ i Độ chính xác không hi ệ u ch ỉ nh trong các yêu c ầ u ho ặ c k ế ho ạ ch đ ã đượ c ch ứ ng minh dù ch ư a rõ ràng, nh ư ng nó th ườ ng gây tr ở ng ạ i t ớ i thành công c ủ a d ự án Trong r ấ t nhi ề u cách bi ể u di ễ n s ố , các giá tr ị tuy ệ t đố i th ườ ng là không quan tr ọ ng và hoàn toàn thay đổ i trong các l ĩ nh v ự c và các tình hu ố ng d ự án khác nhau Các giá tr ị quan h ệ c ủ a nó t ạ o nên h ầ u h ế t các hình v ẽ và b ả ng bi ể u Nhân ti ệ n tôi đư a ra nh ữ ng ch ứ ng c ứ và kinh nghi ệ m th ự c t ế để các nhà qu ả n lý h ướ ng t ớ i nh ữ ng ng ữ c ả nh c ụ th ể , và liên h ệ v ớ i nh ữ ng tiêu chu ẩ n đ úng đắ n và chính xác trong các đ i ề u ki ệ n c ụ th ể M ộ t s ố ph ầ n ph ụ l ụ c s ẽ làm sáng t ỏ các k ỹ thu ậ t đượ c trình bày ở đ ây có th ể đ ã đượ c ứ ng d ụ ng trên th ự c t ế nh ư th ế nào M ộ t thí v ề h ệ th ố ng tàu đ ô đố c s ẽ đượ c nghiên c ứ u xuyên su ố t trong tài li ệ u, đ ây là m ộ t d ự án l ớ n và thành công, đ ã đư a ra m ộ t ví d ụ c ụ th ể là làm th ế nào có th ể qu ả n lý t ố t đượ c công vi ệ c Nó c ũ ng cung c ấ p m ộ t m ộ t khuôn kh ổ để h ợ p lý hoá m ộ t s ố ti ế n trình c ả i ti ế n và k ỹ thu ậ t T ổ ch ứ c Cu ố n sách đượ c chia thành 5 ph ầ n , m ỗ i ph ầ n g ồ m m ộ t s ố ch ươ ng: 8 Ph ầ n I, th ờ i k ỳ ph ụ c h ư ng c ủ a qu ả n lý ph ầ n m ề m Ph ầ n này mô t ả hi ệ n tr ạ ng c ủ a n ề n kinh t ế ph ầ n m ề m và th ự c ti ễ n qu ả n lý ph ầ n m ề m và đư a ra s ự chuy ể n d ị ch c ầ n thi ế t đố i v ớ i ph ầ n m ề m đượ c c ả i thi ệ n v ề đầ u t ư Ph ầ n II, nh ữ ng khuôn kh ổ c ủ a qu ả n lý ph ầ n m ề m Mô t ả các nguyên lý v ề x ử lý và khuôn kh ổ cho vi ệ c qu ả n lý ph ầ n m ề m tiên ti ế n bao g ồ m : các pha v ề vòng đờ i, pha v ề ch ế t ạ o th ử , pha v ề dòng công vi ệ c, và các đ i ể m ki ể m tra Ph ầ n III, nguyên lý qu ả n lý ph ầ n m ề m Ph ầ n này tóm t ắ t m ộ t vài k ỹ thu ậ t áp d ụ ng cho l ậ p k ế ho ạ ch, đ i ề u khi ể n và t ự độ ng hoá m ộ t quá trình ph ầ n m ề m tiên ti ế n Ph ầ n IV, xu h ướ ng phát tri ể n Các gi ả thuy ế t v ề các hi ệ u n ă ng c ủ a d ự án tiên ti ế n và n ề n kinh t ế ph ầ n m ề m trong th ế h ệ t ớ i và bàn lu ậ n v ề s ự d ị ch chuy ể n v ă n hoá c ầ n thi ế t cho s ự thành công Ph ầ n V, các ví d ụ c ụ th ể và tài li ệ u tham kh ả o G ồ m 5 ph ụ l ụ c, đư a ra nh ữ ng cái c ơ b ả n cho vi ệ c ch ứ ng minh m ộ t vài nh ậ n xét, ch ỉ d ẫ n và ý ki ế n đượ c trình bày ở m ộ t vài n ơ i 9 Ch ươ ng 1 Qu ả n lý ph ầ n m ề m c ổ truy ề n Th ờ i kì ph ụ c h ư ng c ủ a qu ả n lý ph ầ n m ề m N ề n công nghi ệ p ph ầ n m ề m đ ã có m ộ t kinh nghi ệ m trong th ờ i kì ph ụ c h ư ng R ấ t nhi ề u nh ữ ng nguyên lý công ngh ệ ph ầ n m ề m đ ã h ằ n sâu đ ang b ị bó h ẹ p và l ỗ i th ờ i b ở i nh ữ ng k ỹ thu ậ t m ớ i ho ặ c thay th ế b ằ ng nh ữ ng k ỹ thu ậ t t ố t h ơ n ho ặ c m ứ c độ t ự độ ng hoá cao h ơ n Cho dù nguyên lý nào đ i ch ă ng n ữ a thì đ i ề u quan tr ọ ng là ng ườ i làm th ự c t ế ph ả i hi ể u đượ c tr ạ ng thái hi ệ n t ạ i tr ướ c khi bi ế n đổ i, chuy ể n d ị ch sang cái m ớ i Tr ướ c khi cân nh ắ c m ộ t khuôn kh ổ qu ả n lý ph ầ n m ề m cho t ươ ng lai thì c ầ n thi ế t ph ả i hi ể u n ề n công nghi ệ p hi ệ n nay đ ang ở đ âu và làm sao có th ể chi ế m l ĩ nh đượ c nó Trong 10 n ă m đ ã qua tôi đ ã tham gia và đ óng góp để c ả i ti ế n các quá trình ph ầ n m ề m c ủ a trên 500 công ty M ụ c tiêu c ụ th ể c ủ a các đ óng góp này là đạ t đượ c 2X, 3X, ho ặ c 10X t ă ng lên v ề n ă ng su ấ t, ch ấ t l ượ ng, th ờ i gian đố i v ớ i th ị tr ườ ng ho ặ c t ổ h ợ p c ủ a c ả 3 đ i ề u trên ở đ ây X là t ươ ng ứ ng v ớ i độ t ố t lên c ủ a công ty đ ó gi ờ đ ây nh ư th ế nào M ộ t đ i ề u hài h ướ c r ằ ng r ấ t nhi ề u các t ổ ch ứ c này không có ý t ưở ng X là cái gì theo ngh ĩ a m ụ c tiêu Nh ữ ng ch ươ ng trong ph ầ n I gi ớ i thi ệ u tr ạ ng thái th ự c t ế trong n ề n công nghi ệ p ph ầ n m ề m và xác đị nh X trong các ti ế n trình qu ả n lý ph ầ n m ề m thông th ườ ng 10 Đ i ể m chính : ¾ Nh ữ ng th ự c ti ễ n qu ả n lý ph ầ n m ề m c ổ truy ề n d ườ ng nh ư ch ỉ là lý thuy ế t nh ư ng th ự c ti ễ n v ẫ n còn g ắ n ch ặ t v ớ i công ngh ệ và k ỹ thu ậ t c ổ x ư a ¾ N ề n kinh t ế ph ầ n m ề m c ổ truy ề n đư a ra nh ữ ng tiêu chu ẩ n v ề hi ệ u su ấ t c ủ a các nguyên lý qu ả n lý ph ầ n m ề m c ổ truy ề n M ộ t đ i ề u t ố t nh ấ t v ề ph ầ n m ề m đ ó là tính linh ho ạ t m ề m d ẻ o: Nó có th ể đượ c l ậ p trình để th ự c hi ệ n h ầ u h ế t m ọ i vi ệ c Đ i ề u t ồ i nh ấ t v ề ph ầ n m ề m c ũ ng là tính linh ho ạ t m ề m d ẻ o: các đặ c tính "h ầ u nh ư m ọ i th ứ " r ấ t khó trong l ậ p k ế ho ạ ch, ti ế n độ và đ i ề u khi ể n s ự phát tri ể n ph ầ n m ề m Vi ệ c không d ự đ oán này là đ i ề u c ơ b ả n c ủ a cu ộ c ''''''''kh ủ ng ho ả ng ph ầ n m ề m'''''''' trên 30 n ă m nay Vào gi ữ a nh ữ ng n ă m 1990 ít nh ấ t có 3 phân tích quan tr ọ ng v ề n ề n công nghi ệ p k ỹ ngh ệ ph ầ n m ề m đượ c th ự c hi ệ n k ế t qu ả đượ c công b ố trong các ấ n ph ẩ m 1 Patterns of Software Systems Failure and Success (Jones, 1996) 2 Chaos (Standish Group , 1995) 3 Report of the Defense Science Board Task Force on Acquiring Defense Software Commercially (Defense Science Board, 1994) Ph ụ l ụ c A làm n ổ i b ậ t m ộ t và k ế t qu ả có liên quan T ấ t c ả 3 phân tích đ ó cùng đạ t t ớ i m ộ t k ế t lu ậ n chung: M ứ c độ thành công đố i v ớ i d ự án ph ầ n m ề m là r ấ t th ấ p M ặ c dù các phân tích này có m ộ t vài nh ậ n th ứ c khác nhau nh ư ng thông báo ch ủ y ế u c ủ a h ọ đượ c b ổ sung cho nhau và r ấ t kiên đị nh Chúng ta có th ể tóm t ắ t nh ư sau: 1 Vi ệ c phát tri ể n ph ầ n m ề m v ẫ n là cái không d ự đ oán đượ c r ấ t cao ch ỉ có kho ả ng 10% các d ự án ph ầ n m ề m đượ c coi là thành công, v ớ i nh ữ ng ướ c l ượ ng v ề ngân sách và ti ế n độ ban đầ u 2 Các nguyên lý v ề qu ả n lý n ặ ng v ề phán đ oán thành công hay th ấ t b ạ i h ơ n là các ti ế n b ộ v ề k ỹ thu ậ t 3 M ứ c độ manh mún c ủ a ph ầ n m ề m c ũ ng nh ư s ự không k ế th ừ a đ ã ch ỉ ra m ộ t ti ế n trình còn non n ớ t Ba phân tích này đ ã gi ớ i thi ệ u cách qu ả n lý các ph ầ n m ề m và nh ữ ng tiêu chu ẩ n hi ệ n t ạ i đố i v ớ i quá trình qu ả n lý ph ầ n m ề m c ổ truy ề n Có r ấ t nhi ề u m ả nh đấ t để phát tri ể n Hãy nh ớ nh ữ ng tóm t ắ t c ủ a các ch ươ ng v ề khung ti ế n trình qu ả n lý ph ầ n m ề m mà h ầ u h ế t nh ữ ng ph ầ n m ề m truy ề n th ố ng đ ã đượ c s ử d ụ ng Trong khi nh ữ ng khuôn kh ổ mà chúng ta đ ã bi ế t là mô hình thác n ướ c có r ấ t nhi ề u s ự bi ế n độ ng đ ó là ti ế n trình v ạ ch danh gi ớ i đố i v ớ i h ầ u h ế t nh ữ ng kinh nghi ệ m c ủ a d ự án ph ầ n m ề m đ ã đượ c tích lu ỹ cho t ớ i ngày nay Và trong
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
-o0o -
Thạc Bình Cường
Bài giảng điện tử môn học
QUẢN LÝ DỰ ÁN PHẦN MỀM
Trang 2Lời giới thiệu 1
Nội dung cách viết cuốn sách 7
Tổ chức 7
Chương1: Quản lý phần mềm cổ truyền 9
1.1.Mô hình thác nước 11
1.1.1.Lý thuyết 11
1.1.2.Trong thực hành 16
1.2 Quản lý phần mềm thông thường 22
Chương 2: Sự tiến hoá nền kinh tế phần mềm 26
2.1.Nền kinh tế phần mềm 26
2.2.Sự ước lượng chi phí phần mềm thực dụng 31
Chương 3: Cải tiến kinh tế phần mềm 36
3.1.Giảm kích thước sản phẩm phần mềm 38
3.1.1.Các ngôn ngữ 39
3.1.2.Các Phương pháp hướng đối tượng và mẫu trực quan 42
3.1.3.Tái sử dụng 43
3.1.4.Các thành phần thương mại 45
3.2.Cải tiến các tiến trình phần mềm 46
3.3.Cải tiến hiệu quả nhóm làm dự án 48
3.4.Cải tiến kỹ thuật tự động hoá qua các môi trường phần mềm 52
3.5.Đạt được yêu cầu chất lượng 55
3.6.Chú ý vào việc kiểm tra: một quan điểm thực dụng 57
Chương 4: Cách cũ và cách mới 60
4.1.Các nguyên tắc của kỹ thuật phần mềm truyền thống 60
4.2.Các nguyên tắc quản lý phần mềm hiện đại 68
4.3.Chuyển sang một tiến trình lặp 72
Chương 5: Các giai đoạn của vòng đời 75
5.1.Giai đoạn công nghệ và giai đoạn sản xuất 76
5.2.Giai đoạn khởi đầu 79
5.3 Giai đoạn cụ thể hoá 80
5.4 Giai đoạn xây dựng 82
5.5 Giai đoạn chuyển tiếp 84
Chương 6: Tạo tác qui trình 87
6.1.Tập mẫu 88
6.1.1.Tập điều hành 88
6.1.2.Tập công nghệ ( The engineering sets) 90
6.1.3.Sự tiến hoá của quá trình tạo tác qua vòng đời của nó 95
6.1.4.Tạo tác kiểm tra 97
6.2 Tạo tác điều hành 99
6.3.Tạo tác kỹ thuật 106
6.4.Tạo tác trong thực tế 108
Trang 3Chương 7: Mẫu kiến trúc phần mềm dựa trên mô hình 111
7.1 Kiến trúc: Từ góc nhìn về quản lý 112
7.2 Kiến trúc: Từ góc nhìn kĩ thuật 113
Chương 8: Luồng làm việc của tiến trình 118
8.1 Luồng làm việc củatiến trình phần mềm 118
8.2 Luồng lặp (Iteration workflows) 123
Chương 9: Các điểm kiểm tra quá trình 126
9.1.Các cột mốc chính 127
9.2.Các cột mốc phụ 134
9.3.Các đánh giá tình trạng định kì 135
Chương 10: Lập kế hoạch tiến trình lặp 138
10.1 Phân định cơ cấu các công việc chi tiết 139
10.1.1.Kết quả của WBS theo quy ước 139
10.1.2.Việc phân định cơ cấu công việc chi tiết hiện đại 142
10.2.Các nguyên tắc lập kế hoạch 147
10.3.Quá trình ước tính về chi phí và lịch trình của dự án 150
10.4.Quá trình xây dựng kế hoạch lặp, kéo dài vòng chu kỳ của dự án 151
10.5 Thực hiện kế hoạch 154
Chương 11: Tổ chức và chịu trách nhiệm dự án 156
11.1.Tổ chức ngành kinh doanh 156
11.2.Tổ chức dự án 159
11.3.Tiến triển của các tổ chức 167
Chương 12: Tự động hoá quá trình 168
12.1.Các công cụ 169
12.2.Môi trường dự án 173
12.2.1.Kỹ thuật trọn vòng(round-trip engineering) 174
12.2.2.Quản lý sự thay đổi(change management) 175
12.2.3.Cơ sở hạ tầng 182
Chương 13: Kiểm soát dự án và Công cụ xử lý 188
13.1.Bảy metrics cơ bản 189
13.2.Biểu thị quản lý 192
13.2.1.Công việc và tiến độ 193
13.2.2.Giá dự toán và chi phí 193
13.2.3.Bố trí nhân viên và nhóm động 197
13.3.Biểu thị chất lượng 198
13.3.1.Lưu lượng thay đổi và tính ổn định 199
13.3.2.Chia nhỏ và tính modul hoá 199
13.3.3.Làm lại và tính tương thích 199
13.3.4 MTBF và tính thành thục 200
13.4.Các dự tính vòng đời 202
13.5.Các metric phần mềm thực dụng 203
Trang 413.6.Metric tự động hoá 205
Chương 14: Sự biến đổi tiến trình - tailoring the process 211
14.1 Phân biệt các tiến trình 211
14.1.1.Qui mô 213
14.1.2.Liên kết hoặc cạnh tranh 216
14.1.3.Tiến trình mềm dẻo hay không mềm dẻo 218
14.1.4.Sự thuần thục tiến trình 219
14.1.5.Rủi ro kiến trúc 220
14.1.6.Kinh nghiệm trong lĩnh vực 221
14.2.Ví dụ về dự án qui mô nhỏ chống lại dự án qui mô lớn 222
Chương 15: Những sơ thảo về dự ỏn tiờn tiến 225
15.1.Tớch hợp liờn tục 226
15.2.Giải quyết sớm những rủi ro 227
15.3.Những yờu cầu phỏt triển 229
15.4.Sự hợp tỏc giữa cỏc cổ đụng 229
15.5.10 Nguyờn tắc quản lý phần mềm tốt nhất 230
15.6.Những ứng dụng thực tiễn tốt nhất của quản lý phần mềm 231
Chương 16: Thế hệ tiếp theo của quản lý kinh tế phần mềm 234
16.1.Mô hình định giá thế hệ tiếp theo 234
16.2 Kinh tế học phần mềm thế hệ tiếp theo 239
Chương 17: Sự quá độ sang xử lí hiện đại 242
17.1.Sự quá độ xét ở khía cạnh văn hoá 242
17.2.Đoạn kết 246
Trang 5Lời giới thiệu
Cuốn sách này trình bày cách tiếp cận tới những thế hệ thực hành về quản lý phần mềm Rất nhiều tổ chức vẫn bám vào mô hình thác nước, thậm chí nó không được hoàn thiện lắm nhưng nó đưa ra được một hướng dẫn quản lý khá tỉ mỉ, cách để tiến hành để xử lý các tình trạng phần mềm đưa ra
Trên thực tế khó đưa ra được một cách tiếp cận quản lý đầy đủ thích hợp với những vấn đề như là các vấn đề về tích hợp các thành phần thương mại, tái sử dụng phần mềm, quản
lý rủi ro và các tiến trình phần mềm tăng trưởng xoáy chôn ốc Cuốn sách này cung cấp một khung kiểm tra bằng các kinh nghiệm và tập các hướng dẫn để xử lý nó như thế nào?
Ông Walker Royce đã phát triển và kiểm tra cách tiếp cận quản lý phần mềm trong quá trình tham gia từ khảo sát sơ bộ đến phân phối sản phẩm phần mềm cho không lực của Mỹ
Nền công nghiệp phần mềm đã hướng tới một phương pháp mới để quản lý độ phức tạp không ngừng tăng nhanh của các dự án phần mềm Trước đây chúng ta đã từng thấy cuộc cách mạng, cuộc biến đổi và những vấn đề đang diễn ra kể cả thành công và thất bại Trong khi những công nghệ các tiến trình và các phương pháp phần mềm đang phát triển một cách nhanh chóng thì kỹ nghệ phần mềm vẫn còn là một quá trình đòi hỏi sự nghiên cứu sâu sắc của con người
Tài liệu này sẽ đề cập đến các nhận thức tổng quan về quản lý phần mềm và nhấn mạnh một cách nhìn cân đối những yếu tố sau:
Lý thuyết và thực tiễn
Kỹ thuật của con người
Yêu cầu giá trị của khách hàng và lợi ích của nhà cung cấp
Chiến lược và sách lược
Mặc dù vậy bạn cũng nên quan tâm đến một vấn đề quản lý quan trọng đó là sự điều chỉnh cân đối Điều đặc biệt quan trọng là đạt tới các mục tiêu của các cổ đông khác nhau, người mà có giao tiếp với những người khác bằng những ngôn ngữ và các ký hiệu khác nhau Đây là sự thúc đẩy những nhà sáng lập, một sự mô tả trừu tượng của hòn đá Rosetta Ba ngôn ngữ biểu diễn cơ bản vốn có trong công nghệ phần mềm là với các yêu cầu (ngôn ngữ của không gian vấn đề), với thiết kế (ngôn ngữ chuyển dịch của kỹ sư phần mềm) và với cài đặt (ngôn ngữ thực hiện không gian vấn đề trên máy tính) Chỉ có những mốc như là những hòn đá Rosetta mới có thể chuyển dịch được các ký tự Hy Lạp, các kỹ thuật phần mềm có thể chuyển dịch những vấn đề thành các giải pháp mà nó thoả mãn tất cả các cổ đông
Không có một cuốn sách chế biến nào cho quản lý phần mềm Không có một công thức làm món ăn nào cho một thực tiễn rõ ràng Tôi sẽ cố gắng tiếp cận đến các vấn đề một cách
Trang 6khoa học hiện thực và kinh nghiệm nhất, nhưng việc quản lý là một vấn đề rất rộng trong việc đánh giá theo một nghĩa chung và quyết định phụ thuộc vào tình huống Đó là điều tại sao mà các nhà quản lý được động viên
Một vài chương bao gồm những phần thực dụng và thường được xử lý chặt chẽ trong các chủ đề cụ thể Để phân biệt thế giới thực với các mô hình xử lý chung: các kỹ thuật và nguyên lý, thì phần đầu của mỗi một chương có từ thực dụng (pragmatic) Bởi nghĩa thực dụng
có nghĩa là không có sự ảo tưởng và về mặt thực tiễn, nó là chính xác về ý nghĩa của những phần này Chúng sẽ bao gồm những ý kiến mạnh và những vị trí khiêu khích và nó sẽ làm cho thần kinh của độc giả, những người bảo thủ trong một số thực hành, công cụ hoặc kỹ thuật lỗi thời hay quá hạn
Tôi sẽ cố gắng để phân biệt trong các kỹ thuật đưa ra, những cách tiếp cận mới và những kỹ thuật lỗi thời bằng cách sử dụng những cách chứng minh phù hợp Trong hầu hết các trường hợp tôi ủng hộ những quan điểm với những lí lẽ kinh tế đơn giản và nghĩa chung cùng với những kinh nghiệm vặt từ những ứng dụng Rất nhiều những tư liệu giả thuyết đã rút ra từ cách quản lý những dự án thành công trên 10 năm qua (những vấn đề của thực tiễn) Mặt khác một số những tư liệu trình bày những vấn đề đã được chứng minh (những vấn đề của nghệ thuật), những cách tiếp cận về giả thuyết mà không có việc chứng minh rõ ràng trong thực tiễn Chúng ta phải đấu tranh với một quan điểm của cuốn sách này được coi là giáo dục về quản lý hay là đào tạo về quản lý Việc phân biệt này dường như là sự bới lông tìm vết nhưng nó rất quan trọng, một ví dụ là chúng ta hãy nghe việc minh hoạ sự khác nhau 15 năm trước đây Giả
sử rằng một bé gái của bạn từ trường về nhà vào một ngày nào đó và hỏi: "Thưa cha mẹ! Con
có thể tham dự một khoá học về giáo dục giới tính ở trường được không?" Phản ứng của bạn hẳn là sẽ khác nếu như bé gái hỏi: " Con có thể tham dự một khoá huấn luyện về giới tính ở trường được không? " (điều này có nghĩa phần nào giúp tôi hiểu rằng con gái đã trưỏng thành)
Quá trình đào tạo huấn luyện có một khía cạnh về tri thức ứng dụng mà làm cho tri thức hữu ích hoặc kém hữu ích hơn ngay lập tức Mặt khác giáo dục là tập trung về việc giảng dạy các nguyên lý dựa vào kinh nghiệm và tinh thần của các mục tiêu với việc ứng dụng của những tri thức này dành cho người học Tôi cố gắng để tập trung vào cuốn sách này như là một sự chuyển tải giáo dục quản lý (Tôi không chắc chắn một điều rằng việc đào tạo quản lý khác với kinh nghiệm vừa học vừa làm) Tôi sẽ không ngụy biện rằng lời khuyên của tôi là có thể áp dụng được trực tiếp trên mọi dự án Mặc dù tôi đã cố gắng chứng minh các quan điểm nếu có thể được, một số quan điểm sẽ không được chứng minh vì nó chỉ thuần tuý là giả thuyết Tôi
hy vọng rằng sự phỏng đoán và lời khuyên của tôi sẽ khuyến khích các cuộc tranh luận và sự tiến triển sau này
Các bạn đọc của tôi đang thực hiện một bản gam (gamut) những thực hành chuyên môn về phần mềm Các đọc giả chính là những người ra quyết định: những người có trách nhiệm đầu tư và chi phí về ngân sách phần mềm Nhóm này bao gồm các nhà quản lý về tổ chức, những nhà quản lý về dự án, những nhân viên yêu cầu phần mềm và cán bộ của họ Đối
Trang 7với đọc giả này tôi sẽ cố gắng đưa ra các hướng dẫn có thể ứng dụng được trực tiếp đối với việc sử dụng các quyết định thực tế ngày nay và đầu tư chiến lược trong tương lai Một loại đọc giả quan trọng khác là những người thực hành phần mềm mà họ thoả thuận và thực hiện kế hoạch, triển khai phần mềm trên những mục tiêu dự án và tổ chức
Nội dung cách viết cuốn sách
Bởi vì tôi viết cho lượng lớn độc giả nên tôi đã không đi sâu vào chi tiết kỹ thuật hoặc những nguyên lý kỹ thuật, những vấn đề này được trình bày tốt hơn trong những cuốn sách khác Thay vào đó tôi đưa ra một cách bàn luận khá sâu sắc về kinh tế, về mẫu quản lý, về những chiến lược phân chia công việc, về chiến lược tổ chức, những độ đo; đó là những điều cần thiết để xây dựng kế hoạch và thực hiện thành công một dự án phần mềm
Có nhiều minh hoạ sẽ làm cho những chủ đề phức tạp trở nên dễ hiểu hơn Sự chính xác và đúng đắn của các hình vẽ và các bảng là sự minh hoạ tốt nhất Trong khi hầu hết các dữ liệu số mô tả chính xác một số khái niệm, xu hướng, kỳ vọng hoặc các quan hệ, thì các cách thức trình bày mang tính không chính xác vì mục đích Trong khung cảnh quản lý phần mềm
sự khác biệt giữa tính chính xác và tính đúng đắn là không đáng kể vì có thể từ hai lý do:
1 Quản lý phần mềm là những vùng đầy màu xám, nó phụ thuộc vào tình trạng và những trả giá nhập nhằng Đó là sự khó khăn nếu không muốn nói là không thể chứng minh tính đúng đắn của nhiều khái niệm và giữ lại sự chính xác của cách trình bày trong một lĩnh vực rộng lớn
2 Hiểu được sự khác nhau giữa chính xác và đúng đắn là kỹ năng cơ bản của những nhà quản lý phần mềm giỏi, người phải dự đoán một cách đúng đắn những ước lượng rủi ro và những ảnh hưởng của sự thay đổi Độ chính xác không hiệu chỉnh trong các yêu cầu hoặc kế hoạch đã được chứng minh dù chưa rõ ràng, nhưng nó thường gây trở ngại tới thành công của
dự án
Trong rất nhiều cách biểu diễn số, các giá trị tuyệt đối thường là không quan trọng và hoàn toàn thay đổi trong các lĩnh vực và các tình huống dự án khác nhau Các giá trị quan hệ của nó tạo nên hầu hết các hình vẽ và bảng biểu
Nhân tiện tôi đưa ra những chứng cứ và kinh nghiệm thực tế để các nhà quản lý hướng tới những ngữ cảnh cụ thể, và liên hệ với những tiêu chuẩn đúng đắn và chính xác trong các điều kiện cụ thể Một số phần phụ lục sẽ làm sáng tỏ các kỹ thuật được trình bày ở đây có thể
đã được ứng dụng trên thực tế như thế nào Một thí về hệ thống tàu đô đốc sẽ được nghiên cứu xuyên suốt trong tài liệu, đây là một dự án lớn và thành công, đã đưa ra một ví dụ cụ thể là làm thế nào có thể quản lý tốt được công việc Nó cũng cung cấp một một khuôn khổ để hợp lý hoá một số tiến trình cải tiến và kỹ thuật
Tổ chức
Cuốn sách được chia thành 5 phần , mỗi phần gồm một số chương:
Trang 8Phần I, thời kỳ phục hưng của quản lý phần mềm Phần này mô tả hiện trạng của
nền kinh tế phần mềm và thực tiễn quản lý phần mềm và đưa ra sự chuyển dịch cần thiết đối với phần mềm được cải thiện về đầu tư
Phần II, những khuôn khổ của quản lý phần mềm Mô tả các nguyên lý về xử lý và
khuôn khổ cho việc quản lý phần mềm tiên tiến bao gồm : các pha về vòng đời, pha về chế tạo thử, pha về dòng công việc, và các điểm kiểm tra
Phần III, nguyên lý quản lý phần mềm Phần này tóm tắt một vài kỹ thuật áp dụng
cho lập kế hoạch, điều khiển và tự động hoá một quá trình phần mềm tiên tiến
Phần IV, xu hướng phát triển Các giả thuyết về các hiệu năng của dự án tiên tiến và
nền kinh tế phần mềm trong thế hệ tới và bàn luận về sự dịch chuyển văn hoá cần thiết cho sự thành công
Phần V, các ví dụ cụ thể và tài liệu tham khảo Gồm 5 phụ lục, đưa ra những cái cơ
bản cho việc chứng minh một vài nhận xét, chỉ dẫn và ý kiến được trình bày ở một vài nơi
Trang 9Chương 1
Quản lý phần mềm cổ truyền
Thời kì phục hưng của quản lý phần mềm Nền công nghiệp phần mềm đã có một kinh nghiệm trong thời kì phục hưng Rất nhiều những nguyên lý công nghệ phần mềm đã hằn sâu đang bị bó hẹp và lỗi thời bởi những kỹ thuật mới hoặc thay thế bằng những kỹ thuật tốt hơn hoặc mức độ tự động hoá cao hơn
Cho dù nguyên lý nào đi chăng nữa thì điều quan trọng là người làm thực tế phải hiểu được trạng thái hiện tại trước khi biến đổi, chuyển dịch sang cái mới Trước khi cân nhắc một khuôn khổ quản lý phần mềm cho tương lai thì cần thiết phải hiểu nền công nghiệp hiện nay đang ở đâu và làm sao có thể chiếm lĩnh được nó
Trong 10 năm đã qua tôi đã tham gia và đóng góp để cải tiến các quá trình phần mềm của trên 500 công ty Mục tiêu cụ thể của các đóng góp này là đạt được 2X, 3X, hoặc 10X tăng lên về năng suất, chất lượng, thời gian đối với thị trường hoặc tổ hợp của cả 3 điều trên ở đây
X là tương ứng với độ tốt lên của công ty đó giờ đây như thế nào Một điều hài hước rằng rất nhiều các tổ chức này không có ý tưởng X là cái gì theo nghĩa mục tiêu
Những chương trong phần I giới thiệu trạng thái thực tế trong nền công nghiệp phần mềm và xác định X trong các tiến trình quản lý phần mềm thông thường
Trang 10Điểm chính :
¾ Những thực tiễn quản lý phần mềm cổ truyền dường như chỉ là lý thuyết nhưng thực tiễn vẫn còn gắn chặt với công nghệ và kỹ thuật cổ xưa
¾ Nền kinh tế phần mềm cổ truyền đưa ra những tiêu chuẩn về hiệu suất của các nguyên lý quản lý phần mềm cổ truyền
Một điều tốt nhất về phần mềm đó là tính linh hoạt mềm dẻo: Nó có thể được lập trình
để thực hiện hầu hết mọi việc Điều tồi nhất về phần mềm cũng là tính linh hoạt mềm dẻo: các đặc tính "hầu như mọi thứ" rất khó trong lập kế hoạch, tiến độ và điều khiển sự phát triển phần mềm Việc không dự đoán này là điều cơ bản của cuộc ''khủng hoảng phần mềm'' trên 30 năm nay
Vào giữa những năm 1990 ít nhất có 3 phân tích quan trọng về nền công nghiệp kỹ nghệ phần mềm được thực hiện kết quả được công bố trong các ấn phẩm
1 Patterns of Software Systems Failure and Success (Jones, 1996)
2 Chaos (Standish Group , 1995)
3 Report of the Defense Science Board Task Force on Acquiring Defense Software Commercially (Defense Science Board, 1994)
Phụ lục A làm nổi bật một và kết quả có liên quan
Tất cả 3 phân tích đó cùng đạt tới một kết luận chung: Mức độ thành công đối với dự án phần mềm là rất thấp Mặc dù các phân tích này có một vài nhận thức khác nhau nhưng thông báo chủ yếu của họ được bổ sung cho nhau và rất kiên định Chúng ta có thể tóm tắt như sau:
1 Việc phát triển phần mềm vẫn là cái không dự đoán được rất cao chỉ có khoảng 10% các dự án phần mềm được coi là thành công, với những ước lượng về ngân sách và tiến
độ ban đầu
2 Các nguyên lý về quản lý nặng về phán đoán thành công hay thất bại hơn là các tiến
bộ về kỹ thuật
3 Mức độ manh mún của phần mềm cũng như sự không kế thừa đã chỉ ra một tiến trình còn non nớt
Ba phân tích này đã giới thiệu cách quản lý các phần mềm và những tiêu chuẩn hiện tại đối với quá trình quản lý phần mềm cổ truyền Có rất nhiều mảnh đất để phát triển
Hãy nhớ những tóm tắt của các chương về khung tiến trình quản lý phần mềm mà hầu hết những phần mềm truyền thống đã được sử dụng Trong khi những khuôn khổ mà chúng ta
đã biết là mô hình thác nước có rất nhiều sự biến động đó là tiến trình vạch danh giới đối với hầu hết những kinh nghiệm của dự án phần mềm đã được tích luỹ cho tới ngày nay Và trong