Hurdles The sprint with impediments on the way to automation Agile India 2014 報告者:李佩臻.

Slides:



Advertisements
Similar presentations
Presentation Review of a Consulting FirmPresentation Review of a Consulting Firm OSACTIVE WEAROSACTIVE WEAR Mountain Stream Co. CEO – Ian Hatman CFO –
Advertisements

Test Automation Success: Choosing the Right People & Process
PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
Lena Bigelow Business 550 Presentation SCRUM. -A project management process - Embraces iterative and incremental practices -Concentrates on what is important:
Ni.com Introduction to Agile and Scrum Speaker/Author: Paul Packebush Section Manager, Corporate Metrology Author:Logan Kunitz Staff Calibration Engineer.
<<replace with Customer Logo>>
NAUG NAUG Knowledge Evening – th February 2007.
Rules of the Game  Loosely based upon the TV show, “Who wants to be a millionaire.®”  Once the question is read, you will have 30 seconds to discuss.
Agile development By Sam Chamberlain. First a bit of history..
Production Programming in the Classroom Eric Allen, Robert Cartwright, and Charles Reis Rice University {eallen, cork,
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Introduction to Agile.
Improving Software Quality with Continuous Integration
Agile Methodologies for Project Management By – Komal Mehta.
Agile/Scrum Case study Code name: ninja.  2 scrum teams  One product backlog  8 months so far  Long term project  External integrations  R&D and.
PopMedNet Software Development Life Cycle Chayim Herzig-Marx Harvard Pilgrim Health Care Institute Daniel Dee Lincoln Peak Partners.
Aura Pasonen  Research questions:  Why, where, and how are project, project portfolio, and resource management tools used?  What kind of.
Customer Sources 1.Yourself 2.Prospects who do not get involved with the opportunity 3.Everyone Else – Warm Market.
CONTINUOUS INTEGRATION, DELIVERY & DEPLOYMENT ONE CLICK DELIVERY.
Continuous Delivery Ajey Gore Head of Technology ThoughtWorks India.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks gLite Release Process Maria Alandes Pradillo.
FINAL DEMO Apollo Crew, group 3 T SW Development Project.
Continuous Integration and Testing
Software Development Landscape
Configuration Issues and Efforts for Configuring Agile Approaches-Situational based Method Engineering Rinky Dwivedi, Computer Engineering Department Delhi.
IEBC Sunkosi Webinar © 2015 All rights reserved. Successfully Implementing Your Student Success Plans Ensuring The Success Of Well Managed Interventions.
Dr. Tom WayCSC Software Processes CSC 4700 Software Engineering.
Agile Assimilation & Scaling. 2  About me…  How did we start?  Bottom-up  Task Force  Learning  Pilots  First stage analysis + recommendations.
Resource Systems.  The need for agility  History of Product Development  Delivery of EPCOT  Future Challenges & Recommendations  Reflection  Questions?
One XP Experience: Introducing Agile (XP) Software Development into a Culture that is Willing but not Ready Joe Bergin * Fred Grossman * David Leip **
資工 4A 陳怡秀 Microsoft Visual Studio’s Journey to Continuous Delivery.
Chapter 3 – Agile Software Development Pepper modification of Sommerville presentation & Colm O’hEocha – AgileInnovation Ltd presentation 1Chapter 3 Agile.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Page 1/8 Waterfall  Agile  Scrum Development department.
Unified Process versus Extreme Programming. Outline Compare and contrast UP and XP  Processes / Disciplines  Management  Artefacts Risk management.
Project Workflow. How do you do it? -Discussion-
Creating a Brand New Project using Scrum and Agile Techniques Matt Turner, Mark Wightman Red Gate Software.
1 Today’s Plan In Class Exam – Quick Review Thoughts on your Junior Projects, cntd People and Roles on Projects.
GUIDE TO POST COLLEGE SUCCESS. 1. FOCUS ON WHAT YOU WANT TO DO  Do you want to be a professional?  Do you want to go volunteer?  Do you want to continue.
Continuous Deployment JEFFREY KNAPP 8/6/14. Introduction Why is it valuable How to achieve What to consider.
Process is continuously improving Have Definition of Done (DoD) DoD achievable within each iteration Team respects DoD The bottom line Delivering working,
1 FROM DEVELOPERS TO ENGINEERS ENGINEERING ROLE IMPLEMETED AT EXPEDIA August 26, 2015.
The Roadmap to Software Factories Tools, Patterns and Frameworks.
Your Safety Attitude A good attitude toward safety is a key to preventing unnecessary incidents and injuries. Your attitude affects your safety and the.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
(1) Introduction to Continuous Integration Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
Phoenix Scrum User Group Simplifying Scrum Online May 21 st 2009.
It’s tough out there … Software delivery challenges.
Welcome! Academic Strategies CS Unit 7 Seminar – Goals & Planning Royce Horak.
Intelligence and Information Systems 1 3/17/2004 © 2004 Raytheon Company USC/CSE Executive Workshop on Agile Experiences March 17, 2004 A Raytheon Agile.
Learning to Craft Code is Challenging Every skill we have acquired was trick at first We need to take baby steps We need proper support.
Cruise Training Introduction of Continuous Integration.
Lean Software Management: BBC Worldwide Case Study EECS811: IT Project Management Case Study Cody Mock February 8, 2016.
NAPA Agile Story: From Zero to Hero in Two Years Toivo agilehope.blogspot.com #NAPA #SAFe.
Agile Center of Excellence. Richard K Cheng Agile is just a high level concept.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
From manual test shop to fully automated test coverage: A How-To session to speed up your journey Jayshree Bhakta ITHAKA/JSTOR.
Real Metrics for Real Decisions
Automated Code Coverage Analysis
Governance Assistant for Office365
Real Testing Scenario Strategy: Bringing this all together – Success!
Continuous Delivery good & bad 4/20/2012
Quality Assurance in an Agile Development Team Michelle Wu 2018 PNSQC
Project Management How to access the power of projects!
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Bringing more value out of automation testing
Agile Development – a new way of software development?
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Driving Successful Projects
Presentation transcript:

Hurdles The sprint with impediments on the way to automation Agile India 2014 報告者:李佩臻

Background  S.i. Systems is a Canada based staffing and recruitment corporate and is considered as one of the 50 best managed companies in Canada.  In early 2010 we started practicing agile (Scrum to start with) and started with weekly Sprints and a monthly release cycle, within different environments like QA, UAT, Production and Replica.  We had no release team to manage releases and developers used to build, package and deploy to all environments.  We always missed release deadlines and pushed the code to the edge, making last minute code fixes and risking the stability of the build. There were frequent post release production issues and we had to resort to intermittent patch fixes to address those.  Most of the issues were due to missing database changes or configuration changes.

Approach  When we started with this initiative, the need for automation was visible, but none of the team members were keen to go the extra mile to do it.  We badly needed a change, the hardest thing in this universe and it was not that easy.  It was not practical to implement complete automation in a Sprint, so we followed a three step approach “ First Move”, “The Pace” & “Climax”.

#1 First Move > it’s always hard  As a first step to ‘Manage the Change’, we decided to first seed the automation thought in everyone’s mind.  Every week, one of the team member had to play the hat of ‘Release Samurai’, the person who would take care of pushing the release to all the environments.  We decided to pick a new samurai every week rather than every sprint so that cover everyone quickly rather than giving breathing time to the members and forget the pain.  In few weeks, need for automation became evident to everyone and the team started talking about it seriously.

#2 The Pace > to succeed you should sustain  Sustaining the automation initiative was difficult than the start.  We sat together as a team, referred past retrospective notes and identified the candidate activities/ tasks to automate.  This became our automation backlog that was showcased to team members during retrospectives, action items were created and these were attached to next Sprint scope.  Members started picking up line items voluntarily and worked during the Sprint.  We always focused on what worked for us, and adapted ourselves – in a way being agile.

#3 The Climax > we all need positive happy ending  During the course, there were low moments and few in the team started questioning any tangible benefits. So to motivated the team, we started “Go home early on release day” campaign.  We strongly believed in casting the right tool for the right problem and always tried to keep the implementation as simple as possible.  We redefined check-in guidelines, conducted group discussions, training sessions etc to set clear directions for the team, in terms of do’s and don’ts.  We never tried to implement continuous integration on day one, rather tried to automate all possible activities keeping continuous integration as our destiny. During the final lap, we just needed to connect the automation points to implement continuous integration, just like connecting a dotted picture in our school time.

Challenges we faced!What we did?What we gained? No proper source control branching strategy, leading to poor build/release management. Introduced new branching strategy. Kept it simple to avoid integration issues. More control over changes, more control over build/ release management. Compare  Summarized below are some more specific technical details of the changes we brought in the team

Database deployment was painful as we were using Redgate SQL as compared to generate delta script for the release. Defined db script templates and trusted developer to prepare the deployment scripts and check-in to source control. Apprised developers to vet database scripts against development database before check-in. Switching to template driven database scripts saved us a lot of time. It no longer needed us to generate scripts by comparing the databases, a cumbersome and time consuming job. Database scripts were automatically vetted at every environment and were stable by the time it reached the production release. This minimized/database related release issues. Preparing build package was cumbersome. Used ANT to build Java code and parse Cold Fusion. Used NANT to build.NET code. Automated build and packaging saved a lot of time. Manual deployment was time consuming. Used ANT to automate deployment steps. Increased the release readiness of the team and reduced post release production issues to a great extent.

Conclusions 1.Make the "pain" evident (across the team) 2. Start with "QuickWins" 3. Limit the automation WIP, go slow and steady 4. Define the vision as a Team 5. Automate as many manual, boring jobs 6. Focus on “what works" not “what's best” 7. Find creative ways to stay motivated 8. Use Right tools, for the right problem 9. Connect the dots and gain CI by the end