Continuous Integration - Agile Best Practice Nita Patel [email protected]

Continuous Integration - Agile Best Practice Nita Patel Nita.Patel@Ieee.Org

Continuous Integration - Agile Best Practice Nita Patel [email protected] Agile software development methodologies are gaining a larger share of development programs. According to “The Cranky Product Manager”, October 10, 2006, the waterfall development methodology constituted 55% of development. Waterfall is a sequential methodology where progress flows through the phases of Requirements, Design, Analysis, Implementation, Verification and Maintenance sequentially. Figure 1: 2006 Distribution of Software Development Methodology However, from a survey done in 2008, “The Cranky Product Manager” indicates that only 28% of products are developed using the waterfall methodology. More people are using Agile and Scrum methodologies. Nevertheless, waterfall is still in many product development cycles in which Agile cannot be used such as embedded, medical, defense, or heavily regulated industries. Figure 2: 2008 Distribution of Software Development Methodology The primary idea behind Agile is iterative development, teamwork and collaboration. Since more and more people are using Agile, there is an abundance of best practices being shared. I recently listened to a webinar by Damon Poole, Founder and CTO of AccuRev and Johnny Scarborough, area VP of Product Engineering at GlobalLogic, on Continuous Integration, an Agile software-development best practice. Software developers make changes on a regular basis but merge, build and test at the end of a series of changes. To find and resolve issues quickly, Mr. Poole and Mr. Scarborough recommended merging and testing right away. Whether you are working in a small group or on a team which is part of a larger development group, you can use continuous integration to find problems sooner. The idea is that developers should create branches and merge on an hourly basis so that changes can be verified. The team would operate in the same way. Any point release or addition of a feature by a team should be merged into the main branch on a daily basis. This would allow for automated verification on a nightly build. By always striving for continuous integration, you tend to develop more modular code, bring visibility into team builds, provide a focal point for unit testing and help you identify where you are in the development process. Agile is not a cure-all for software development. But the idea of collaboration and continuous integration are certainly steps in the right direction for more robust code..

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    2 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us