Quan ly cau hinh pm

2,402 views

Published on

1 Comment
3 Likes
Statistics
Notes
  • Dịch vụ làm luận văn tốt nghiệp, làm báo cáo thực tập tốt nghiệp, chuyên đề tốt nghiệp, tiểu luận, khóa luận, đề án môn học trung cấp, cao đẳng, tại chức, đại học và cao học (ngành kế toán, ngân hàng, quản trị kinh doanh…) Mọi thông tin về đề tài các bạn vui lòng liên hệ theo địa chỉ SĐT: 0973.764.894 ( Miss. Huyền ) Email: dvluanvan@gmail.com ( Bạn hãy gửi thông tin bài làm, yêu cầu giáo viên qua mail) Chúng tôi nhận làm các chuyên ngành thuộc khối kinh tế, giá cho mỗi bài khoảng từ 100.000 vnđ đến 500.000 vnđ. DỊCH VỤ LÀM SLIDE: 10.000VNĐ/1SLIDE
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
2,402
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
194
Comments
1
Likes
3
Embeds 0
No embeds

No notes for slide

Quan ly cau hinh pm

  1. 1. Seminar QUẢN LÝ CẤU HÌNH PHẦN MỀM GVHD: Thầy Lâm Quang Vũ Nhóm thực hiện: Nhóm C 04/12/11
  2. 2. Nội dung làm việc <ul><li>Lý thuyết. </li></ul><ul><li>Demo giới thiệu tools </li></ul>04/12/11
  3. 3. Giới thiệu Các khái niệm Các phương pháp quản lý cấu hình Định nghĩa 04/12/11
  4. 4. Định nghĩa <ul><li>T hiết lập và bảo đảm tính toàn vẹn của các sản phẩm trung gian cũng như các sản phẩm sau cùng của một dự án phần mềm, xuyên suốt chu kỳ sống của dự án đó . </li></ul><ul><li>T ổ chức, quản lý các thay đổi đối v ới phần mềm đang được xây dựng bởi một nhóm lập trình viên . </li></ul>04/12/11
  5. 5. Các khái niệm Delivery: Tập hợp các mẩu cấu hình được bàn giao cho khách hàng hoặc những bộ phận khác (developer, teser…) Baseline / Milestone: Mốc thời gian mà tại đó đạt được những kết quả nhất định. Vd: Duyệt đặc tả yêu cầu . Software Configuration Item: Đối tượng được quản lý bởi QLCH Phát hành bản beta 04/12/11
  6. 6. Các khái niệm (tt) Repository: Nơi chứa tất cả các tài nguyên (tập tin) được quản lý. Working copy: Bản sao (dùng để làm việc) của tập tin trên repository. 04/12/11 j Working copy
  7. 7. Các khái niệm (tt) Revision Mỗi thay đổi liên quan đến một tập tin nào đó sẽ tạo ra một revision mới. r20 r21 + delta 04/12/11
  8. 8. Các khái niệm (tt) Check out (update): Tạo bản copy từ repository về workspace để chỉnh sửa. 04/12/11
  9. 9. Các khái niệm (tt) Check in (commit): Đưa thay đổi của tài liệu từ workspace lên repository. 04/12/11
  10. 10. Các khái niệm (tt) Diff (change, delta): Sự khác nhau giữa 2 phiên bản kề nhau. 04/12/11
  11. 11. Các khái niệm (tt) Merge: Kết hợp thay đổi trên các working copy khác nhau của cùng 1 file, tạo thành 1 bản duy nhất. 04/12/11
  12. 12. Các khái niệm (tt) Conflict: Sự đụng độ xảy ra khi nhiều người cùng chỉnh sửa 1 tài liệu. 04/12/11
  13. 13. Các khái niệm (tt) Lock: “ Khoá” tài liệu đang làm việc trên repository để ngăn người khác chỉnh sửa. Unlock: “ Mở khoá” tài liệu sau khi làm việc xong. <ul><li>Lock – Modify - Unlock </li></ul>04/12/11
  14. 14. Các khái niệm (tt) <ul><li>Copy – Modify - Merge </li></ul>X Y 04/12/11
  15. 15. Các khái niệm (tt) <ul><li>Copy – Modify - Merge </li></ul>Conflict X Y 04/12/11
  16. 16. Các khái niệm (tt) <ul><li>Copy – Modify - Merge </li></ul>Merge X Y 04/12/11
  17. 17. Các phương pháp quản lý cấu hình PM <ul><li>Thùng chứa tập trung </li></ul><ul><ul><li>Local only </li></ul></ul><ul><ul><li>Client – server </li></ul></ul><ul><li>Thùng chứa phân tán (Distributed) </li></ul>04/12/11
  18. 18. Local only <ul><li>Phạm vi hẹp. </li></ul><ul><li>Dự án nhỏ. </li></ul><ul><li>Dễ triển khai. </li></ul>04/12/11
  19. 19. Local only Your Text Here Your Text Here Your Tex Here 04/12/11
  20. 20. Client – server <ul><li>Quy mô rộng. </li></ul><ul><li>Dự án lớn. </li></ul><ul><li>Chi phí cao. </li></ul>04/12/11
  21. 21. Client – server Bảo đảm đường truyền??? 04/12/11
  22. 22. Distributed <ul><li>Một thùng chứa chính. </li></ul><ul><li>Mỗi cá nhân có một thùng chứa riêng. </li></ul><ul><li>Giao thức peer – to – peer. </li></ul>04/12/11
  23. 23. Distributed peer – to – peer 04/12/11
  24. 24. Distributed Patch 04/12/11
  25. 25. Demo Tools QLCH <ul><li>Team Foundation Server 2008 </li></ul><ul><li>SVN </li></ul><ul><li>Quản lý cấu hình miễn phí web hosting services. </li></ul><ul><li>Tích hợp liên tục </li></ul>04/12/11
  26. 26. Team Foundation Server TFS 04/12/11
  27. 27. Nội dung thuyết trình <ul><li>Giới thiệu: </li></ul><ul><ul><li>Chuẩn CMMi và Agile. </li></ul></ul><ul><li>Kiến trúc. </li></ul><ul><li>Các khái niệm. </li></ul><ul><li>Demo. </li></ul>04/12/11
  28. 28. Giới thiệu <ul><li>TFS là hệ thống quản lý vòng đời phần mềm: </li></ul><ul><li>Lưu trữ, chia xẻ mã nguồn, tích hợp với công cụ lập dự án Microsoft Project hoặc Excel. </li></ul><ul><li>Hướng dẫn quy trình, tạo báo cáo động và theo dõi đầu công viêc và tiến độ chung của dự án. </li></ul><ul><li>Chuyên dùng cho các dự án phát triển phần mềm, đòi hỏi khắt khe chất lượng, tiến độ, ngân sách. </li></ul>04/12/11
  29. 29. Chuẩn CMMi && Agile <ul><li>CMMi - Capability Maturity Model® Integration: </li></ul><ul><ul><li>Đòi hỏi rất nhiều loại văn bản khác nhau, luôn yêu cầu lập kế hoạch dự án, đào tạo, giám sát liên tục . </li></ul></ul><ul><li>Agile : </li></ul><ul><ul><li>Yêu cầu vòng đời phiên bản thật ngắn tính bằng tuần . </li></ul></ul>04/12/11
  30. 30. Kiến trúc 04/12/11
  31. 31. Kiến trúc <ul><li>Tạo và quản lý dự án </li></ul><ul><li>chỉ có các web service. </li></ul><ul><li>Quản lý ứng dụng. </li></ul>Client <ul><li>web services . </li></ul><ul><li>Team Project Portal . </li></ul><ul><li>kết hợp dữ liệu và tạo báo cáo . </li></ul>Application <ul><li>cung cấp dịch vụ lưu trữ dữ liệu cho thùng chứa tài liệu . </li></ul><ul><li>SQL Server + Window Server 2003 </li></ul>Data 04/12/11
  32. 32. Các khái niệm <ul><li>WorkItems: </li></ul><ul><li>Team Building. </li></ul><ul><li>Bug. </li></ul><ul><li>Report </li></ul>04/12/11
  33. 33. Demo <ul><li>Connect 2TFS. </li></ul><ul><li>Create new Team Project. </li></ul><ul><li>Add project to TFS. </li></ul><ul><li>Convert VSS to TFS </li></ul>04/12/11
  34. 34. Giảng viên hướng dẫn: Thầy Lâm Quang Vũ Nhóm thực hiện: C6 – Haughty Guys 04/12/11
  35. 35. Nội dung: <ul><li>Giới thiệu </li></ul><ul><li>Tính năng </li></ul><ul><li>Kiến trúc </li></ul><ul><li>Cài đặt </li></ul><ul><li>Demo </li></ul>04/12/11
  36. 36. Giới thiệu <ul><li>Subversion(SVN) là một hệ thống quản lý version (version control system - VCS) được giới thiệu vào năm 2000 bởi công ty CollabNet ( http://subversion.tigris.org ). </li></ul><ul><li>Về mặt khái quát, SVN giống như một hệ thống file server mà các client có thể quản lý và thay đổi cùng một tập hợp dữ liệu. Điểm đặc biệt của SVN là nó lưu lại tất cả những gì thay đổi trên hệ thống file. </li></ul>04/12/11
  37. 37. Tính năng <ul><li>Directories are versioned </li></ul><ul><li>Copying, deleting, and renaming are versioned </li></ul><ul><li>Free-form versioned metadata (&quot;properties&quot;) </li></ul><ul><li>Atomic commits </li></ul><ul><li>Branching and tagging are cheap (constant time) operations </li></ul><ul><li>Merge tracking </li></ul><ul><li>File locking </li></ul><ul><li>… </li></ul>04/12/11
  38. 38. Kiến trúc 04/12/11
  39. 39. Kiến trúc <ul><li>Subversion dựa trên mô hình quản lý tập trung kiểu client/server. </li></ul><ul><li>Hai khái niệm cơ bản: Repository và Working Copies </li></ul>04/12/11
  40. 40. Kiến trúc <ul><li>Cách thức quản lý phiên bản </li></ul>04/12/11
  41. 41. Cài đặt <ul><li>Môi trường cài đặt: Microsoft Windows (Windows XP SP2, Windows Server 2003, Standard Edition) </li></ul><ul><li>CollabNet Subversion Server and Client v1.6.1 (for Windows): http://www.open.collab.net/downloads/subversion </li></ul><ul><li>Tortoise SVN (GNU General Public License): http://tortoisesvn.net/downloads </li></ul>04/12/11
  42. 42. Demo 04/12/11
  43. 43. Tham khảo <ul><li>http://subversion.tigris.org </li></ul><ul><li>http://svnbook.red-bean.com/ </li></ul>04/12/11
  44. 44. Các giải pháp quản lý cấu hình miễn phí trên mạng 04/12/11
  45. 45. Nội Dung 04/12/11 Giới thiệu 1 Assembla 3 Tồng kết 4
  46. 46. Giới Thiệu <ul><li>Biện pháp quản lý cấu hình trên mạng là gì? </li></ul><ul><ul><li>Website cung cấp dịch vụ project-hosting </li></ul></ul><ul><li>Ưu điểm </li></ul><ul><ul><li>Bỏ qua giới hạn địa lý </li></ul></ul><ul><ul><li>Tiện dụng </li></ul></ul><ul><ul><li>Miễn phí </li></ul></ul><ul><ul><li>Tiết kiệm tài nguyên </li></ul></ul><ul><li>Nhược điểm </li></ul><ul><ul><li>Tốc độ chậm </li></ul></ul><ul><ul><li>Dung lượng lưu trữ hạn chế </li></ul></ul>04/12/11
  47. 47. Danh sách website <ul><li>Google Code </li></ul><ul><li>Assembla.com </li></ul><ul><li>Bounty Source </li></ul><ul><li>Source Forge </li></ul><ul><li>Collab.net </li></ul><ul><li>… . </li></ul>04/12/11
  48. 48. 04/12/11 Giới thiệu 1
  49. 49. Tổng quan <ul><li>Google Code là gì? </li></ul><ul><ul><li>Cung cấp dịch vụ project-hosting. </li></ul></ul><ul><ul><li>Miễn phí 100%. </li></ul></ul><ul><ul><li>Nhằm hỗ trợ cho các dự án mã nguồn mở. </li></ul></ul><ul><li>FAQ: http://code.google.com/p/support/wiki/FAQ </li></ul>04/12/11
  50. 50. Tạo project mới URL: http://code.google.com/hosting / 04/12/11
  51. 51. Tạo project mới 04/12/11
  52. 52. Thành phần <ul><li>Project Home : giới thiệu về dự án, các cập nhật gần đây </li></ul><ul><li>Downloads : nơi public các tài nguyên, source code, sản phẩm cuối (2Gb) </li></ul><ul><li>Wiki : 1 trang wikimedia thu nhỏ </li></ul><ul><li>Issues : hệ thống quản lý các bug </li></ul><ul><li>Source : quản lý cấu hình source code </li></ul><ul><li>Administer : dành riêng cho owner của project </li></ul>04/12/11
  53. 53. Source <ul><li>Dung lượng: 1Gb </li></ul><ul><li>Sử dụng kèm với tool ở client: TortoiseSVN, … </li></ul><ul><li>Cần có tài khoản và mật khẩu </li></ul>04/12/11
  54. 54. Source 04/12/11
  55. 55. Thêm thành viên 04/12/11
  56. 56. Tổng kết <ul><li>Ưu điểm </li></ul><ul><ul><li>Miễn phí hoàn toàn </li></ul></ul><ul><ul><li>Dung lượng lưu trữ cao </li></ul></ul><ul><ul><li>Dễ sử dụng </li></ul></ul><ul><ul><li>Dễ đăng ký </li></ul></ul><ul><ul><li>Thuận tiện phát triển các dự án vừa và nhỏ </li></ul></ul><ul><li>Nhược điểm </li></ul><ul><ul><li>Chỉ chấp nhận gmail </li></ul></ul><ul><ul><li>Khả năng tùy biến thấp </li></ul></ul><ul><ul><li>1 Gmail chỉ tạo được 10 project </li></ul></ul>04/12/11
  57. 57. 04/12/11 Giới thiệu 1 Assembla 3
  58. 58. Tổng quan <ul><ul><li>Do nhóm của Andy Singleton phát triển </li></ul></ul><ul><ul><li>Cung cấp dịch vụ project-hosting </li></ul></ul><ul><ul><ul><li>Miễn phí: public and open source projects </li></ul></ul></ul><ul><ul><ul><li>Thu phí: private and professional projects </li></ul></ul></ul><ul><ul><li>Các add-on tools miễn phí 100% </li></ul></ul><ul><ul><li>Add/remove tools không giới hạn </li></ul></ul><ul><ul><li>Thu phí dung lượng lưu trữ </li></ul></ul>04/12/11
  59. 59. Tạo workspace <ul><li>URL : http://www.assembla.com </li></ul><ul><li>B1: đăng ký tài khoản </li></ul><ul><li>B2: vào start page </li></ul><ul><li>B3: Chọn create new space </li></ul><ul><li>B4: Chọn mẫu workspace </li></ul><ul><li>B5: Chọn plan </li></ul><ul><li>B6: Tùy biến workspace </li></ul>04/12/11
  60. 60. Tùy biến workspace <ul><li>Chức năng cần thiết </li></ul><ul><ul><li>Team: thêm, xóa, phân quyền cho thành viên </li></ul></ul><ul><ul><li>Admin: tùy biến workspace, backup, upgrade… </li></ul></ul><ul><li>Chức năng tùy chọn : 24 chức năng </li></ul><ul><ul><li>Source/SVN Wiki Scrum </li></ul></ul><ul><ul><li>Message Chat File </li></ul></ul><ul><ul><li>Image Milestones Tickets </li></ul></ul><ul><ul><li>Time Subverion&Trac Mercurial&Trac </li></ul></ul><ul><ul><li>… … … </li></ul></ul>04/12/11
  61. 61. Source/SVN Xài kèm TortoiseSVN 04/12/11
  62. 62. Thêm thành viên <ul><li>Mời thành viên </li></ul><ul><ul><li>Tên đăng nhập </li></ul></ul><ul><ul><li>Email đăng ký </li></ul></ul><ul><ul><li>Từ các team khác </li></ul></ul><ul><li>Phân quyền </li></ul>04/12/11
  63. 63. Featured Space Configurations <ul><li>Định nghĩa: Là những mẫu workspace có sẵn </li></ul><ul><li>Tổng số mẫu workspace: 12 </li></ul><ul><ul><li>Subversion Hosting with Integrated Tickets: thông dụng nhất </li></ul></ul><ul><ul><li>Trac and Subversion Hosting </li></ul></ul><ul><ul><li>Team Collaboration </li></ul></ul><ul><ul><li>Branded Portfolios - Project management with your own identity </li></ul></ul><ul><ul><li>Graphic Designers </li></ul></ul><ul><ul><li>Assembla Ticketing for Github </li></ul></ul><ul><ul><li>… </li></ul></ul>04/12/11
  64. 64. Tổng kết <ul><li>Ưu điểm </li></ul><ul><ul><li>Miễn phí </li></ul></ul><ul><ul><li>Dễ sử dụng </li></ul></ul><ul><ul><li>Khả năng tùy biến cao </li></ul></ul><ul><ul><li>Cho phép sử dụng các host bên ngoài kết hợp với assembla </li></ul></ul><ul><ul><li>Có nhiều mẫu workspace </li></ul></ul><ul><ul><li>Không giới hạn số workspace </li></ul></ul><ul><li>Nhược điểm </li></ul><ul><ul><li>Dung lượng lưu trữ thấp: 200Mb/Workspace </li></ul></ul>04/12/11
  65. 65. 04/12/11 Giới thiệu 1 Assembla 3 Tồng kết 4
  66. 66. Tổng kết <ul><li>Miễn phí tội gì không xài! </li></ul><ul><li>Google Code </li></ul><ul><ul><li>Tốt cho dự án vừa và nhỏ. </li></ul></ul><ul><ul><li>Thiên về quản lý cấu hình. </li></ul></ul><ul><li>Assembla </li></ul><ul><ul><li>Tốt cho dự án nhỏ (miễn phí) </li></ul></ul><ul><ul><li>Phục vụ nhiều mục đích khác trong dự án. </li></ul></ul><ul><ul><li>Tốt cho mọi loại dự án: nhỏ, vừa, lớn nếu có tiền </li></ul></ul>04/12/11
  67. 67. 04/12/11
  68. 68. I. Continuous Integration II. CruiseControl.NET III. CruiseControl.NET Integration Process IV. Tools - Configuration Example V. Demo VI. Advantages and Disadvantages 04/12/11
  69. 69. II. CruiseControl.NET III. CruiseControl.NET Integration Process IV. Tools - Configuration Example V. Demo VI. Advantages and Disadvantages 04/12/11 I. Continuous Integration
  70. 70. <ul><li>Continuous integration is the strategy of making sure that changes to the project’s code base are built, tested and reported on as soon as possible after they are introduced. </li></ul>04/12/11
  71. 71. <ul><li>Traditionally, different modules are developed by different programmers </li></ul><ul><li>Divide work to allow parallel development </li></ul><ul><li>Integrate modules at late state of project </li></ul><ul><li>Integration problems can easily knock project off schedule… or cause it to fail altogether </li></ul><ul><li>Parallel commits can cause semantic incompatibilities </li></ul><ul><li>The earlier you can detect problems, the easier it is to resolve them </li></ul>04/12/11
  72. 72. <ul><li>Shorten the feedback loop </li></ul><ul><li>Automatic compilation </li></ul><ul><li>Automatic testing </li></ul><ul><li>Improve reporting </li></ul>04/12/11
  73. 73. <ul><li>Solution: continually integrate and test throughout the project </li></ul>04/12/11
  74. 74. <ul><li>Developers check out code into their private workspaces </li></ul>04/12/11
  75. 75. <ul><li>When done, they commit changes to the repository </li></ul>04/12/11
  76. 76. <ul><li>The CI server monitors the repository and checks out changes when they occur </li></ul>04/12/11
  77. 77. <ul><li>The CI server builds the system and runs unit and integration tests </li></ul>04/12/11
  78. 78. <ul><li>The CI server releases deployable artefacts for QA testing </li></ul>04/12/11
  79. 79. <ul><li>The CI server assigns a build label to the version of the code that it just built </li></ul>04/12/11
  80. 80. <ul><li>The CI server informs the team of the successful build and generates useful metrics </li></ul>04/12/11
  81. 81. <ul><li>If the build or tests fail, the CI server alerts the team </li></ul>04/12/11
  82. 82. <ul><li>Continually integrate and test throughout the project </li></ul>04/12/11
  83. 83. I. Continuous Integration III. CruiseControl.NET Integration Process IV. Tools - Configuration Example V. Demo VI. Advantages and Disadvantages 04/12/11 II. CruiseControl.NET
  84. 84. <ul><li>CruiseControl.NET (CCNet) consists of a suite of applications, but at its core is the CruiseControl.NET Server which is an automated integration server. </li></ul><ul><li>The Server automates the integration process by monitoring the team's source control repository directly. Every time a developer commits a new set of modifications, the server will automatically launch an integration build to validate the changes. When the build is complete, the server notifies the developer whether the changes that they committed integrated successfully or not. </li></ul>04/12/11
  85. 85. <ul><li>The CCNet Server offers several key features: </li></ul><ul><ul><li>Integration with a variety of Source Control systems </li></ul></ul><ul><ul><li>Integration with other external tools, such as NAnt and Visual Studio </li></ul></ul><ul><ul><li>Can build multiple projects on one server </li></ul></ul><ul><ul><li>Remote management and reporting </li></ul></ul>04/12/11
  86. 86. I. Continuous Integration II. CruiseControl.NET IV. Tools - Configuration Example V. Demo VI. Advantages and Disadvantages 04/12/11 III. CruiseControl.NET Integration Process
  87. 87. 04/12/11
  88. 88. 04/12/11
  89. 89. 04/12/11
  90. 90. I. Continuous Integration II. CruiseControl.NET III. CruiseControl.NET Integration Process V. Demo VI. Advantages and Disadvantages 04/12/11 IV. Tools - Configuration Example
  91. 91. <ul><li>Source Control: </li></ul><ul><ul><li>CVS Source Control </li></ul></ul><ul><ul><li>Perforce Source Control </li></ul></ul><ul><ul><li>Visual Source Safe Source Control </li></ul></ul><ul><li>Build tools </li></ul><ul><ul><li>MsBuild </li></ul></ul><ul><ul><li>NAnt </li></ul></ul><ul><ul><li>Visual Studio </li></ul></ul>04/12/11
  92. 92. <ul><li>Để cấu hình cho CC.Net ta tiến hành theo các bước: </li></ul><ul><ul><li>Open file ccnet.Config trong thư mục: </li></ul></ul><ul><ul><li>C:Program FilesCruiseControl.NETserver </li></ul></ul><ul><ul><li>Thêm các task cấu hình cho ccnet. </li></ul></ul>04/12/11
  93. 93. 04/12/11
  94. 94. The project in the repository to be monitored. VSS user ID that CCNet should use to authenticate. If the username is unspecified, the VSS client will attempt to authenticate using the NT user. Password for the VSS user ID The directory containing SRCSAFE.INI. If this SSDIR environment variable is already set then this property may be omitted. Specifies whether the current CCNet label should be applied to all source files under the current project in VSS. Note: the specified VSS username must have write access to the repository. Specifies whether the current version of the source should be retrieved from VSS Specifies whether the most recent version of the source should be retrieved from VSS. If not, CCNet will obtain the source as of the time the build began. The folder into which the source should be retrived from VSS. If this folder does not exist, it will be automatically created The culture under which VSS is running Controls whether or not VSS gets a clean copy (overwrites modified files) when getting the latest source. Sets the timeout period for the source control operation 04/12/11
  95. 95. 04/12/11
  96. 96. 04/12/11
  97. 97. The location of the MSBuild.exe executable. The directory to run MSBuild in - this is generally the directory containing your build project. The name of the build project to run. Any extra arguments to pass through to MSBuild. A semicolon-separated list of the targets to run. Number of seconds to wait before assuming that the process has hung and should be killed. The full path to the assembly containing the custom logger to use. 04/12/11
  98. 98. BUILD – VISUAL STUDIO 04/12/11
  99. 99. BUILD - NANT 04/12/11
  100. 100. I. Continuous Integration II. CruiseControl.NET III. CruiseControl.NET Integration Process IV. Tools - Configuration Example VI. Advantages and Disadvantages 04/12/11 V. Demo
  101. 101. I. Continuous Integration II. CruiseControl.NET III. CruiseControl.NET Integration Process IV. Tools - Configuration Example V. Demo 04/12/11 VI. Advantages and Disadvantages
  102. 102. <ul><ul><li>You catch build breaks early on. </li></ul></ul><ul><ul><li>In a distributed development environment where developers do not always communicate with one another, continuous integration is a great way to assure the developer that the build he or she is building is the latest one. </li></ul></ul><ul><ul><li>Continuous integration also causes less regression </li></ul></ul><ul><ul><li>The feedback loop is smaller. </li></ul></ul>04/12/11
  103. 103. <ul><ul><li>A developer does not have to wait for the end of the day or week to find out how the check-in affected the build. </li></ul></ul><ul><ul><li>Integration testing moves up in the chain. </li></ul></ul><ul><ul><li>Every check-in goes through the integration testing where problems are caught early. </li></ul></ul><ul><ul><li>Continuous integration enforces better development processes. </li></ul></ul><ul><ul><li>Each developer is held accountable. </li></ul></ul><ul><ul><li>You always have a latest-and-greatest build to use in demos, showcases, etc. </li></ul></ul>04/12/11
  104. 104. <ul><ul><li>Maintenance overhead often increases. </li></ul></ul><ul><ul><li>Some teams find that the level of discipline required for continuous integration causes bottlenecks. This often requires a shift in the developer mindset. </li></ul></ul><ul><ul><li>The immediate impact of a check-in often causes a backup because programmers cannot check in partially completed code. </li></ul></ul>04/12/11
  105. 105. Thank You! 04/12/11

×