Craig Berntson

Slides:



Advertisements
Similar presentations
Copyright  2002, Medical Present Value, Inc. All rights reserved. Copyright © 2010 Texas Education Agency. All rights reserved. TEA confidential and proprietary.
Advertisements

Tools for Agile Development: A Developer’s Perspective Mike Linnen Blog:
CONTINUOUS INTEGRATION AND TEST Stephen Oglesby - CSCI577b – April 2011.
SOLID Object Oriented Design Craig Berntson
Roadmap to Continuous Integration Testing and Benefits Gowri Selka, Walgreens Natalie Koltun, Walgreens May 20th, 2014 ©2013 Walgreen Co. All rights reserved.
Mike Azocar Sr. Developer Technical Specialist Microsoft Corporation
Test Environments Arun Murugan – u Rohan Ahluwalia – u Shuchi Gauri – u
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
Continuous Integration for OpenEdge Applications NameDivyaTheja Pachipula TitleSenior Engineer Date8 th June, 2015.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Improving Software Quality with Continuous Integration
Continuous Integration for Databases Learn how to automate your build and test Steve Jones Red Gate Software Part II of the Continuous Delivery for Databases.
Introduction to Continuous Integration Mike Roberts.
 Definitions  Background/History  Continuous Delivery › How to practice Continuous Delivery  Continuous Integration  Continuous Integration Tools.
By John Boal  Continuous Integration [CI] ◦ Automating the build process ◦ Build the entire system each time any new.
CONTINUOUS INTEGRATION, DELIVERY & DEPLOYMENT ONE CLICK DELIVERY.
THE CONTINUOUS DELIVERY ZONE Craig Berntson Chief Software Gardener Mojo Software Worx.
Test-Driven Development With Visual Studio 2005 Erno de Weerd Info Support.
Craig Berntson Chief Software Gardener Mojo Software Worx Branches and Merges are Bears, Oh My!
All Builds Are Good With Continuous Integration Presented by: Scott Bateman Houston TechFest – August 25 th, 2007.
Continuous Integration with TeamCity Adrian Ritchie BSc, MBCS Guernsey Software Developer Forum
Continuous Integration and Testing
Created by the Community for the Community BizTalk & Build.
@benday #vslive Automated Build, Test & Deploy with TFS, ASP.NET, and SQL Server Benjamin
Sumedha Rubasinghe October,2009 Introduction to Programming Tools.
Creating a Maintainable Software Ecosystem Jeremy D. Miller November 27th, 2007.
© ALEXANDRE CUVA  VERSION 2.00 Test Driven Design.
© 2012 About Me Doing agile since 1999 Start ups / Enterprises Planigle - Consulting and Training Qcue – VP, Engineering.
Build Processes and Continuous Integration Automating Build Processes Software University Technical Trainers SoftUni Team.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
Alcatel-Lucent CDC Workshop, Coaching & Knowledge Transfer Coding.
Chris Menegay VP of Consulting Notion Solutions, Inc. DTL319.
TEST-1 6. Testing & Refactoring. TEST-2 How we create classes? We think about what a class must do We focus on its implementation We write fields We write.
South Florida Enterprise and Strategy Architects Special Interest Group (SF ESA SIG) June 19, 2007 Lawrence Port Otive LLC
Sofia Event Center May 2014 Branimir Giurov C# MVP Solution Architect BulPros Consulting Continuous Integration of Sharepoint 2013 Solutions with.
UHCS 2005, slide 1 About Continuous Integration. UHCS 2005, slide 2 Why do you write Unit Test ? Improve quality/robustness of your code Quick feedback.
Sean Chambers.  Senior Developer at Flagler County Schools for 5 years  Owner Hybrid Software, Educational Software  Contributor to various open source.
Build automation. Prerequisites for Continuous Integration (CI)  Version Control System  Build automation  Notification on build result sent to related.
Lecture XIII: Continuous Integration CS 4593 Cloud-Oriented Big Data and Software Engineering.
(1) Introduction to Continuous Integration Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
(1) Introduction to Continuous Integration Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
Copyright 2015, Robert W. Hasker. Continuous Inspection  Code reviews  Powerful tool  Difficult to ensure meaningful reviews take place  Static analysis.
Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements.
Test Driven Development Introduction Issued date: 8/29/2007 Author: Nguyen Phuc Hai.
Microsoft Corporation. Announcement Visual Studio® Team System 2008 Enables you to Build Quality Code Be More Productive Collaborate at the Next Level.
A way to develop software that emphasizes communication, collaboration, and integration between development and IT operations teams.
Cruise Training Introduction of Continuous Integration.
Headspring Certified Training.Net Boot Camp: From Journeyman to Master Series Presented by Jeffrey Palermo CTO, Headspring Systems Microsoft MVP, MCSD.Net.
Continuous Integration for Databases Steve Jones SQLServerCentral Red Gate Software.
Beginning Software Craftsmanship Brendan Enrick Steve Smith
1 Punishment Through Continuous Delivery If it hurts, do it more often…
Rome 31 January -1 February Team Development in CRM Shan McArthur CEO / CTO Adxstudio, CRM MVP.
1 © Agitar Software, 2007 Automated Unit Testing with AgitarOne Presented by Eamon McCormick Senior Solutions Consultant, Agitar Software Inc. Presented.
Continuous Integration for Databases Steve Jones SQLServerCentral Red Gate Software.
Automated Build and Test
Continuous Delivery and Quality Monitoring
Stress Free Deployments with Octopus Deploy
Project Center Use Cases
Unit Testing & Test-Driven Development for Mere Mortals
Continuous Integration For Databases
X in [Integration, Delivery, Deployment]
Chapter 25 – Configuration Management
Unit Testing & Test-Driven Development for Mere Mortals
Real World Scrum with TFS & VSTS / Azure DevOps
Continuous Integration
Continuous Integration Tool
Introduction to VSTS Database Professional
Jamie Cool Program Manager Microsoft
Presentation transcript:

Craig Berntson

 Microsoft MVP since 1996  Magazine and book authoring  Speaker at developer events across US and in Canada, Germany, and Czech Republic

 Continuous Integration – Why and What  Prerequisites  Controlling Continuous Integration  Testing  Feedback Copyright , Craig Berntson. All rights reserved

 It works on my machine  When will you be done  The database changed  Stop shipping! We found a bug!  Give me what you have so we can test  Customer won’t accept – lots of bugs  Code duplication Copyright , Craig Berntson. All rights reserved

Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly. – Martin Fowler ( Copyright , Craig Berntson. All rights reserved

“CI is the embodiment of tactics that gives us, as software developers, the ability to make changes in our code, knowing that if we break software, we’ll receive immediate feedback...[It is] the centerpiece of software development, as it ensures the health of software through running a build with every change.” – Paul Duvall, “Continuous Integration” Copyright , Craig Berntson. All rights reserved

Feedback Mechanism Commit Changes Build Script CI Server Integration Build Machine Version Control Repository Poll

 Compile code  Produce developer documentation  Run unit tests and code metrics  Call sophisticated external testing applications  Produce an install set and burn to CD Copyright , Craig Berntson. All rights reserved

 Reduce risks  Reduce repetitive processes  Generate deployable software  Enable better project visibility  Establish greater product confidence Copyright , Craig Berntson. All rights reserved

 Increased overhead to maintain the CI system  Too much change  Additional hardware/software costs  Developers should be performing these activities Copyright , Craig Berntson. All rights reserved

 Commit code frequently  Don’t commit broken code  Fix broken builds immediately  Write automated developer tests  All tests and inspections must pass  Run private builds (each developer runs tests on their own code)  Avoid getting broken code (don’t check out broken code) Copyright , Craig Berntson. All rights reserved

 Each developer should use the same folder structure Copyright , Craig Berntson. All rights reserved

 Use source control!  Telelogic Synergy CM  Subversion  SourceGear Vault Copyright , Craig Berntson. All rights reserved

 You don’t need a high powered box to get started  Separate box from source control server Copyright , Craig Berntson. All rights reserved

 Everything that needs to be done to get the application out the door.  Compiling  Testing  Creating install bits Copyright , Craig Berntson. All rights reserved

 Incremental  Daily  Weekly  Test  Install Copyright , Craig Berntson. All rights reserved

 Created by ThoughtWorks  Four distinct parts  CCNet.exe  CCService.exe  WebDashBoard  CCTray  CCNet.config Copyright , Craig Berntson. All rights reserved

 NAnt  MSBuild  Math.sln  Math.csproj  Math.proj Copyright , Craig Berntson. All rights reserved

 Visual Studio  NUnit Copyright , Craig Berntson. All rights reserved

Configuring CruiseControl.NET Building the application with MS Build Automated testing with NUnit Copyright , Craig Berntson. All rights reserved

 Coverage  Duplicated code  Fitness  Refactoring  Coding standards Copyright , Craig Berntson. All rights reserved

 Sandcastle Copyright , Craig Berntson. All rights reserved

 CCNet Web Dashboard  CCTray   Text messaging  Sound  Message Board  Ambient Orb Copyright , Craig Berntson. All rights reserved

 Apply XSLT to output  Code coverage  Duplicated code  Refactoring  Installshield  Call automated QA test tools Copyright , Craig Berntson. All rights reserved

 Continuous Integration – Why and What  Source control and build box  CruiseControl.Net  MSBuild  Nunit  Additional testing, code metrics, documentation, etc.  Feedback Copyright , Craig Berntson. All rights reserved

 Web:   Copyright , Craig Berntson. All rights reserved