Agile Practices. Who we are? Gedimas Guoba Architect at Adform 2.

Slides:



Advertisements
Similar presentations
Agile Lifecycle, Tools, Techniques IM Symposium.
Advertisements

AGILE DEVELOPMENT Outlines : Quick Look of agile development Agility
Steve Collins Richland County IT Manager Agile.  Have Fun  Learn About Agile  Tell Some Stories.
Ni.com Introduction to Agile and Scrum Speaker/Author: Paul Packebush Section Manager, Corporate Metrology Author:Logan Kunitz Staff Calibration Engineer.
Agile on Board or How We Do It at Intel Artem Fedko Copyright © 2013 Intel Corporation. All rights reserved Intel are trademark of Intel Corporation in.
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
Tools for Agile Development: A Developer’s Perspective Mike Linnen Blog:
© conchango Scaling Agile with TFS The Architecture Forum Colin Bird December 2006.
ACDM Focus 2 – Processes December 13, 2013 Diane Guerrero Principal SCM Engineer.
Agile development By Sam Chamberlain. First a bit of history..
Validata Release Coordinator Accelerated application delivery through automated end-to-end release management.
Roadmap to Continuous Integration Testing and Benefits Gowri Selka, Walgreens Natalie Koltun, Walgreens May 20th, 2014 ©2013 Walgreen Co. All rights reserved.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Deploying Visual Studio Team System 2008 Team Foundation Server at Microsoft Published: June 2008 Using Visual Studio 2008 to Improve Software Development.
PopMedNet Software Development Life Cycle Chayim Herzig-Marx Harvard Pilgrim Health Care Institute Daniel Dee Lincoln Peak Partners.
 Definitions  Background/History  Continuous Delivery › How to practice Continuous Delivery  Continuous Integration  Continuous Integration Tools.
DNN LOVES JENKINS FOR CONTINUOUS INTEGRATION
By John Boal  Continuous Integration [CI] ◦ Automating the build process ◦ Build the entire system each time any new.
CONTINUOUS DELIVERY / CONTINUOUS INTEGRATION. IDEAS -> SOLUTIONS Time.
How Agile Are You? Larry Apke Agile Expert
Automating SharePoint 2013
© 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your.
Continuous Integration and Testing
The Agile Primer July 2008 © ThoughtWorks 2008.
Agile Web Development C. Daniel Chase University of Colorado at Boulder.
Resource Systems.  The need for agility  History of Product Development  Delivery of EPCOT  Future Challenges & Recommendations  Reflection  Questions?
Extreme Programming Software Developing Methodology.
One XP Experience: Introducing Agile (XP) Software Development into a Culture that is Willing but not Ready Joe Bergin * Fred Grossman * David Leip **
AgileCamp Presents: Agile 101. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution.
Project Workflow. How do you do it? -Discussion-
& Dev Ops. Sherwin-Williams & DevOps Introduction to Sherwin-Williams.
Real World Software Development Management and Solutions Joel Semeniuk April 5, 2011.
4/23/ :45 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
© 2012 About Me Doing agile since 1999 Start ups / Enterprises Planigle - Consulting and Training Qcue – VP, Engineering.
2012 Agile Conference. Introduction Background Examining a case study of a project that was filled with dead code and how a team turned it around. This.
IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure
Agile Adoption G8way Health Project.
Sean Chambers.  Senior Developer at Flagler County Schools for 5 years  Owner Hybrid Software, Educational Software  Contributor to various open source.
Phoenix Scrum User Group Simplifying Scrum Online May 21 st 2009.
An Introduction to Git David Johndrow COMP 490 – Senior Design & Development 2/11/16.
AGILE - IMPLEMENTATION (C) CLARION TECHNOLOGIES. ability to move quickly and easily…. AGILE MEANING (LITERALLY)
A way to develop software that emphasizes communication, collaboration, and integration between development and IT operations teams.
The Next Level Of Agile: DevOps and CD אוקטובר 2015.
1. ENTERPRISE AGILE TRANSFORMATION AT THE US POSTAL SERVICE MAY 24, Agile Business Solutions.
PMSPROJECT.com Online Project management software Everything you need to manage projects successfully.
 Son Nguyen, YM & Skype: ng_thanhson.
Kerio Technologies From Waterfall to Continuous Delivery Zdeněk Samuel, QA Manager.
By Manish Shrotriya CSE MS 4 Point Agile Manifesto 1.Individuals and interactions over processes and tools 2.Working software over comprehensive.
AGILE SOFTWARE DEVELOPMENT. Agile software development : Agile software development refers to a group of software development methodologies that promotes.
Continuous Delivery and Quality Monitoring 1 iCSC2016, Kamil Henryk Król, CERN Continuous Delivery and Quality Monitoring Kamil Henryk Król CERN Inverted.
Project Workflow.
Agile Metrics that Matter
Continuous Delivery- Complete Guide
Setup QA Process Software Quality Assurance Telerik Software Academy
Agile Scrum Management
Project Workflow.
X in [Integration, Delivery, Deployment]
Teaching slides Chapter 1.
Summarizing Our Models to Date
AutomIQ Inc. Proprietary & Confidential – DO NOT DISTRIBUTE
Quality Assurance in an Agile Development Team Michelle Wu 2018 PNSQC
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Your code is not just…your code
Chapter 3: Agile Software Processes
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Scrum in Action.
Agile Development.
Setup QA Process Software Quality Assurance Telerik Software Academy
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Your code is not just…your code
Presentation transcript:

Agile Practices

Who we are? Gedimas Guoba Architect at Adform 2

Who we are? Sergejus Barinovas Architect at Adform Blog: 3

Disclaimer We’ve been using Agile for 2 years and we want to share our experience with you! 4

In 2 weeks sprint only 5 days* are spent for actual development 5 * for the new Agile team

Scrum calculator 2 weeks = 10 work days - 20% (2 days) for Scrum rituals day for integration and manual deployment day for manual testing = 5 work days! 6

Challenge How to increase number of development days up-to 7 (~30%) ? 7

Agile best practices to the rescue! Nightly builds Continuous integration Unit tests Automatic deployment Automatic functional and UI tests Unified release packages Continuous deployment 8

Unfortunately, not every company uses Agile best practices 9

Adform before: basic practices only All source code in SVN Nightly builds on TeamCity Few unit and functional tests 10

Known fact Without appropriate cultural and technical skills Agile teams will FAIL 11

Nevertheless, let’s do Scrum! 12

Sprint #1, #2, … We are too slow! 13

What are the problems? 14

Identified problems Time killers Manual testing Manual deployment Integrations done at the end 15

Identified problems Code horror Small change requires full regression testing 16

Identified problems Release “jams” Release packages various from team to team On-site participation of 1-2 team members during release 17

Release “jams” 18 Release manager Team releases Awaiting teams PROD

Eliminating time killers Integrations done at the end Automatic builds on commit Integration tests Manual deployment Automatic deployment to DEV (x2) and INT environments from TeamCity Manual testing Unit and integration tests Functional and UI tests (SoapUI, Selenium) 19

Eliminating code horror Small change requires full regression testing Unit tests Best to have experienced person in place Will require code refactoring Separate data storage from the business logic Are part of the task DONE criteria Integration tests Working with DB, Web services, file system, etc. 20

Eliminating release “jams” Unified release packages MSBuild scripts with custom tasks One-click principle Single package for all environments Initially takes some time to create, but later is semi- or fully-automatically created on TeamCity Centralized release server Single place to deploy packages to remote servers 21

Quote from the actual letter Paketai prasisuko be klaidų, jei kokio nors funkcionalumo nėra ar kas nors veikia nekorektiškai – duokit žinoti. Beje, šį penktadienį buvo sudiegta 13 releasų į 4 aplinkas – tai reiškia, kad 52 releasai per dieną... Have a nice day, Laisvis. 22

Adform now: most Agile practices Nightly builds Continuous integration Unit tests Automatic deployment Automatic functional and UI tests Unified release packages Continuous deployment 23

Adform next: continuous deployment Nightly builds Continuous integration Unit tests Automatic deployment Automatic functional and UI tests Unified release packages Continuous deployment 24

Continuous deployment Continuous, successful and repeatable methodology to deploying code 25

Who is doing? WordPress.com “Everyone has access to a deploy button” “Deployment to 400 production servers in our web tier in less than 30 seconds” Facebook Flickr Atlassian others... 26

Adform Releazr Unified way of releasing applications and visualizing release process for developers and release managers across all environments 27

Releazr features Release planning Quick and easy way to fill release plans Automatic pre-fill of fields and from history Visual representation of the current release state Ability to select group of servers 28

Releazr features Release dashboard Easy and intuitive way to release applications Ability to deploy, rollback and rerelease packages Visual representation of the current release state Comprehensive release log per package per server 29

30

31

32

33

We are still in very early stage with Releazr and continuous deployment in general 34

Summary Agile is THE WAY to develop software To be effective teams need to have appropriate cultural and technical skills With Agile best practices in place you will be able to continuously deliver valuable software 35

Last note… We started using Agile best practices because we were forced to, not because it is cool 36

37

Agile culture Continuous delivery of valuable software Welcome changing requirements Build projects around motivated individuals Business people and developers must work together daily 38