Agile Development c/w Continuous Integration and Testing



Similar documents
UMBRACO CMS. Building Scalable Websites. Matthew Brumpton UK Data Archive 17 April 2014

Using Solr search in a Dot Net environment

SAS in clinical trials A relook at project management,

Software Development. Overview.

Application Lifecycle Management Using Visual Studio 2013 (SCRUM)

The Agile Manifesto is based on 12 principles:

ALM2013VS_ACC: Application Lifecycle Management Using Visual Studio 2013

Call for Tender for Application Development and Maintenance Services

Agile ALM. Lightweight tools and Agile strategies MANNING MICHAEL HUTTERMANN. Shelter Island

Agility via Software Engineering Practices

Software Engineering I (02161)

QA & Test Management. Overview.

Best Overall Use of Technology. Jaspersoft

TEST AUTOMATION FRAMEWORK

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

LEANDRO CONTRÓ GONZÁLEZ

Team Foundation Server

HP Agile Manager What we do

INCREASE YOUR WEBMETHODS ROI WITH AUTOMATED TESTING. Copyright 2015 CloudGen, LLC

Jenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012

HP Application Lifecycle Management

IT Home 2015 DevOps 研 討 會

ukdataservice.ac.uk Introducing our data and services

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

How To Develop A System For A Car Dealership

HP ALM11 & MS VS/TFS2010

New Web Interface for Men & Mice Suite Final report

Agile Project Management and the Real World. Emily Lynema DLF Fall 2010 November 1, 2010

ASSURING SOFTWARE QUALITY USING VISUAL STUDIO 2010

Continuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery!

Enhancing The ALM Experience

Client Overview. Engagement Situation. Key Requirements

Using Agile with Large, Geographically Dispersed Development Teams

Demand & Requirements Management Software Development QA & Test Management IT Operations & DevOps Change Management Agile, SAFe, Waterfall Support

USCIS/SPAS: Product Backlog Items and User Stories 4/16/2015. Dr. Patrick McConnell

Agile Best Practices and Patterns for Success on an Agile Software development project.

Maintaining Quality in Agile Environment

Waterfall to Agile. DFI Case Study By Nick Van, PMP

Mobile Testing, Agile Methodologies & You!

Modern practices TIE-21100/

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

Leveraging Agile and CMMI for better Business Benefits Presented at HYDSPIN Mid-year Conference Jun-2014

Software Continuous Integration & Delivery

Agile Project Management: Best Practices and Methodologies

WHITEPAPER. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Principle #1, Agile Manifesto

Building Value with Continuous Integration

Service Description - Testing

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

I'M MICHAL I'M JANKOWSKI

Agile Techniques and Tools. White Paper

A Practical Guide to implementing Agile QA process on Scrum Projects

Testing in Scrum Projects

Know the Difference. Unified Functional Testing (UFT) and Lean Functional Testing (LeanFT) from HP

Testing Tools using Visual Studio. Randy Pagels Sr. Developer Technology Specialist Microsoft Corporation

From Agile by Design. Full book available for purchase here.

Web UI & Functional Test Automation for Continuous Agile Deliveries

Application Development at Congruent

Demand & Requirements Management Software Development QA & Test Management IT Operations & DevOps Change Management Agile, SAFe, Waterfall Support

Synchronization with Microsoft Team Foundation Server 2010

The style is: a statement or question followed by four options. In each case only one option is correct.

Axe in the Agile World

Good Agile Testing Practices and Traits How does Agile Testing work?

How to manage agile development? Rose Pruyne Jack Reed

The Agile Project Manager

How Silk Central brings flexibility to agile development

a new generation software test automation framework - CIVIM

#define. What is #define

HARNESSING DATA CENTRE EXPERTISE TO DRIVE FORWARD INSTITUTIONAL RESEARCH DATA MANAGEMENT

Continuous Integration: A case study

Security Automation in Agile SDLC Real World Cases

Unit & Live Testing for SSIS

JOB DESCRIPTION APPLICATION LEAD

Your Technology Partner Offshore and Onsite. Services Portfolio

SOFTWARE TESTING TRAINING COURSES CONTENTS

Educational Collaborative Develops Big Data Solution with MongoDB

Agile Project Management in a Regulated Environment

Effektiver Tool-Einsatz

Break It Before You Buy It!

Agile Austin Dev SIG. June Continuous Integration (CI)

Document Management. Document Management for the Agile Enterprise. AuraTech Pte Ltd

Rational Team Concert. Scrum Project Management Tutorial

Continuous Integration and Bamboo. Ryan Cutter CSCI Spring Semester

Automation using Selenium

How To Test On An Hp Mobile Device

AGILE & SCRUM. Revised 9/29/2015

Project Management. Chapter. A Fresh Graduate s Guide to Software Development Tools and Technologies

Increasing frequency of releases to every week down from quarterly major releases

We ( have extensive experience in enterprise and system architectures, system engineering, project management, and

Agile Testing Intelliware Development Inc. BC

The Agile Movement An introduction to agile software development

Delivering Quality Software with Continuous Integration

Introduction to Agile Scrum

When User Experience Met Agile: A Case Study

Microsoft Technology Practice Capability document. MOSS / WSS Building Portal based Information Worker Solutions. Overview

Delivery. Continuous. Jez Humble and David Farley. AAddison-Wesley. Upper Saddle River, NJ Boston Indianapolis San Francisco

Requirements Management

DIGITAL SERVICES PEOPLE. G-Cloud Services. Lot 4 - Document Management. Colin Campbell October 2015 Document Version 1.2

Use service virtualization to remove testing bottlenecks

Incorporated in January, QA and QC expertise focused on functional, performance and application security validation

Accelerating software testing effectiveness using Agile methodologies..

Transcription:

Agile Development c/w Continuous Integration and Testing.... JOHN PAYNE... SENIOR DATA AND SERVICES DEVELOPER UNIVERSITY OF ESSEX... DevCon1 12 APRIL 2013

Overview of today s talk Brief background: the UK Data Archive and the UK Data Service Historical and Current Structure of ADM Why use Agile? Why use CIT? How we use Agile and CIT together Where we are going with Agile and CIT? Questions?

The UK Data Archive and the UK Data Service based at the University of Essex since 1967 curator of the largest collection of digital data in the social sciences and humanities in the UK see data-archive.ac.uk for more details makes these available via the new UK Data Service UK Data Service also provides value-added services for UK Census data, government surveys and beyond UK Data Service includes Universities of Essex, Manchester (Mimas, CCSR), Leeds, Southampton, Edinburgh (Edina) and University College London See ukdataservice.ac.uk for more details

Historical Structure of ADM Until two years ago, Application Development and Maintainance (ADM) used the waterfall method of application development. One developer assigned to work on a product from inception to implementation across all layers of development. This had lead to some of the following all too common issues Repetition and duplication of code across projects Isolated effort Stove Pipes Repetition of data across systems but not quite! Poor quality code and lack of consistency Unmaintainable code Poor scheduling and long lead times Unfocused meandering development cycles Building some tables!= designing a database

Current Structure of ADM Application Development and Maintenance (ADM) now consists of two teams which opens up Agile possibilities: Applications Front end development Umbraco/MVC/Webforms Java/Solr /Sharepoint.. Services Back end development C# Web services/tools/cit/databases/data feeds Maintenance functions can fall within either team if appropriate and sensible.

Why use Agile The introduction of Agile techniques has had many benefits: Focused project management and decision making during a sprint Reduced development time Better utilisation of resources and skills Technology specialists rather than application specialists Improved communication within ADM itself Stand up Meetings Whiteboards Improved communication outside of ADM All interested parties encouraged to attend stand ups not just the team and the project manager.

Why use CIT To avoid the mistakes and pitfalls of the past and improve turnaround, quality and reuse. With reuse comes dependency not always visible to a developer Small changes can lead to big problems library reuse Errors are spotted early Resource changes should not lead to unmaintainable code Enforces stylistic rules for readability Force developers to produce documentation Improve quality and reliability Resharper encourages refactoring BUT handle with care! Builds (DLLs) are automatically versioned. Essential for managing deployments

How we use Agile Our main tools for Agile are Requirements User Stories Given that when then. JIRA Issue Tracking software Time logging and sprint management Greenhopper Plugin to JIRA Scrum Kanban Scrumban! Prioritising Burndown graphs Sprints One or Two Weeks Daily standups 15 minutes at 9.30am

Sprint Planning in JIRA using Greenhopper Sprint Commitment Sprint Backlog

KanBan Board within JIRA Swimlanes are configurable

Jira Project reporting showing sprint activity Sprint 2 Planning Sprint 1 review Go Live! Sprint 1 Planning Sprint 2 activity Sprint 1 activity

How we use CIT Our main tools for CIT are User Stories Requirements JIRA Issue Tracking software SVN Source Control Repository Jenkins CIT Server Resharper Visual Studio Tool Stylecop Code style ruleset Nunit (Rhino Mocks and MOQ) Selenium UI Testing Dogygen API documentation Robocopy Depoloyment Sonar Monitors Coverage

How does Jenkins fit in? Jenkins Developer PC Monitor builds SVN Build Script Stylecop Tools Source Code Test Code Shared Libraries Resharper Stylecop Check in/out Source Code Test Code Shared Libraries Build occurs Workspace Builds, Test results Documentation

Jenkins Screenshots Job Status Build History

Complete CIT flow Monitor builds and failures Email notifications sent Jenkins Developer PC Code development Test development SVN Jenkins SVN Trigger fires remote build Pre-Build DLL Version Build Unit Tests Selenium Tests Code Coverage API Documentation Deployment script using Robocopy Test Server Success! Triggers further lift and shift job from Jenkins s Workspace. Updates JIRA issues Successful build triggers further jenkins job and updates JIRA Jenkins (Manual) Manually triggered lift and shift job Staging Server Jenkins (Manual) Manually triggered lift and shift job Live Server

Agile and CIT Issues Because of the team structure within ADM, any application sprint requires a pre-sprint by the services team. How far to go with testing? Code Coverage and Mocking Functional Tests and Unit Tests Interfaces! Estimating Time logging is good R&D during a sprint is bad. Creep (requirements churn) UI developer can end up building to an outdated requirement. Communication becomes paramount. Speak up at a stand up! JIRA email blindness

Where we are going with Agile and CIT Database and deployment tools Redgate Developer Tools All new developments involving 3 or more people to be developed as sprints. Thorough testing and continual upskilling Test-Driven Development (TDD) Behaviour-Driven Development (BDD) Improved planning and estimation Jira time tracking Improved products

Useful Links Jira http://www.atlassian.com/software/jira/overview Greenhopper http://www.atlassian.com/software/greenhopper/overview SVN http://subversion.apache.org/ Jenkins http://jenkins-ci.org/ Selenium http://docs.seleniumhq.org/ Stylecop http://stylecop.codeplex.com/ Resharper http://www.jetbrains.com/resharper/ Redgate http://www.red-gate.com/products/sql-development/sqldeveloper-bundle/ Doxygen http://www.stack.nl/~dimitri/doxygen/index.html Sonar http://www.sonarsource.org/

Thanks for listening Any Questions?

CONTACT UNIVERSIY OF ESSEX WIVENHOE PARK COLCHESTER ESSEX CO4 3SQ T +44 (0)1206 872001 E info@data-archive.ac.uk W data-archive.ac.uk