How To Develop A Project In A Production Environment

Size: px
Start display at page:

Download "How To Develop A Project In A Production Environment"

Transcription

1 Open Source.NET Development Setting Up A Professional Development Environment Using Open Source Software (OSS)

2 Morten Mertner Senior Consultant, Teknologisk Institut.NET Architect and Software Developer Developer of Gentle.NET (object persistence framework / ORM) MSCD.NET, MCT

3 Introduction Open Source Software Open Source Software Licensing Stability Support Picking the right tool

4 Introduction The Development Environment Setting Up A Professional Development Environment Unit Testing Documentation Source Control Automation Continuous Integration Issue Tracking

5 Open Source Software (OSS) Hosting SourceForce ( projects FreshMeat II ( projects GotDotNet ( projects Search Engines Koders ( 225,816,744 lines of code Why do it? Fame, Pride, Frustration, Love of Craft Powerful motivators

6 Licensing GPL (GNU Public License) Must publish all source changes Affects linked files (compile-time dependencies) 67% (freshmeat.net statistics) LGPL (Lesser GNU Public License) Must publish changes to component only Does not affect own project Can be used with closed-source commercial offerings 6% (freshmeat.net statistics) Apache, BSD, Creative Commons, MIT, others...

7 Stability and Support Activity Checks Forums Mailing lists Source repository Issue tracker Project statistics

8 Picking the right tool Trials Documentation and license reviews Hands-on testing and evaluation Usage reports (blogs, google groups)

9 Unit Testing What Module testing (black & white-boxed) Purpose Establish confidence Track progress Never fix the same error twice Additional Benefits Enables Test Driven Development Visibility (project status/progress, reporting)

10 Unit Testing xunit Tools NUnit MbUnit Frontends Command Line Default GUI TestDriven.NET ZaneBug

11 Unit Testing Demo Sample Code Creating your first test case Running the tests Evaluating the results TestDriven.NET Visual Studio integration ZaneBug Enhanced GUI

12 Documentation NDoc NDoc Standard.NET documentation tags (<summary>..</summary>) Benefits Create professional looking documentation Enable full Visual Studio integration (F1 help, IntelliSense) Strategy State purpose and document non-obvious information Always document all public methods, their parameters and return types Provide namespace summaries

13 Documentation NDoc Output HTML Windows Help (.chm) Visual Studio integration (.HxS) Support Tools Visual Studio Help Integration Toolkit H2Reg

14 Source Control What Everything a developer needs to start working - source, libraries, build files, tools Anything NOT created by build process (documentation, binaries) Benefits Enables effective team work Revision control (labels, branches) Accountability Security (assuming the server is backed up)

15 Source Control Subversion Subversion WebDAV Cross-platform All modern SCM features (atomic commits, branching, move/rename, etc.) Strategy Use a dedicated development server (avoid file servers / network shares) Use included scripts to convert existing VSS repositories Don t spend much time on security (permit writes) Document most-used procedures and concepts Client installation Common tasks (checkout, update, commit, revert, diff and log)

16 Source Control Subversion Tools Command Line Subversion (svn) ( Stand-alone GUI RapidSVN ( Windows Explorer integration TortoiseSVN ( Visual Studio integration AnkhSVN (

17 Automation What Repetetive tasks (usually also boring and error-prone) Benefits Reproducibility of build procedure Easy sharing of project setup Enables isolated build machine Scheduled builds Cross-compilation Complex scripting Task dependency management

18 Automation NAnt NAnt (inspired by Ant) XML syntax Tasks Compiling Validation and reporting (unit testing, FxCop) Packaging (installers, setup projects) Custom tasks Tools (graphical editors) NAnt-GUI NAntPad (commercial)

19 Automation NAnt Sample Build File <?xml version="1.0"?> <project name="nant" default="compile" xmlns=" <target name="compile"> <solution solutionfile=..\source\calculator.sln configuration="debug" /> </target> </project>

20 Continuous Integration Continuous Integration Developer feedback on source repository actions Remote management and reporting Instant problem detection Early integration = early benefit

21 Continuous Integration CruiseControl.NET CruiseControl.NET (ThoughtWorks - Martin Fowler, GoF) Web Dashboard CCTray Depends on Web Server / IIS Source repository (any) Build tool (NAnt, MSBuild, VS.NET) Integrates with NUnit / MbUnit FxCop

22 Continuous Integration Web Dashboard

23 Continuous Integration Web Project Status

24 Issue Tracking What Record all tasks that require human action Tasks Requirements (initial feature set) Bugs, supplemental features, tasks Benefits Progress visibility Accountability Reporting and statistics Version management (roadmapping)

25 Issue Tracking Mantis Mantis Strategy Define projects, categories, permissions, etc. in advance - and keep them updated Create sub-tasks for non-actionable issues Always be specific ( fix documentation will not do) Enforce usage Create guidelines for reporting bugs if publicly accessible

26 Questions?

Two-Way Data Binding with WinJS By Marcin Kawalerowicz and Craig Berntson, authors of Continuous Integration in.net

Two-Way Data Binding with WinJS By Marcin Kawalerowicz and Craig Berntson, authors of Continuous Integration in.net 1 Two-Way Data Binding with WinJS By Marcin Kawalerowicz and Craig Berntson, authors of Continuous Integration in.net One of the keys to improving applications and productivity is to automate some of the

More information

We (http://www.newagesolution.net) have extensive experience in enterprise and system architectures, system engineering, project management, and

We (http://www.newagesolution.net) have extensive experience in enterprise and system architectures, system engineering, project management, and We (http://www.newagesolution.net) have extensive experience in enterprise and system architectures, system engineering, project management, and software design and development. We will be presenting a

More information

Continuous Integration

Continuous Integration Continuous Integration Collaborative development issues Checkout of a shared version of software ( mainline ) Creation of personal working copies of developers Software development: modification of personal

More information

Improving software quality with an automated build process

Improving software quality with an automated build process Software architecture for developers What is software architecture? What is the role of a software architect? How do you define software architecture? How do you share software architecture? How do you

More information

Introduction to Programming Tools. Anjana & Shankar September,2010

Introduction to Programming Tools. Anjana & Shankar September,2010 Introduction to Programming Tools Anjana & Shankar September,2010 Contents Essentials tooling concepts in S/W development Build system Version Control System Testing Tools Continuous Integration Issue

More information

Source Control Systems

Source Control Systems Source Control Systems SVN, Git, GitHub SoftUni Team Technical Trainers Software University http://softuni.bg Table of Contents 1. Software Configuration Management (SCM) 2. Version Control Systems: Philosophy

More information

Gallio: Crafting a Toolchain. Jeff Brown jeff.brown@gmail.com

Gallio: Crafting a Toolchain. Jeff Brown jeff.brown@gmail.com Gallio: Crafting a Toolchain Jeff Brown jeff.brown@gmail.com About Me Jeff Brown Lead Software Engineer at Yellowpages.com Creator of Gallio Open Source Project Lead of MbUnit Open Source Project Coding

More information

Continuous. Integration. in.net MARGIN KAWALEROWICZ CRAIG BERNTSON MANNING. Greenwich. (74 w. long.)

Continuous. Integration. in.net MARGIN KAWALEROWICZ CRAIG BERNTSON MANNING. Greenwich. (74 w. long.) Continuous Integration in.net MARGIN KAWALEROWICZ CRAIG BERNTSON M MANNING Greenwich (74 w. long.) contents preface xv acknowledgments xvii about this book xix about the authors xxii about the cover illustration

More information

Leveraging Rational Team Concert's build capabilities for Continuous Integration

Leveraging Rational Team Concert's build capabilities for Continuous Integration Leveraging Rational Team Concert's build capabilities for Continuous Integration Krishna Kishore Senior Engineer, RTC IBM Krishna.kishore@in.ibm.com August 9-11, Bangalore August 11, Delhi Agenda What

More information

CISC 275: Introduction to Software Engineering. Lab 5: Introduction to Revision Control with. Charlie Greenbacker University of Delaware Fall 2011

CISC 275: Introduction to Software Engineering. Lab 5: Introduction to Revision Control with. Charlie Greenbacker University of Delaware Fall 2011 CISC 275: Introduction to Software Engineering Lab 5: Introduction to Revision Control with Charlie Greenbacker University of Delaware Fall 2011 Overview Revision Control Systems in general Subversion

More information

Why this lecture exists ITK Lecture 12: Open Source & Cross Platform Software Development

Why this lecture exists ITK Lecture 12: Open Source & Cross Platform Software Development Why this lecture exists ITK Lecture 12: Open Source & Cross Platform Software Development Methods in Image Analysis CMU Robotics Institute 16-725 U. Pitt Bioengineering 2630 Spring Term, 2006 Successfully

More information

Software Configuration Management Best Practices for Continuous Integration

Software Configuration Management Best Practices for Continuous Integration Software Configuration Management Best Practices for Continuous Integration As Agile software development methodologies become more common and mature, proven best practices in all phases of the software

More information

Beginners guide to continuous integration. Gilles QUERRET Riverside Software

Beginners guide to continuous integration. Gilles QUERRET Riverside Software Beginners guide to continuous integration Gilles QUERRET Riverside Software About the speaker Working with Progress and Java since 10 years Started Riverside Software 7 years ago Based in Lyon, France

More information

SOFTWARE DEVELOPMENT BASICS SED

SOFTWARE DEVELOPMENT BASICS SED SOFTWARE DEVELOPMENT BASICS SED Centre de recherche Lille Nord Europe 16 DÉCEMBRE 2011 SUMMARY 1. Inria Forge 2. Build Process of Software 3. Software Testing 4. Continuous Integration 16 DECEMBRE 2011-2

More information

Revision control systems (RCS) and

Revision control systems (RCS) and Revision control systems (RCS) and Subversion Problem area Software projects with multiple developers need to coordinate and synchronize the source code Approaches to version control Work on same computer

More information

PxPlus Version Control System Using TortoiseSVN. Jane Raymond

PxPlus Version Control System Using TortoiseSVN. Jane Raymond PxPlus Version Control System Using TortoiseSVN Presented by: Jane Raymond Presentation Outline Basic installation and setup Checking in an application first time Checking out an application first time

More information

Nick Ashley TOOLS. The following table lists some additional and possibly more unusual tools used in this paper.

Nick Ashley TOOLS. The following table lists some additional and possibly more unusual tools used in this paper. TAKING CONTROL OF YOUR DATABASE DEVELOPMENT Nick Ashley While language-oriented toolsets become more advanced the range of development and deployment tools for databases remains primitive. How often is

More information

Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited

Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited Continuous Integration: Improving Software Quality and Reducing Risk Preetam Palwe Aftek Limited One more title Do you love bugs? Or Are you in love with QC members? [Courtesy: Smita N] Agenda Motivation

More information

TEST AUTOMATION FRAMEWORK

TEST AUTOMATION FRAMEWORK TEST AUTOMATION FRAMEWORK Twister Topics Quick introduction Use cases High Level Description Benefits Next steps Twister How to get Twister is an open source test automation framework. The code, user guide

More information

Continuous Integration with CruiseControl.Net

Continuous Integration with CruiseControl.Net Continuous Integration with CruiseControl.Net Part 1 Paul Grenyer What is Continuous Integration? Continuous integration is vital to the software development process if you have multiple build configurations

More information

Build management & Continuous integration. with Maven & Hudson

Build management & Continuous integration. with Maven & Hudson Build management & Continuous integration with Maven & Hudson About me Tim te Beek tim.te.beek@nbic.nl Computer science student Bioinformatics Research Support Overview Build automation with Maven Repository

More information

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation Practicing Continuous Delivery using Hudson Winston Prakash Oracle Corporation Development Lifecycle Dev Dev QA Ops DevOps QA Ops Typical turn around time is 6 months to 1 year Sprint cycle is typically

More information

Essential Visual Studio Team System

Essential Visual Studio Team System Essential Visual Studio Team System Introduction This course helps software development teams successfully deliver complex software solutions with Microsoft Visual Studio Team System (VSTS). Discover how

More information

Continuous Delivery. Alejandro Ruiz

Continuous Delivery. Alejandro Ruiz Continuous Delivery Alejandro Ruiz True reality How the customer explained it How the project leader understood it How the analyst designed it How the programmer wrote it What the customer really needed

More information

CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)

CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.) Today: Source code control CPSC 491 Source Code (Version) Control Exercise: 1. Pretend like you don t have a version control system (e. g., no git, subversion, cvs, etc.) 2. How would you manage your source

More information

Continuous Integration for.net Development

Continuous Integration for.net Development Continuous Integration for.net Development Craig Berntson 3925 South 700 West #22 Murray, UT 84123 Voice: 801-699-8782 www.craigberntson.com Email: craig@craigberntson.com Contents Continuous Integration

More information

SA4 Software Developer Survey Survey Specification v2.2

SA4 Software Developer Survey Survey Specification v2.2 Last updated: 30-06-2009 Activity: SA4 Dissemination Level: PP (Project Participants) Authors: Branko Marović (UoB/AMRES), Cezary Mazurek (PSNC), Gina Kramer (DANTE) Table of Contents 1 Introduction 1

More information

Automate Your Deployment with Bamboo, Drush and Features DrupalCamp Scotland, 9 th 10 th May 2014

Automate Your Deployment with Bamboo, Drush and Features DrupalCamp Scotland, 9 th 10 th May 2014 This presentation was originally given at DrupalCamp Scotland, 2014. http://camp.drupalscotland.org/ The University of Edinburgh 1 We are 2 of the developers working on the University s ongoing project

More information

Image Credit: http://www.flickr.com/photos/warquel/3397541204/

Image Credit: http://www.flickr.com/photos/warquel/3397541204/ 1 2 3 4 Image Credit: http://www.flickr.com/photos/warquel/3397541204/ 5 Fully manual hit build in your IDE of choice and then manually copy files from the developers machine Easy and simple But never

More information

Continuous Integration with CruiseControl.Net

Continuous Integration with CruiseControl.Net Continuous Integration with CruiseControl.Net Part 2 Paul Grenyer CruiseControl.Net Web Dashboard In part 1 of Continuous Integration with CruiseControl.Net [Part1] I described creating a simple, but effective,

More information

Continuous Integration with CruiseControl.Net

Continuous Integration with CruiseControl.Net Continuous Integration with CruiseControl.Net Part 3 Paul Grenyer CruiseControl.Net One of the first rules of writing is to write about something you know about. With the exception of the user guide for

More information

MATLAB @ Work. MATLAB Source Control Using Git

MATLAB @ Work. MATLAB Source Control Using Git MATLAB @ Work MATLAB Source Control Using Git Richard Johnson Using source control is a key practice for professional programmers. If you have ever broken a program with a lot of editing changes, you can

More information

Tutorial: Packaging your server build

Tutorial: Packaging your server build Tutorial: Packaging your server build This tutorial walks you through the steps to prepare a game server folder or package containing all the files necessary for your game server to run in Amazon GameLift.

More information

Introduction to Subversion

Introduction to Subversion Introduction to Subversion Getting started with svn Matteo Vescovi 19/02/2010 Agenda A little bit of theory Overview of Subversion Subversion approach to Version Control Using Subversion Typical subversion

More information

Web Developer Toolkit for IBM Digital Experience

Web Developer Toolkit for IBM Digital Experience Web Developer Toolkit for IBM Digital Experience Open source Node.js-based tools for web developers and designers using IBM Digital Experience Tools for working with: Applications: Script Portlets Site

More information

Test Driven Development Part III: Continuous Integration Venkat Subramaniam venkats@agiledeveloper.com http://www.agiledeveloper.com/download.

Test Driven Development Part III: Continuous Integration Venkat Subramaniam venkats@agiledeveloper.com http://www.agiledeveloper.com/download. Test Driven Development Part III: Continuous Integration Venkat Subramaniam venkats@agiledeveloper.com http://www.agiledeveloper.com/download.aspx Abstract In this final part of the three part series on

More information

GENiC. Deliverable D5.1 Development & Integration guidelines including integration environment & means. Dissemination Level: Public

GENiC. Deliverable D5.1 Development & Integration guidelines including integration environment & means. Dissemination Level: Public GENiC Deliverable D5.1 Development & Integration guidelines including integration environment & means This project has received funding from the European Union s Seventh Framework Programme for research,

More information

How To Develop A System For A Car Dealership

How To Develop A System For A Car Dealership Curriculum Vitae Personal Details Name: Nationality: German Year of birth: 1980 Computer experience since: 2000 Core Competencies Senior Software Developer.Net Software architecture and design (OOA/OOD)

More information

Version Control! Scenarios, Working with Git!

Version Control! Scenarios, Working with Git! Version Control! Scenarios, Working with Git!! Scenario 1! You finished the assignment at home! VC 2 Scenario 1b! You finished the assignment at home! You get to York to submit and realize you did not

More information

Open Source vs. Collaborative Software: FOSS is Not Enough

Open Source vs. Collaborative Software: FOSS is Not Enough Open Source vs. Collaborative Software: FOSS is Not Enough Peter F. Peterson Much of the software at user facilities is developed is released by making the source code available and decorated with one

More information

Practical Continuous Integration

Practical Continuous Integration Methods & Tools Practical Continuous Integration Kim Gräsman & Jonas Blunck, TAC AB Integration Merging your latest changes with the common code base Integration problems Forgetting to add a file Conflicting

More information

Part III. Integrating.NET Open Source Projects in Your Development

Part III. Integrating.NET Open Source Projects in Your Development Part III Integrating.NET Open Source Projects in Your Development C H A P T E R 9 ASpell.NET Case Study Nothing you can't spell will ever work. Will Rogers Introduction There are three excuses ever present

More information

Version Control with Subversion

Version Control with Subversion Version Control with Subversion http://www.oit.duke.edu/scsc/ http://wiki.duke.edu/display/scsc scsc@duke.edu John Pormann, Ph.D. jbp1@duke.edu Software Carpentry Courseware This is a re-work from the

More information

Version Control with Subversion and Xcode

Version Control with Subversion and Xcode Version Control with Subversion and Xcode Author: Mark Szymczyk Last Update: June 21, 2006 This article shows you how to place your source code files under version control using Subversion and Xcode. By

More information

Version control. HEAD is the name of the latest revision in the repository. It can be used in subversion rather than the latest revision number.

Version control. HEAD is the name of the latest revision in the repository. It can be used in subversion rather than the latest revision number. Version control Version control is a powerful tool for many kinds of work done over a period of time, including writing papers and theses as well as writing code. This session gives a introduction to a

More information

Software Construction

Software Construction Software Construction Martin Kropp University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Learning Target You can explain the importance of continuous integration

More information

Introduction and Agenda

Introduction and Agenda Continuous Integration a brief introduction to creating quality software continuously presented by Introduction and Agenda Andy Painter, Davisbase Consulting 15+ years in software development. 5+ years

More information

Jenkins: The Definitive Guide

Jenkins: The Definitive Guide Jenkins: The Definitive Guide John Ferguson Smart O'REILLY8 Beijing Cambridge Farnham Koln Sebastopol Tokyo Table of Contents Foreword xiii Preface xv 1. Introducing Jenkins 1 Introduction 1 Continuous

More information

Moving to the new EAE version control Grantley McCauley

Moving to the new EAE version control Grantley McCauley Moving to the new EAE version control Grantley McCauley EAE/AB Suite Seminar Amsterdam October 21-22, 2014 Alternative Version Control Option for EAE 3.3 Objective: Provide alternative (i.e. replacement)

More information

ALERT installation setup

ALERT installation setup ALERT installation setup In order to automate the installation process of the ALERT system, the ALERT installation setup is developed. It represents the main starting point in installing the ALERT system.

More information

Effective Team Development Using Microsoft Visual Studio Team System

Effective Team Development Using Microsoft Visual Studio Team System Effective Team Development Using Microsoft Visual Studio Team System Course 6214A: Three days; Instructor-Led Introduction This three-day instructor-led course provides students with the knowledge and

More information

Distributed Version Control with Mercurial and git

Distributed Version Control with Mercurial and git OpenStax-CNX module: m37404 1 Distributed Version Control with Mercurial and git Hannes Hirzel This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License 3.0 Abstract

More information

Expert PHP 5 Tools. Proven enterprise development tools and best practices for designing, coding, testing, and deploying PHP applications.

Expert PHP 5 Tools. Proven enterprise development tools and best practices for designing, coding, testing, and deploying PHP applications. Expert PHP 5 Tools Proven enterprise development tools and best practices for designing, coding, testing, and deploying PHP applications Dirk Merkel PUBLISHING -J BIRMINGHAM - MUMBAI Preface Chapter 1:

More information

Copyrighted www.eh1infotech.com +919780265007, 0172-5098107 Address :- EH1-Infotech, SCF 69, Top Floor, Phase 3B-2, Sector 60, Mohali (Chandigarh),

Copyrighted www.eh1infotech.com +919780265007, 0172-5098107 Address :- EH1-Infotech, SCF 69, Top Floor, Phase 3B-2, Sector 60, Mohali (Chandigarh), Content of 6 Months Software Testing Training at EH1-Infotech Module 1: Introduction to Software Testing Basics of S/W testing Module 2: SQA Basics Testing introduction and terminology Verification and

More information

Maven or how to automate java builds, tests and version management with open source tools

Maven or how to automate java builds, tests and version management with open source tools Maven or how to automate java builds, tests and version management with open source tools Erik Putrycz Software Engineer, Apption Software erik.putrycz@gmail.com Outlook What is Maven Maven Concepts and

More information

Software Configuration Management and Continuous Integration

Software Configuration Management and Continuous Integration 1 Chapter 1 Software Configuration Management and Continuous Integration Matthias Molitor, 1856389 Reaching and maintaining a high quality level is essential for each today s software project. To accomplish

More information

Domain Driven Design. Informatik IT-Uddannelse og IT-Udvikling

Domain Driven Design. Informatik IT-Uddannelse og IT-Udvikling Domain Driven Design Morten Mertner Senior Consultant, Teknologisk Institut - Architect and Software Developer (C#) - Teacher - Speaker (conferences and gatherings) Certifications - MSCD.NET - MCT Open

More information

Agile Development with Jazz and Rational Team Concert

Agile Development with Jazz and Rational Team Concert Agile Development with Jazz and Rational Team Concert Mayank Parikh mayank.parikh.@in.ibm.com Acknowledgements: Thanks to Khurram Nizami for some of the slides in this presentation Agile Values: A Foundation

More information

An Open Source Work Shop. Luciano Resende (lresende@apache.org) Haleh Mahbod (hmahbod@gmail.com) Aug. 2008

An Open Source Work Shop. Luciano Resende (lresende@apache.org) Haleh Mahbod (hmahbod@gmail.com) Aug. 2008 An Open Source Work Shop Luciano Resende (lresende@apache.org) Haleh Mahbod (hmahbod@gmail.com) Aug. 2008 1 Topics General knowledge about open source Importance of Open Source What is Open Source License

More information

OFBiz Addons goals, howto use, howto manage. Nicolas Malin, Nov. 2012

OFBiz Addons goals, howto use, howto manage. Nicolas Malin, Nov. 2012 OFBiz Addons goals, howto use, howto manage Nicolas Malin, Nov. 2012 Agenda History of a birth Addons principle Addons and their environment (extensive program) Conclusion Once upon a time The history

More information

vs. Web Site: www.soebes.com Blog: blog.soebes.com Email: info@soebes.com Dipl.Ing.(FH) Karl Heinz Marbaise

vs. Web Site: www.soebes.com Blog: blog.soebes.com Email: info@soebes.com Dipl.Ing.(FH) Karl Heinz Marbaise Project Organization vs. Build- and Configuration Management Web Site: www.soebes.com Blog: blog.soebes.com Email: info@soebes.com Dipl.Ing.(FH) Karl Heinz Marbaise Agenda 1.Initialization 2.Specification

More information

Engine: Using MSBuild and Team Foundation

Engine: Using MSBuild and Team Foundation Microsoft Inside the Microsoft* Build Engine: Using MSBuild and Team Foundation Build, Second Edition Sayed Hashimi William Bartholomew Table of Contents Foreword x'x Introduction x*1 Part I Overview 1

More information

Adopting a Collaborative Software Development Process in the Scientific Community

Adopting a Collaborative Software Development Process in the Scientific Community Adopting a Collaborative Software Development Process in the Scientific Community NOAA's 32nd Climate Diagnostics and Prediction Workshop (CDPW) Mike Charles DOC/NOAA/NWS/NCEP/CPC Motivation To advocate

More information

IKAN ALM Architecture. Closing the Gap Enterprise-wide Application Lifecycle Management

IKAN ALM Architecture. Closing the Gap Enterprise-wide Application Lifecycle Management IKAN ALM Architecture Closing the Gap Enterprise-wide Application Lifecycle Management Table of contents IKAN ALM SERVER Architecture...4 IKAN ALM AGENT Architecture...6 Interaction between the IKAN ALM

More information

Introduction to Version Control

Introduction to Version Control Research Institute for Symbolic Computation Johannes Kepler University Linz, Austria Winter semester 2014 Outline General Remarks about Version Control 1 General Remarks about Version Control 2 Outline

More information

Managing.NET Development with NAnt

Managing.NET Development with NAnt Managing.NET Development with NAnt Abstract: Visual Studio.NET is the most powerful, complete IDE Microsoft has ever released. Its support for writing code, organizing project files and compiling applications

More information

Version Control with. Ben Morgan

Version Control with. Ben Morgan Version Control with Ben Morgan Developer Workflow Log what we did: Add foo support Edit Sources Add Files Compile and Test Logbook ======= 1. Initial version Logbook ======= 1. Initial version 2. Remove

More information

HPC-Forge. A Software Development Infrastructure

HPC-Forge. A Software Development Infrastructure HPC-Forge A Software Development Infrastructure Agenda Introduction The portal The services: Subversion Trac Hudson WebDAV Roberto Gori 2 Software development process A software development process is

More information

Development Process A case study

Development Process A case study Development Process A case study Author: Adrian Krummenacher Copyright 2005 bbv Software Services AG Legal disclaimer While we have made every attempt to ensure that the information in this publication

More information

Test-Driven Development and Continuous Integration

Test-Driven Development and Continuous Integration Test-Driven Development and Continuous Integration We have all been there, working all night long on a specific piece of functionality, so happy that we've got something to run finally! We work to merge

More information

EAE-MS SCCAPI based Version Control System

EAE-MS SCCAPI based Version Control System EAE-MS SCCAPI based Version Control System This document is an implementation guide to use the EAE-MS SCCAPI based Version Control System as an alternative to the existing EAE Version Control System. The

More information

Eclipse Help

Eclipse Help Software configuration management We ll start with the nitty gritty and then get more abstract. Configuration and build Perdita Stevens School of Informatics University of Edinburgh 1. Version control

More information

Delivering Quality Software with Continuous Integration

Delivering Quality Software with Continuous Integration Delivering Quality Software with Continuous Integration 01 02 03 04 Unit Check- Test Review In 05 06 07 Build Deploy Test In the following pages we will discuss the approach and systems that together make

More information

Software Continuous Integration & Delivery

Software Continuous Integration & Delivery November 2013 Daitan White Paper Software Continuous Integration & Delivery INCREASING YOUR SOFTWARE DEVELOPMENT PROCESS AGILITY Highly Reliable Software Development Services http://www.daitangroup.com

More information

Subversion Integration for Visual Studio

Subversion Integration for Visual Studio Subversion Integration for Visual Studio VisualSVN Team VisualSVN: Subversion Integration for Visual Studio VisualSVN Team Copyright 2005-2008 VisualSVN Team Windows is a registered trademark of Microsoft

More information

Continuous integration End of the big bang integration era

Continuous integration End of the big bang integration era Continuous integration End of the big bang integration era Patrick Laurent Partner Technology & Enterprise Applications Deloitte Mario Deserranno Manager Technology & Enterprise Applications Deloitte The

More information

Introduction to Agile Software Development Process. Software Development Life Cycles

Introduction to Agile Software Development Process. Software Development Life Cycles Introduction to Agile Software Development Process Presenter: Soontarin W. (Senior Software Process Specialist) Date: 24 November 2010 AGENDA Software Development Life Cycles Waterfall Model Iterative

More information

Comparison of Version Control Systems for Software Maintenance

Comparison of Version Control Systems for Software Maintenance Comparison of Version Control Systems for Software Maintenance by Kevin N. Haw (http://www.kevinhaw.com) May 16, 2006 This work is licensed under the Creative Commons Attribution-Noncommercial-No Derivative

More information

CSE 70: Software Development Pipeline Version Control with Subversion, Continuous Integration with Bamboo, Issue Tracking with Jira

CSE 70: Software Development Pipeline Version Control with Subversion, Continuous Integration with Bamboo, Issue Tracking with Jira CSE 70: Software Development Pipeline Version Control with Subversion, Continuous Integration with Bamboo, Issue Tracking with Jira Ingolf Krueger Department of Computer Science & Engineering University

More information

Using Subversion in Computer Science

Using Subversion in Computer Science School of Computer Science 1 Using Subversion in Computer Science Last modified July 28, 2006 Starting from semester two, the School is adopting the increasingly popular SVN system for management of student

More information

Software Engineering Process. Kevin Cathey

Software Engineering Process. Kevin Cathey Software Engineering Process Kevin Cathey Where are we going? Last Week iphone Application Technologies Workshop This Week Software Engineering Process Thanksgiving Break Write some code, yo 2 Dec Options:

More information

Continuous Integration

Continuous Integration Continuous Integration WITH FITNESSE AND SELENIUM By Brian Kitchener briank@ecollege.com Intro Who am I? Overview Continuous Integration The Tools Selenium Overview Fitnesse Overview Data Dependence My

More information

Version Control with Git. Dylan Nugent

Version Control with Git. Dylan Nugent Version Control with Git Dylan Nugent Agenda What is Version Control? (and why use it?) What is Git? (And why Git?) How Git Works (in theory) Setting up Git (surviving the CLI) The basics of Git (Just

More information

Version control with Subversion

Version control with Subversion Version control with Subversion Davor Cubranic Grad Seminar October 6, 2011 With searching comes loss And the presence of absence: My Thesis not found. Version Control A tool for managing changes to a

More information

Mastering CMake. Sixth Edition. Bill Martin & Hoffman. Ken. Andy Cedilnik, David Cole, Marcus Hanwell, Julien Jomier, Brad King, Robert Maynard,

Mastering CMake. Sixth Edition. Bill Martin & Hoffman. Ken. Andy Cedilnik, David Cole, Marcus Hanwell, Julien Jomier, Brad King, Robert Maynard, Mastering CMake Sixth Edition Ken Bill Martin & Hoffman With contributions from: Andy Cedilnik, David Cole, Marcus Hanwell, Julien Jomier, Brad King, Robert Maynard, Alex Neundorf Published by Kitware

More information

Version Control. Luka Milovanov lmilovan@abo.fi

Version Control. Luka Milovanov lmilovan@abo.fi Version Control Luka Milovanov lmilovan@abo.fi Configuration Management Configuration management is the management of system change to software products Version management: consistent scheme of version

More information

Selection and Management of Open Source Software in Libraries.

Selection and Management of Open Source Software in Libraries. Selection and Management of Open Source Software in Libraries. Vimal kumar V. Asian School of Business Padmanabha Building Technopark, Trivandrum-695 581 vimal0212@yahoo.com Abstract Open source software

More information

Support Desk Software

Support Desk Software Support Desk Software BizCore provides you web based ASP.NET tools needed to quickly set up a seamlessly integrated support platform, saving you time and money. Decrease your response times and increase

More information

Version control with GIT

Version control with GIT AGV, IIT Kharagpur September 13, 2012 Outline 1 Version control system What is version control Why version control 2 Introducing GIT What is GIT? 3 Using GIT Using GIT for AGV at IIT KGP Help and Tips

More information

Serialization. Informatik IT-Uddannelse og IT-Udvikling

Serialization. Informatik IT-Uddannelse og IT-Udvikling Serialization Morten Mertner Senior Consultant, Teknologisk Institut - Architect and Software Developer (C#) - Teacher - Speaker (conferences and gatherings) Certificeringer - MSCD.NET - MCT Open Source

More information

Continuous Integration (CI)

Continuous Integration (CI) Introduction A long standing problem for software development teams has been to maintain the stability of an application while integrating the changes made by multiple developers. The later that integration

More information

Version Control with Subversion

Version Control with Subversion Version Control with Subversion Introduction Wouldn t you like to have a time machine? Software developers already have one! it is called version control Version control (aka Revision Control System or

More information

Software Development Management. Mathieu Lacage - DREAM

Software Development Management. Mathieu Lacage - DREAM 1 Software Development Management Mathieu Lacage - DREAM 2 Facts Every piece of software is damn horrible. It is: hard to use buggy late hard to build There is a silver bullet to solve these problems.

More information

Database Build and Release will get started soon

Database Build and Release will get started soon #sqlinthecity Database Build and Release will get started soon Ernest Hwang Principal Software Engineer, Practice Fusion http://practicefusion.com/careers/ While you re waiting, check out SQL Prompt #sqlinthecity

More information

Best Practices for Java Projects Horst Rechner

Best Practices for Java Projects Horst Rechner Best Practices for Java Projects Horst Rechner Abstract: The combination of automated builds with module and integration tests and centralized bug and work tracking using a combination of Eclipse, Mylyn,

More information

Offline Database Development and Unit Testing with SSDT. Andrey Zavadskiy

Offline Database Development and Unit Testing with SSDT. Andrey Zavadskiy Offline Database Development and Unit Testing with SSDT Andrey Zavadskiy Thank You Presenting Sponsors Gain insights through familiar tools while balancing monitoring and managing user created content

More information

For more about patterns & practices: http://msdn.microsoft.com/practices/ My blog: http://ademiller.com/tech/

For more about patterns & practices: http://msdn.microsoft.com/practices/ My blog: http://ademiller.com/tech/ For more about patterns & practices: http://msdn.microsoft.com/practices/ My blog: http://ademiller.com/tech/ 1 2 Stop me. Ask questions. Tell me if you ve heard it all before or you want to hear about

More information

Continuous Integration

Continuous Integration Continuous Integration Why and How to build a Continuous Integration Environment for the.net platform Document Version 1.0 Continuous Integration Guide and Reference Manual What this document is for: This

More information

Continuous Integration Northwestern University. Evanston, Illinois November 2012. The Business of IT www.parivedasolutions.com

Continuous Integration Northwestern University. Evanston, Illinois November 2012. The Business of IT www.parivedasolutions.com Continuous Integration Northwestern University Evanston, Illinois November 2012 The Business of IT www.parivedasolutions.com Top 6 reasons students say they join the Pariveda team 1. Clearly defined career

More information

Software infrastructure for Java development projects

Software infrastructure for Java development projects Tools that can optimize your development process Software infrastructure for Java development projects Presentation plan Software Development Lifecycle Tools What tools exist? Where can tools help? Practical

More information