intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Phương pháp phát triển phần mềm linh hoạt

Chia sẻ: Angel Harry | Ngày: | Loại File: PDF | Số trang:41

258
lượt xem
78
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tài liệu tham khảo - Phương pháp phát triển phần mềm linh hoạt Agile Software Development

Chủ đề:
Lưu

Nội dung Text: Phương pháp phát triển phần mềm linh hoạt

  1. Phương pháp phát tri n ph n m m linh ho t Agile Software Development Nhóm nghiên c u: - Tri u Minh Ti n - Nguy n Vi t Tùng - Ph m Đ c Khánh (Chương trình Vi t - Nh t * Đ i h c Bách Khoa Hà N i) HEDSPI HUT Tài li u tham kh o: - Agile software development methods - Review and analysis Pekka Abrahamsson, Outi Salo & Jussi Ronkainen, 2002 - An Introduction to Agile Methods Steve Hayes (Khatovar Technology) Martin Andrews (Object Consulting) - Internet http://en.wikipedia.org/wiki/Agile_Software_Development … I. T ng quan: 1. S c n thi t c a m t mô hình phát tri n ph n m m m i Chúng ta đã vi t ph n m m đư c 30 năm nhưng nh ng gì chúng ta đã làm đư c còn r t ít. Thành công c a chúng ta đư c thúc đ y b i s tư ng tư ng, sáng t o c a con ngư i. Chúng ta càng vi t ra nhi u ph n m m thì s đòi h i, yêu c u c a con ngư i càng nhi u. Chính vì v y, nh ng nhà qu n lý và phát tri n ph n m m ti p t c tìm ki m phương th c phát tri n ph n m m t t hơn. So v i 30 năm trư c chúng ta đã có nh ng chi c máy tính r hơn, nhanh hơn, nhi u ngôn ng l p trình m nh m ra đ i, s lư ng nhi u hơn c n thi t nh ng công c h tr , s đào t o t t hơn và có nh ng hi u bi t sâu hơn v lý thuy t ph n m m. Internet đã thay đ i cách con ngư i giao ti p v i nhau, thúc đ y s trao đ i thông tin và thay đ i m t cách tri t đ s kỳ v ng c a con ngư i v cách th c ph n m m làm vi c. Chúng ta cũng có s lư ng đáng k nh ng phương pháp khác nhau giúp xác đ nh
  2. con đư ng phát tri n ph n m m t t nh t và đó chính là khía c nh c a vi c phát tri n ph n m m mà chúng ta s t p trung vào trong th i gian t i. a. Nh ng h n ch c a mô hình phát tri n ph n m m truy n th ng Đã có r t nhi u mô hình phát tri n ph n m m đư c t o ra trong nh ng năm qua. Có th k đ n như: - Pure waterfall - Code-and-Fix - Spiral - Modifed Waterfalls - Evolutionary Prototyping - Staged Delivery - Evolutionary Delivery - Design-to-Schedule - Design-to-Tools - Commercial Off-the-shelf Software Khi xây d ng các phương pháp truy n th ng ngư i ta đã c g ng trang b cho chúng kh năng d đoán trư c. V i kh năng này ta có th t o ra m t b n k ho ch t i th i đi m đ u c a d án và xác đ nh đư c th i gian hoàn thành d án d a theo b n k ho ch này. Và v n đ c h u trong quá trình th c hi n d án v n là “s thay đ i yêu c u c a ngư i dùng”. Thông thư ng khách hàng không thay đ i yêu c u c a h b i vì h bi t r ng chi phí đ thay đ i r t đ t. Tuy nhiên ph n m m không ph i là th h u hình. Khách hàng không ch khó đ xác đ nh m t cách chính xác cái gì là c n thi t mà cũng khó đ hi u t i sao vi c thay đ i l i khó khăn như v y. H mong đ i m t ph n m m ph i có tính m m d o. Nh ng phương pháp truy n th ng đã đưa ra nh ng th t c nh m ngăn ch n s thay đ i yêu c u t phía khách hàng. Đi u này giúp duy trì b n k ho ch d án đã xây d ng ban đ u nhưng l i không đ m b o r ng k t qu cu i cùng là nh ng gì mà khách hàng mong mu n. Kh năng d đoán trư c có th là đi u ư c ao nhưng ta ch có th đ t đư c đi u đó v i giá ph i tr là s gi m sút ch t lư ng ph n m m không th a mãn đư c đòi h i c a khách hàng. V i nh ng h n ch như v y c a nh ng phương pháp phát tri n ph n m m truy n th ng, ta th c m c r ng t i sao chúng l i đư c s d ng và n u chúng đã đư c s d ng trong quá kh thì l i t b chúng bây gi ? Ph i chăng m t vài th đã thay đ i. Trong su t th p niên 80 nh ng thay đ i cơ b n đã x y ra và
  3. k t qu là hình thành nên “th gi i nhanh” – th gi i c a s toàn c u hóa và “th gi i ch m” c a nh ng ai t tách mình ra kh i quá trình toàn c u hóa. S phát tri n ph n m m di n ra trong th gi i nhanh và s thay đ i di n ra đ ng th i công ngh , tài chính, thông tin và đi kèm v i chúng là s d b nh ng hàng rào chính tr đư c duy trì su t th i kỳ chi n tranh l nh. M i vi c di n ra nhanh hơn. Nh ng đ i th xu t hi n, s thành công hay th t b i ch là ranh gi i mong manh. Vòng đ i c a s n ph m ng n hơn và ngư i dùng thì hay thay đ i. Không có gì là ng c nhiên khi nh ng phương pháp phù h p v i th p niên 70 l i th t b i trong th p niên 80 và 90. b. S n i lên c a phương pháp linh ho t Trong th p k 90 nhi u ngư i đã nh n ra m i th đã thay đ i b ng cách này hay cách khác. Nh ng ngư i này đã quan tâm t i phương pháp phát tri n ph n m m linh ho t hơn, phù h p hơn v i môi trư ng làm vi c luôn luôn v n đ ng. M c dù chi ti t nh ng phương pháp này là khác nhau nhưng chúng đ u có chung m t s nguyên t c và trong m t ph m vi nào đó nh ng phương pháp này thư ng đư c nhóm l i v i nhau dư i tên g i “nh ng phương pháp linh ho t – agile methodologies”. 2. Phương pháp linh ho t Phương pháp phát tri n ph n m m linh ho t đư c đưa ra vào gi a nh ng năm 90 như là m t ph n c a s n l c ch ng l i nh ng phương pháp “n ng n ” – đi n hình b i nh ng quy đ nh kh t khe. Ban đ u chúng đư c g i là “phương pháp nh ”. Đ n năm 2001, 17 thành viên n i b t c a c ng đ ng phát tri n ph n m m linh ho t đã g p g t i Snowbird, Utah đ th o lu n v cách th c t o ra ph n m m linh ho t hơn, nhanh hơn và hư ng con ngư i hơn. H đã thông qua tên g i chính th c “phương pháp linh ho t”. Và cũng trong h i ngh này, Agile Manifesto – tuyên ngôn v phương pháp linh ho t đư c đưa ra và đư c công nh n r ng rãi như là m t đ nh nghĩa chu n c a phương pháp phát tri n linh ho t kèm theo nh ng nguyên t c cơ b n. B n tuyên ngôn hư ng t i nh ng giá tr : - S đ c l p và s tương tác d a trên các quy trình và công c : s v n đ ng linh ho t nh n m nh m i quan h và c ng đ ng các nhà phát tri n ph n m m và vai trò c a con ngư i đư c ph n ánh trong h p đ ng, trái v i nh ng quy trình đã đư c th ch hóa và nh ng công c phát tri n. Trong th c ti n nó t th hi n thông qua nh ng m i quan h ch t ch trong nhóm, vi c t o ra môi trư ng làm vi c g n gũi, và nh ng th t c khác đ nâng cao tinh th n c a nhóm.
  4. - V n hành ph n m m d a trên tài li u hư ng d n toàn di n : các m c tiêu quan tr ng c a nhóm phát tri n ph n m m là liên ti p đưa ra nh ng ph n m m đã đư c ki m th . Nh ng phiên b n m i thư ng đư c đưa ra hàng tháng th m chí m t vài phương pháp là h ng gi ho c hàng ngày. Nh ng nhà phát tri n luôn c g ng gi cho mã ngu n đơn gi n, rõ ràng nh t có th , b i v y gánh n ng v tài li u hư ng d n đư c gi m b t. - S c ng tác v i khách hàng d a trên thương th o h p đ ng : m i quan h và s h p tác gi a nh ng nhà phát tri n và khách hàng đư c đ nh rõ thông qua nh ng b n h p đ ng ch t ch . Nh ng d án càng l n thì càng c n m t b n d th o h p đ ng ch t ch . Quá trình thương lư ng nên đư c đánh giá như là phương ti n đ đ t đư c và duy trì m i quan h . Nhìn t quan đi m kinh doanh, phương pháp phát tri n linh ho t t p trung vào vi c nhanh chóng đưa ra đư c nh ng s n ph m có th đáp ng nh ng yêu c u cơ b n c a khách hàng ngay sau khi d án đư c ti n hành; do đó làm gi m nguy cơ v h p đ ng. - Đáp ng v i thay đ i d a trên m t k ho ch theo sau : nhóm phát tri n g m c nh ng nhà phát tri n ph n m m và đ i di n khách hàng nên đư c cung c p thông tin đ y đ , h có đ th m quy n và đươc y thác đ xem xét nh ng s đi u ch nh c n thi t trong su t vòng đ i c a quy trình phát tri n ph n m m. Như v y nh ng ngư i tham gia đư c chu n b đ đ i m t v i nh ng thay đ i và có th đưa ra đư c b n h p đ ng h tr và cho phép s thay đ i. M t s nguyên t c đi kèm sau tuyên ngôn có th k đ n như: - Ph n m m ch y n đ nh đư c bàn giao thư ng xuyên (hàng tu n ho c hàng tháng) - Nh ng thay đ i yêu c u dù mu n luôn đư c hoan nghênh - S h p tác g n bó khăng khít gi a nhà kinh doanh và nh ng nhà phát tri n ph n m m - Đ i tho i tr c ti p là hình th c giao ti p t t nh t - D án đư c ti n hành b i nh ng cá nhân nhi t tình, t n t y, đáng tin c y - Luôn luôn chú tr ng t i k thu t và thi t k - S đơn gi n - Các nhóm t t ch c - S thích nghi v i nh ng nh ng thay đ i 3. So sánh v i các phương pháp khác
  5. Phương pháp phát tri n linh ho t đôi khi b đánh giá là thi u tính k lu t. Nh ng nh n xét như v y gây ra s hi u l m. Đ hi u v n đ m t cách đúng đ n, ta có th hình dung r ng nh ng phương pháp phát tri n ph n m m hi n có n m trên m t tr c đi t “kh năng thích ng” t i “kh năng d đoán trư c” thì phương pháp phát tri n linh ho t n m v phía “kh năng thích ng”. Nh ng phương pháp n m v phía “kh năng thích ng” có th thích nghi nhanh chóng v i nh ng thay đ i c a th c t . Khi mà nh ng yêu c u c a d án thay đ i, nhóm th c hi n c n ph i có nh ng đi u ch nh thích h p. H s g p khó khăn đ mô t chính xác nh ng gì s x y ra trong tương lai. Tương lai càng xa thì s khó khăn đó càng l n. Nhóm th c hi n có th báo cáo chính xác công vi c s đư c ti n hành trong tu n t i nhưng ch có th báo cáo nh ng tính năng nào s đư c xây d ng trong tháng t i. Và khi đư c h i v phiên b n ph n m m trong 6 tháng ti p theo thì h ch có th đưa ra đư c nh ng tính năng chung nh t ho c đưa ra kinh phí d ki n. Trong khi đó nh ng phương pháp n m v phía “kh năng d báo trư c” trong h p đ ng v i khách hàng, t p trung vào xây d ng m t k ho ch chi ti t cho tương lai. Nhóm th c hi n d án có th báo cáo chính xác nh ng tính năng và công vi c c n th c hi n trong toàn b quy trình phát tri n ph n m m. B n k ho ch đư c t i ưu hoá cho nh ng m c tiêu đã đ t ra lúc đ u và s thay đ i có th khi n cho công vi c đã hoàn thành tr nên vô nghĩa. Nhóm phát tri n d án s xây d ng m t b ng ki m soát nh ng thay đ i đ đ m b o r ng ch nh ng thay đ i có giá tr m i đư c xem xét đ n. a. Phân bi t v i mô hình thác nư c Phương pháp phát tri n linh ho t có vài đi m chung nh v i mô hình thác nư c. Hi n nay mô hình thác nư c v n đư c s d ng ph bi n. Nó đư c lên k ho ch trư c và đư c ti n hành l n lư t qua các bư c n m b t yêu c u, phân tích, thi t k , vi t code và ki m th m t cách nghiêm ng t. V n đ c a mô hình thác nư c là s phân chia c ng nh c d án thành các giai đo n riêng bi t và do đó r t khó khăn khi mu n thay đ i yêu c u. Chi phí đ th c hi n l i r t đ t. Đi u đó có nghĩa là mô hình thác nư c không thích h p khi mà không th xác đ nh chính xác, rõ ràng yêu c u c a khách hàng ho c nh ng yêu c u có th thay đ i trong quá trình ti n hành d án. Phương pháp phát tri n linh ho t, trong h p đ ng, s nhanh chóng đưa ra s n ph m ho t đ ng n đ nh v i nh ng tính năng cơ b n giúp khách hàng s m đư c s d ng s n ph m ph c v m c
  6. đích c a h . Sau đó nhóm phát tri n ti p t c nâng c p s n ph m trong su t th i gian ti n hành d án, hàng tu n ho c tháng s b sung nh ng tính năng đư c đư c phát tri n và ki m th toàn di n. Theo khía c nh này, nh ng ngư i ch trích phương pháp linh ho t có th qu quy t r ng nh ng tính năng này không đư c xem xét trong quy mô toàn d án. N u ngư i tài tr d án lo ng i v th i gian hoàn thành toàn b d án đã đư c đ nh trư c hay ngân sách đ u tư cho d án thì phương pháp linh ho t có th không thích h p. Tuy nhiên l i ch trích này g p ph i s ph n đ i c a c ng đ ng phát tri n ph n m m linh ho t. H cho r ng v i SCUM (m t phương pháp phát tri n linh ho t s đư c tìm hi u kĩ hơn ph n sau), nhóm phát tri n có th đ y nhanh ti n đ th c hi n và liên t c c i thi n k ho ch chi n lư c. Vài nhóm phát tri n ph n m m linh ho t s d ng mô hình thác nư c v i quy mô nh trong các giai đo n c a d án. b. Phân bi t v i “Cowboy coding” Khi nh ng thành viên trong nhóm làm b t c đi u gì h cho là đúng, không tuân th k lu t, nguyên t c thì ngư i ta g i đó là “Cowboy coding”. S thư ng xuyên đánh giá l i các k ho ch c a phương pháp phát tri n linh ho t, s chú tr ng vào giao ti p m t đ i m t tr c ti p và v n đ tài li u hư ng d n đi kèm khá ít đôi khi khi n cho ngư i dùng l m tư ng nó v i “cowboy coding”. Tuy nhiên th c t là nhóm phát tri n ph n m m linh ho t luôn làm vi c theo m t quy trình đã đư c v ch rõ ( và thư ng r t k lu t và nghiêm ng t). Gi ng như t t c các phương pháp phát tri n ph n m m, k năng và kinh nghi m c a ngư i s d ng quy t đ nh đ m c đ thành công ho c th t b i c a s n ph m. Càng có nhi u h th ng ki m soát kh t khe đư c nhúng vào trong quy trình phát tri n thì trách nhi m c a ngư i s d ng càng đư c nâng cao. II. Các phương pháp phát tri n ph n m m linh ho t Các phương pháp phát tri n ph n m m linh ho t hi n nay bao g m: Extreme programming (XP), Scrum, Crystal family of methodologies, Feature Driven Development (FDD), The Rational Unified Process, Dynamic Systems Development Menthod (DSDM), Adaptive Software Development, Open Sourse Software Development, ngoài ra còn có các phương pháp khác.
  7. 1. L p trình c c h n - Extreme programming (XP) XP là m t phương pháp xây d ng ph n m m m i, d a trên lý thuy t phương pháp phát tri n ph n m m linh ho t đư c phát tri n b i Kent Beck, Ward Cunningham, and Ron Jeffries, nó nh n m nh vào s c ng tác, t o ra ph n m m m t cách nhanh chóng, và phát tri n m r ng m t cách khéo léo trong quá trình th c hành. Nó đư c cô đ ng l i trong b n giá tr : s giao ti p (communication), đơn gi n hóa (simplicity), s ph n h i (feedback), và th m nh (courage). N u b n làm vi c trong m t môi trư ng mà đó các nhu c u đư c ch đ thay đ i và các khách hàng s đư c l i t vi c bàn giao ph n m m s m và thư ng xuyên thì ch c ch n nên xem xét XP . Các nhóm làm theo XP s thư ng xuyên nh n ra r ng h đang bàn giao các s n ph m ph n m m ch t lư ng cao vi s lư ng r t l n và nhanh hơn trư c đây r t nhi u. [http://vi.wikipedia.org/wiki/L p_trình_c c_h n] XP bao g m m t t p h p các lu t giá tr và th c hành giúp ngư i l p trình mô t chi ti t các hành vi. Vòng đ i c a XP g m có các pha: Kh o sát (Exploration), L p k ho ch (Planning), Các bư c l p đ phát hành (Iteration to Release), S n xu t (Productionizing), B o trì và k t thúc (Maintenance and Death).
  8. Theo mô t c a Beck’s (1999b) thì pha ban đ u là pha “Khám phá”. Trong pha này khách hàng vi t ra các yêu c u v s n ph m vào các “story card”. M i “story card” s mô t m t đ c trưng s đư c thêm vào trong chương trình. Trong khi đó nhóm phát tri n s gi i thi u nh ng công c , công ngh , nh ng th c thi mà h s s d ng trong d án đó. Công ngh s d ng c n đư c ki m tra và ki n trúc có th đư c phân tích b ng cách xây d ng m t nguyên m u. Pha này có th kéo dài vài tu n đ n vài tháng tùy thu c vào t ng d án và nhóm phát tri n. pha th hai đó là pha “L p k ho ch” là t p h p các th t ưu tiên cho nh ng yêu c u và th ng nh t n i dung cho phiên b n ph n m m đ u tiên. Ngư i l p trình đ u tiên ph i ư c lư ng kh năng đáp ng các yêu c u này và l p th i gian bi u cho vi c th c hi n. Kho ng th i gian đ đưa ra b n phát hành đ u tiên thư ng không vư t quá 2 tháng. Pha “L p đ phát hành” bao g m m t s bư c l p trong h th ng đ t o ra b n phát hành đ u tiên. Th i h n đã đ t ra trong bư c l p k ho ch có th b s p đ n u như th i gian đ th c thi các bư c l p t m t đ n b n tu n. Bư c l p đ u tiên t o ra m t h th ng bao g m ki n trúc c a c m t h th ng. Đi u đó đ t đư c b ng cách th c thi nh ng yêu c u có tác đ ng m nh m đ n vi c xây d ng c u trúc c a c h th ng. Khách hàng s quy t đ nh yêu c u nào đư c ch n qua m i bư c l p. Các hàm ki m tra đư c t o b i khách hàng s ch y khi m i bư c l p k t thúc. Đ n khi k t thúc bư c l p cu i cùng thì s n ph m đã đư c hoàn thành. Pha “S n xu t” s có các ki m tra thêm đ i v i ho t đ ng c a h th ng trư c khi t o ra m t h th ng hoàn ch nh giao cho khách hàng. Trong pha này, nh ng thay đ i m i v n có th đư c phát hi n và s quy t đinh s đư c đưa ra n u chúng n m trong b n phát hành hi n t i. Trong su t pha này, các bư c l p c n đư c đ y nhanh hơn gi m t ba tu n xu ng còn kho ng m t tu n. Các ý ki n và yêu c u b xung s đư c ghi nh n l i và th c hi n pha ti p theo. Trong khi phiên b n đ u tiên đang đư c khách hàng s d ng thì nhóm phát tri n v n ph i đ ng th i v a gi cho h th ng làm vi c liên t c v a duy trì nh ng bư c l p m i đ t o ra các phiên b n k ti p. Đ làm đư c vi c này, pha “Phân tích” đòi h i nh ng c g ng đ chăm sóc khách hàng. Vì v y t c đ có th b ch m l i sau khi s n ph m đã hoàn thành. Trong pha này có th yêu c u k t h p m t s ngư i m i làm thay đ i c u trúc c a nhóm l p trình.
  9. Pha “Ch t” b t đ u khi khách hàng không còn yêu c u nào n a đ thi hành. Lúc này khách hàng đã th a mãn v i nh ng ch c năng mà ph n m m đem l i. Đây là lúc thích h p đ vi t tài li u c n thi t v h th ng, lúc h th ng đã n đ nh, không có s thay đ i trong ki n trúc, thi t k hay l p trình. “Ch t” cũng có th x y ra n u như h th ng không đ t đư c k t qu mong đ i ho c nó quá đ t đ phát tri n ti p. Đ i v i ngư i l p trình ph i vi t chương trình và ki m th m t cách càng đơn gi n và càng rõ ràng càng t t. Đi u đ u tiên t o nên thành công c a phương pháp phát tri n ph n m m XP là s giao ti p và h p tác gi a các l p trình viên khác và các thành viên trong nhóm. Khách hàng vi t ra yêu c u và các hàm ki m tra và quy t đ nh khi nào các yêu c u đư c th a mãn. Khách hàng t p h p các th c thi ưu tiên cho các yêu c u. Ki m đ nh viên s giúp khách hàng vi t hàm ki m tra. H ch y hàm ki m tra m t cách thư ng xuyên, thông báo r ng rãi k t qu ki m tra và duy trì công c ki m tra. Ngư i theo dõi s đưa ra các ph n h i trong XP. H xác đ nh các ư c lư ng đư c t o b i nhóm l p trình và đưa ra ph n h i trong vi c làm th nào nhóm l p trình có th tu n t c i thi n các ư c lư ng trong tương lai m t cách chính xác. Ngư i này cũng theo sát s ti n tri n c a m i vòng l p đ ư c lư ng xem có hay không vi c đ t t i k t qu trong ph m vi ngu n l c cho phép và th i gian ràng bu c ho c có gi thay đ i c n thi t trong quá trình x lý. Hu n luy n viên là ngư i ch u trách nhi m cho toàn b quá trình phát tri n ph n m m. Vi c hi u rõ XP có vai trò quan tr ng cho phép hu n luy n viên có th hư ng d n cho nh ng thành viên trong nhóm tuân theo. Chuyên gia là nh ng ngư i có ki n th c chuyên bi t v v n đ nào đó, h có nhi m v hư ng d n nhóm l p trình gi i quy t các v n đ chuyên bi t c a h . Ngư i qu n lý là ngư i đưa ra nh ng quy t đ nh. Đ làm đư c vi c đó anh ta ph i giao ti p v i nhóm l p trình đ quy t đ nh nh ng tình hu ng t c th i, và đ nh n đ nh nh ng khó khăn ho c thi u h t trong quá trình th c hi n. XP bao g m m t t p các ý tư ng và th c thi d a trên nh ng phương pháp lu n đã có (Beck 1999a). Chính s quy t đ nh đã t o nên c u trúc. Trong khi khách hàng đưa ra nh ng quy t đ nh mang tính thương m i thì nh ng ngư i l p trình l a ch n công ngh , đó chính là ý tư ng c a Alexander (1979). Lo i hình
  10. phát tri n nhanh XP có ngu n g c t nh ng ý tư ng hình thành sau Scrum (Takeuchi and Nonaka 1986) và ngôn ng mô hình c a Cunningham (1986). Vi c l p d án s d ng XP d a trên nh ng yêu c u t phía khách hàng đư c v ra t nh ng tình hu ng s d ng (Jacobsen 1994) và phương pháp phát tri n phân ph i sinh ra b i Gilb (1988). Cũng như mô hình xo n c, s ph n h i ban đ u là mô hình thác nư c c hai đ u có nh hư ng lên phương pháp XP. Phép n d c a XP kh i đ u t nghiên c u c a Lakoff, Johnson (1998) và Coyne (1995). Cu i cùng thì môi trư ng làm vi c v t lý đã đư c Coplien (1998), DeMarco và Lister (1999) tìm ra. M c tiêu mà XP nh m đ n là vi c phát tri n ph n m m thành công cho dù có s m p m và yêu c u liên t c b thay đ i trong m t nhóm l p trình. Nh ng bư c l p ng n v i phiên b n phát hành nh và t c đ ph n h i nhanh, s tham gia c a khách hàng, s trao đ i và h p tác, nh ng bư c l p liên t c và ki m đ nh, chung quy n s h u ph n l p trình, nh ng tài li u h n ch và phương pháp l p trình theo c p là nh ng đ c trưng chính c a phương pháp XP. Th c thi c a XP đư c bi u di n theo c u trúc c a Beck (1999ª). Đó là các bư c L p k ho ch B n phân ph i nh và ng n Phép n d Thi t k đơn Tái t o L p trình theo c p Quy n s h u t p th Bư c l p liên tc 40 gi m t tu n Khách hàng có m t Chu n l p trình Không gian làm vi c m Quy t c, lu t l . Beck cho r ng phương pháp XP s d n d n đư c ch p nh n: “N u b n mu n th XP, cho nh ng m c đích t t đ p thì đ ng c nu t t t c m t lúc. Ch n ra v n đ t i t nh t trong x lý hi n th i c a b n và c x lý nó v i phương pháp XP.”
  11. M t trong nh ng ý tư ng n n t ng c a XP là không có x lý nào phù h p v i m i d án tuy nhiên v n có nh ng hành vi có th đư c cân đ i l i cho phù h p v i nh ng yêu c u c a các d án cá nhân riêng l . Trong th c t không có m t báo cáo kinh nghi m nào v t t c các th c thi c a XP đư c th c hi n. M c dù v y v n có m t b ph n các th c thi c a XP đư c Beck báo cáo (Grenning 2001, Schuh 2001). XP là m t phương pháp đư c tài li u hóa nhi u nh t trong l p trình linh ho t và đang đư c ti p t c nghiên c u và có nhi u bài báo và kinh nghi m v các nhánh khác nhau trong XP. Như phát bi u c a Beck (1999b), phương pháp XP không có nghĩa là tương thích m i nơi, và nh ng gi i h n c a nó v n chưa đư c đ ng nh t. Đi u đó đòi h i nh ng kinh nghi m và nh ng nghiên c u đã đư c thí nghi m ki m ch ng v nh ng tri n v ng khác nhau. Tuy nhiên trong s đó có vài th đã đư c đ ng nh t. XP đư c dùng cho các nhóm phát tri n nh và v a. Beck (1999b) cho r ng m t nhóm nên có t 3 đ n t i đa là 20 thành viên. Môi trư ng v t lý cũng h t s c quan tr ng trong XP. S trao đ i và c ng tác gi a các thành viên ph i đư c thư ng xuyên. Văn hóa kinh doanh tác đ ng đ n m t đơn v phát tri n là m t v n đ tr ng tâm c a XP. B t kỳ m t s ch ng đ i các th c thi ho c nguyên t c c a XP c a b t kỳ thành viên, qu n lý, khách hàng cũng có th đ làm th t b i d án. T t nhiên công ngh có th cũng không th vư t qua nh ng tr ng i đ đem l i thành công cho XP. Nh ng nghiên c u v n đang đư c tri n khai. Có nhi u tài li u đã đư c xu t b n nó v nhi u di n m o khác nhau c a XP, tuy nhiên ch c ch n là nó s đư c nhìn nh n là m t phương pháp th c t hơn là m t phương pháp hàn lâm, h u h t các trang tâm đi m v kinh nghi m s d ng XP trong nh ng ph m vi khác nhau, và nh ng kinh nghi m tìm ki m trên nh ng th c thi c a nó. 2. Scrum Thu t ng “Scrum” đư c trình bày l n đ u tiên trong bài báo c a Takeuchi và Nonaka (1986) v kh năng thích nghi, nhanh chóng, tính t t ch c trong vi c phát tri n ph n m m. Thu t ng “Scrum” có ngu n g c t m t chi n thu t trong môn bóng b u d c ám ch vi c đưa bóng vào cu c. Scrum g n như đư c phát tri n cho vi c x lý phát tri n h th ng. Đó g n như d a trên kinh nghi m trong vi c áp d ng nh ng ý tư ng lý thuy t đi u khi n x lý trong công nghi p đ phát tri n h th ng và đưa đ n k t qu là vi c gi i
  12. thi u l i ý tư ng v tính m m d o, tính thích nghi, và tính năng su t. Nó không đ nh nghĩa cho b t kỳ m t công ngh phát tri n ph n m m nào trong pha th c thi. Scrum t p trung vào vi c làm th nào đ các thành viên trong nhóm t o nên đư c m t h th ng m m d o trong m t môi trư ng luôn luôn thay đ i. Ý tư ng chính c a Scrum là phát tri n h th ng bao g m vài môi trư ng và công ngh có th thay đ i (ví d như: yêu c u, th i gian, ngu n l c. công ngh …) phù h p v i s thay đ i c a h th ng trong su t quá trình x lý. Đi u này khi n cho vi c phát tri n là không th d đoán trư c đư c và r t ph c t p, đòi h i h th ng ph i h t s c m m d o đ đáp ng đư c nh ng thay đ i. Và k t qu là s n ph m s r t h u ích khi đ n tay khách hàng. Scrum giúp đ y m nh nh ng k thu t th c thi s n có trong m t t ch c, nó bao g m nh ng ho t đ ng qu n lý thư ng xuyên nh m đ n vi c nh n ra b t kỳ thi u h t nào ho c nh ng tr ng i trong quá trình phát tri n ph n m m. Th c thi Scrum bao g m 3 pha là các pha: pre-game, development, post- game. Pha pre-game bao g m hai pha con là : L p k ho ch và ki n trúc (hay thi t k b c cao hơn)
  13. L p k ho ch bao g m đ nh nghĩa v h th ng s p đư c phát tri n. M t b n li t kê các công vi c chưa làm đư c đư c t o ch đ ng nh ng yêu c u c a khách hàng trong th i đi m hi n t i. Các yêu c u này có th b t ngu n t khách hàng, ngư i buôn bán, ngư i phân ph i ti p th , ngư i cung c p hay t chính ngư i phát tri n ph n m m. Các yêu c u đư c ưu tiên và các khó khăn khi th c thi ph i đư c ư c lư ng trư c. S n ph m chưa hoàn ch nh ph i đư c c p nh t nh ng cái m i, nh ng y u t c th hơn, đ t o ra đư c nh ng đánh giá chính xác. Vi c l p k ho ch cũng bao g m vi c l p đ i phát tri n, ch n các công c và nh ng tài nguyên khác, đánh giá r i ro, ki m soát v n đ , đào t o và phê chu n. m i bư c l p các s n ph m c p nh t c n đư c đ i phát tri n đánh giá xem d án ti n tri n đư c đ n đâu đ l p k ho ch cho các bư c l p ti p theo. Pha ki n trúc bao g m các ki n trúc đã đư c l p k ho ch s n trong m i s n ph m m i bư c l p. Trong trư ng h p nâng cao m t h th ng có s n, nh ng s thay đ i c n thi t cho bư c th c thi Backlog và xác đ nh rõ nh ng v n đ mà b n có th g p ph i. M t cu c h p đ nhìn l i thi t k c a m t h th ng đư c t ch c đ thông qua đ xu t cho vi c th c thi và nh ng quy t đ nh s đư c đưa ra trong bu i h p này. Thêm vào đó, k ho ch m đ u cho m t phiên b n phát hành cũng đư c chu n b . 3. Crystal family of methodologies Đây là phương pháp bao g m m t lư ng các phương th c khác nhau cho vi c ch n l a m t phương pháp t i ưu nh t cho m t d án c th . Bên c nh nh ng phương th c, cách ti p c n Crystal bao g m nh ng nguyên t c đan xen các phương th c phù h p v i nh ng thay đ i liên t c c a các d án khác nhau. M i thành viên trong gia đình Crystal đư c đánh d u b ng nh ng màu s c khác nhau tùy thu c vào “s c n ng” c a nó. S c n ng càng l n thì màu càng đ m. Đ i v i nh ng d án l n yêu c u nhi u s h p tác và nhi u phương pháp “m nh m ” hơn nh ng d án nh . Càng đư c phê bình nhi u thì s n ph m làm ra càng hoàn thi n. Lư c đ dư i đây s cho bi t kh năng ti m tàng c a th t b i khi h th ng b l i. Trong đó S tho i mái (C), ti n t do làm theo ý mình (D) , ti n c n thi t (E), vòng đ i (L).
  14. Có nh ng quy t c, đ c đi m và giá tr thông thư ng đư c đ t ra cho nh ng phương th c trong gia đình Crystal. Đ u tiên d án ph i s d ng chu kỳ phát tri n ph n m m tăng d n, và đ t m c tăng l n nh t trong vòng m i 4 tháng, t t nh t là trong vòng t 1 đ n 3 tháng. Đi u c c kỳ quan tr ng là s h p tác và giao ti p gi a các thành viên trong nhóm. Phương pháp Crystal không gi i h n s lư ng phương pháp th c thi, s lư ng công c , s lư ng các s n ph m, và đ c bi t cho phép các th c thi c a các phương th c khác nhiuw Scrum hay XP... Hơn n a, cách ti p c n này còn cho phép gi m b t các s n ph m trung gian và th hi n c th trong ph m vi m t quy ư c cho các d án riêng l và phát tri n chúng như là các d án m . Hi n nay có 3 phương th c chính trong Crystal đó là: Crystal Clear, Crystal Orange, Crystal Orange Web. T t c các phương th c trong gia đình Crystal đ u d a trên nh ng chu n h p đ ng đã ký, s n ph m, chi phí, công c , và các quy t c chu n đ th c thi trong su t quá trình s n xu t. Crystal Clear và Crystal Orange là hai trong s các thành viên c a gia đình Crystal đã đư c xây d ng và s d ng (Cockburn 1998, Cockburn 2002a). Crystal Orange (Cockburn 1998) cũng bi u di n các ho t đ ng trong m t quá trình.
  15. Crystal Clear đư c thi t k cho nh ng d án r t nh đư c phát tri n b i kho ng 6 thành viên. Tuy nhiên v i cá ph n m r ng c a nó có th phù h p v i m t d án có t 8-10 thành viên. M t đ i s d ng phương th c Crystal nên làm vi c cùng nhau trong m t phòng đ ti n vi c trao đ i, bàn b c. Crystal Orange đư c thi t k cho m t d án c v a, có t 10 đ n 40 thành viên và v i th i gian th c hi n d án là 1 đ n 2 năm. Dĩ nhiên m t d án có 50 thành viên v n có th s d ng phương th c này nhưng v i đi u ki n ph i thêm vào cho nó phương th c ki m ch ng. M t d án s d ng Crystal Orange có th đư c chia nh cho nhi u nhóm phát tri n v i cross-functional s d ng chi n lư c Holistic Deliversity. Tuy nhiên phương th c này không dành cho b n phát tri n môi trư ng. Crystal Orange nh n m nh t m quan tr ng c a time-to-market. S hoán đ i gi a phân ph i r ng rãi và s thay đ i nhanh trong yêu c u và thi t k k t qu trong m t s gi i h n các phiên b n cho phép gi m b t giá thành đ b o trì chúng nhưng v n gi cho ch c năng giao ti p gi a các đ i phát tri n đư c hi u qu . Policy standards: Đây là nh ng th c thi c n đư c áp d ng trong su t quá trình phát tri n ph n m m. C Crystal Clear và Crystal Orange đ u đưa ra các tiêu chu n chính sách sau: 1. M r ng các b n phân ph i m t cách đ u đ n 2. Quy trình theo dõi nh ng thành ph n quan tr ng đư c đưa vào các phiên b n, chú ý vào nh ng quy t đ nh hơn là vi t tài li u 3. Hư ng s chú ý c a ngư i dùng. 4. Nghiên c u ch c năng t đ ng hóa ki m ch ng 5. Coi như có 2 ngư i s d ng đang quan sát b n làm vi c 6. H i th o v s n ph m và nh ng đi u ch nh phương th c th c thi đ u vào gi a m i bư c l p Ch có s khác bi t duy nh t trong chính sách c a 2 phương th c này là. Crystal Clear cho r ng nên tăng phiên b n kho ng 2 đ n 3 tháng m t l n, trong khi Crystal Orange l i cho r ng nên m r ng t i đa là 4 tháng. Nh ng chính sách này đ c trưng c a phương th c Crystal, tuy nhiên chúng có th b thay th b ng nh ng phương th c tương đương như XP và Scrum. Work products:
  16. Cockburn cho r ng các s n ph m c a Crystal Clear và Crystal Orange thư ng có nh ng quy mô khác nhau. Tuy nhiên cũng có nh ng s n ph m tương t nhau như: phiên b n liên t c, mô hình đ i tư ng thông thư ng, s tay ngư i dùng, các trư ng h p ki m th , mã di trú. Thêm vào đó Crystal Clear bao g m nh ng chú thích đ m t các đ c đi m, trái l i Crystal Orange l i đòi h i các tài li u đ c t yêu c u. Local matters: Đó là nh ng th t c c a Crystal m i đư c ng d ng, tuy nhiên nó hoàn toàn tách bi t v i b n thân d án, nh ng th t c này có ph m vi khác nhau gi a hai phương th c Crystal Clear và Crystal Orange. C hai phương th c trên đ u cho r ng m u cho m t s n ph m t t là mã ngu n, ki m tra truy h i, và s d ng giao di n chu n có th cài đ t và b o trì b i chính đ i phát tri n. Tools: Công c mà Crystal Clear yêu c u là công c biên d ch, công c t o các phiên b n, công c c u hình và qu n lý và các trang in. Công c t i thi u mà Crystal Orange yêu c u là công c t o các phiên b n, l p trình, ki m th , giao ti p, theo dõi d án, đ h a và bi n pháp trình di n. Standards: Crystal Orange đ xu t vi c l a ch n nh ng ký hi u chu n, thi t k th a thu n, đ nh d ng chu n và ch t lư ng chu n (Cockburn 1998) s đư c s d ng trong d án. Activities: Các ho t đ ng đư c th hi n qua sơ đ sau:
  17. 4. Feature Driven Development Feature Driven Development (FDD) là phương pháp ti p c n linh ho t dành cho phát tri n h th ng. FDD không bao ph toàn b quy trình phát tri n ph n m m mà nó t p trung vào giai đo n thi t k và xây d ng. Tuy nhiên nó đư c thi t k đ làm vi c v i nh ng ho t đ ng khác c a m t d án phát tri n ph n m m và không yêu c u b t c m t mô hình quy trình riêng nào. Nó t p trung vào ch t lư ng s n ph m xuyên su t quy trình. FDD bao g m 5 quy trình liên t c và cung c p nh ng phương th c, k thu t và nh ng hư ng d n mà nhà đ u tư c n đ n đ chuy n giao h th ng. Ph n l p c a quy trình FDD h tr phát tri n linh ho t v i s thích nghi nhanh chóng v i nh ng thay đ i mu n trong yêu c u c a khách hàng. - Phát tri n m t mô hình toàn th (Develop an Overall Model) Khi vi c phát tri n m t mô hình toàn th b t đ u, các chuyên gia trong lĩnh v c này h đã nh n th c đư c ph m vi, khung c nh và yêu c u c a h th ng đ xây d ng. Các yêu c u đư c tài li u hóa như vi c s d ng các trư ng h p ho c các ch c năng đ c bi t s có th xu t hi n bư c này. Tuy nhiên FDD không đ a ch rõ ràng v n đ l y l i và qu n lý các yêu c u. Các chuyên gia cũng đư c g i là “walkthrough” trong m i đ i và là ngư i ki n trúc sư chính có hi u bi t cao v h th ng. Mô hình này có th đư c chia nh ra thành các nhóm và m i nhóm s có các “walkthrough” ph trách. Sau “walkthrough” các thành viên trong nhóm phát tri n s chia làm các nhóm nh đ trao đ i và th o lu n nh m xây d ng m t h th ng t t nh t.
  18. - Xây d ng m t danh sách các tính năng (Build a Features List) Nh ng chuyên gia, mô hình đ i tư ng, và nh ng tài li u v nh ng yêu c u đã có đ t o ra n n t ng t t cho vi c xây d ng m t li t kê các tính năng thông minh cho h th ng đang đư c phát tri n. Trong b n li t kê, ngư i phát tri n h th ng s trình bày m i ch c năng giá tr riêng bi t đư c xây d ng trong h th ng. Ch c năng s đư c trình bày trong các nhóm bao g m các ch c năng tr ng y u đã đư c cài đ t. Thêm vào đó, các tính năng quan tr ng này l i đư c chia ra cho các đ c đi m khác thi t l p. S bi u di n l i này khác nhau đ i v i các ph m vi khác nhau. Li t kê này s đư c ki m tra l a b i ngư i dùng ho c các nhà đ u tư cho m t h th ng hi u qu và tr n v n. - L p k ho ch nh vào tính năng (Plan by Features): Bao g m vi c t o ra các k ho ch cao c p hơn, m i đ c đi m s đư c s p x p theo th t quy n ưu tiên và ph thu c và đư c n đ nh cho ngư i đ ng đ u nhóm l p trình. Ngoài ra, các l p đư c đ ng nh t trong m t quy trình “mô hình phát tri n toàn th ” s đư c phân công cho các l p trình viên khác. - Thi t k theo tính năng và xây d ng theo tính năng (Design by Feature and Build by Feature): -
  19. M t nhóm nh các tính năng đư c l a ch n t t p h p các tính năng. Nh ng nhóm tính năng này đư c các đ i phát tri n. Quy trình thi t k b ng tính năng và xây d ng b ng tính năng là nh ng th t c có th đư c l p l i trong su t quá trình nh ng tính năng đã l a ch n đư c s n xu t. M t bư c l p c n t vài ngày cho t i t i đa 2 tu n đ th c hi n. Sau khi th c hi n thành công m t bư c l p, nh ng tính năng đã hoàn thành đư c đưa vào trong chương trình chính trong khi vòng l p thi t k và xây d ng b t đ u v i m t nhóm các tính năng m i t t p các tính năng. 5. The Rational Unified Process Ration Unified Process (vi t t t làRUP) đư c phát tri n b i Philippe Kruchten, Ivar Jacobsen và nh ng thành viên khác t i Ration Corporation đ b sung cho UML (Unified Modelling Language). RUP là m t phương th c ti p c n nh ng h th ng hư ng đ i tư ng, và đư c s d ng đ n m b t các yêu c u m u và xây d ng n n t ng h th ng. RUP nghiêng v hư ng phát tri n hư ng đ i tư ng. Nó không bác b hoàn toàn nh ng phương th c khác, m c dù UML đ c bi t thích h p v i phát tri n OO Vòng đ i c a m t d án RUP đư c chia làm 4 giai đo n : Kh i đ u (Inception), D th o (Elaboration), Xây d ng (Construction) và Chuy n giao (Transition). Nh ng giai đo n l i đư c chia thành nh ng vòng l p nh (interation). Kho ng th i gian c a m t vòng l p có th t 2 tu n t i 6 tháng. - Giai đo n Kh i đ u (Inception): Xem xét yêu c u khách hàng và đưa ra các tiêu chí c a d án. Nhóm phát tri n đưa ra nh ng ki n trúc xây d ng khác nhau, b n k ho ch và chi phí ư c tính cho toàn b d án. Ngoài ra nh ng ư c tính cho giai đo n D th o ti p theo cũng đư c xây d ng.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2