Download presentation
Presentation is loading. Please wait.
Published byRosamund Randall Modified over 9 years ago
1
Agile Practices
2
Who we are? Gedimas Guoba Architect at Adform Email: gediminas.guoba@adform.com 2
3
Who we are? Sergejus Barinovas Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: http://sergejus.blogas.lthttp://sergejus.blogas.lt Twitter: @sergejusb 3
4
Disclaimer We’ve been using Agile for 2 years and we want to share our experience with you! 4
5
In 2 weeks sprint only 5 days* are spent for actual development 5 * for the new Agile team
6
Scrum calculator 2 weeks = 10 work days - 20% (2 days) for Scrum rituals - 1.5 day for integration and manual deployment - 1.5 day for manual testing = 5 work days! 6
7
Challenge How to increase number of development days up-to 7 (~30%) ? 7
8
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
9
Unfortunately, not every company uses Agile best practices 9
10
Adform before: basic practices only All source code in SVN Nightly builds on TeamCity Few unit and functional tests 10
11
Known fact Without appropriate cultural and technical skills Agile teams will FAIL 11
12
Nevertheless, let’s do Scrum! 12
13
Sprint #1, #2, … We are too slow! 13
14
What are the problems? 14
15
Identified problems Time killers Manual testing Manual deployment Integrations done at the end 15
16
Identified problems Code horror Small change requires full regression testing 16
17
Identified problems Release “jams” Release packages various from team to team On-site participation of 1-2 team members during release 17
18
Release “jams” 18 Release manager Team releases Awaiting teams PROD
19
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
20
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
21
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
22
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
23
Adform now: most Agile practices Nightly builds Continuous integration Unit tests Automatic deployment Automatic functional and UI tests Unified release packages Continuous deployment 23
24
Adform next: continuous deployment Nightly builds Continuous integration Unit tests Automatic deployment Automatic functional and UI tests Unified release packages Continuous deployment 24
25
Continuous deployment Continuous, successful and repeatable methodology to deploying code 25
26
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
27
Adform Releazr Unified way of releasing applications and visualizing release process for developers and release managers across all environments 27
28
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
29
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
30
31
31
32
32
33
33
34
We are still in very early stage with Releazr and continuous deployment in general 34
35
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
36
Last note… We started using Agile best practices because we were forced to, not because it is cool 36
37
37
38
Agile culture Continuous delivery of valuable software Welcome changing requirements Build projects around motivated individuals Business people and developers must work together daily 38
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.