SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Evolution of Agile Development at
           Genius.com
Drew Stephens, Ryan Ausanka-Crues, Scott Mersy
Genius.com Overview



• Software-as-a-Service
• Sales & marketing products
• Languages
  – PHP
  – Perl
  – Java
  – C#
  – JavaScript
• MySQL
• ExtJS & YUI



                                    2
The Bad Old Days



• May 2007
  – Unreliable release dates
  – Low quality
  – Unmaintainable code
  – Poor ops/dev/QA
    relationship
  – 0% test coverage




                                     3
What Was Wrong?



• Requirement waterfall
• Assigned silo development
• No automated testing
• Developing on quicksand
• No progress tracking
• Dev & QA separation
• Release piling




                                 4
Comprehensive Agility


Organizational Structure




  Process Framework


Development Approach


                           5
Comprehensive Agility


               Organizational Structure
   Eliminate Waste          Empower the Team            Collaborative Layout

   Access to Execs       Intelligence over Experience        Allow Fun

Increased Expectations     Reduced management             Educate Execs


                     Process Framework


                Development Approach


                                                                               5
Comprehensive Agility


                Organizational Structure
   Eliminate Waste          Empower the Team             Collaborative Layout

   Access to Execs       Intelligence over Experience         Allow Fun

Increased Expectations     Reduced management              Educate Execs


                     Process Framework
   Iterations        Demos                User Stories        Daily Sync-ups
   One-piece flow            Embrace Change                   Retrospectives


                Development Approach


                                                                                5
Comprehensive Agility


                Organizational Structure
   Eliminate Waste           Empower the Team               Collaborative Layout

   Access to Execs        Intelligence over Experience           Allow Fun

Increased Expectations      Reduced management                Educate Execs


                     Process Framework
   Iterations            Demos               User Stories        Daily Sync-ups
   One-piece flow                Embrace Change                  Retrospectives


                Development Approach
    Coding Standards        Collective Ownership         Continuous Integration
     Collective Design       Automated Testing               Technical Backlog
    Design Metaphors                 YAGNI                  Pair Programming
                                                                                   5
Comprehensive Agility


                Organizational Structure
   Eliminate Waste           Empower the Team               Collaborative Layout

   Access to Execs        Intelligence over Experience           Allow Fun

Increased Expectations      Reduced management                Educate Execs


                     Process Framework
   Iterations            Demos               User Stories        Daily Sync-ups
   One-piece flow                Embrace Change                  Retrospectives


                Development Approach
    Coding Standards
     Collective Design              XP
                            Collective Ownership
                             Automated Testing
                                                         Continuous Integration
                                                             Technical Backlog
    Design Metaphors                 YAGNI                  Pair Programming
                                                                                   5
Comprehensive Agility


                Organizational Structure
   Eliminate Waste           Empower the Team               Collaborative Layout

   Access to Execs        Intelligence over Experience           Allow Fun

Increased Expectations      Reduced management                Educate Execs


                     Process Framework
   Iterations
   One-piece flow
                            Scrum
                         Demos               User Stories
                                 Embrace Change
                                                                 Daily Sync-ups
                                                                 Retrospectives


                Development Approach
    Coding Standards
     Collective Design              XP
                            Collective Ownership
                             Automated Testing
                                                         Continuous Integration
                                                             Technical Backlog
    Design Metaphors                 YAGNI                  Pair Programming
                                                                                   5
Comprehensive Agility


                Organizational Structure
                                 Lean
   Eliminate Waste           Empower the Team               Collaborative Layout

   Access to Execs        Intelligence over Experience           Allow Fun

Increased Expectations      Reduced management                Educate Execs


                     Process Framework
   Iterations
   One-piece flow
                            Scrum
                         Demos               User Stories
                                 Embrace Change
                                                                 Daily Sync-ups
                                                                 Retrospectives


                Development Approach
    Coding Standards
     Collective Design              XP
                            Collective Ownership
                             Automated Testing
                                                         Continuous Integration
                                                             Technical Backlog
    Design Metaphors                 YAGNI                  Pair Programming
                                                                                   5
Agile Misconceptions




                       6
Agile Misconceptions


“We’re iterative so we’re agile”


                        “There’s no time for architecture design”


“Our features are too big to fit into sprints”


                                   “Our code can’t be unit tested”


“The daily meeting is a waste of time”


                           “Agile is an excuse to micro-manage”


                                                                     6
Genius.com Agile Milestones

                                                                                                                                      ...
                                                                                                                       September

                                                                                          2009
                                                                                                                       Split into 2 teams

                                                                                                         January
                                                                                                         Hired brilliant build engineer

                                                                                          May
                                                                                          Hired supportive VP
                                                                            April
                                                                            New collaborative workspace
                                                2008              March
                                                                  Introduce Scrum board
                                                      February
                                                      Scrum Master training
                                         December
                                         Start of on-time release streak
                                October

2007                August
                                Co-located dev & QA

                    Nightly builds
           June
           First unit tests
April
First “iteration”




                                                                                                                                            7
Hiring



• Intelligence over Experience
• Cultural fit
• Enthusiasm
• Motivated
• Referrals
• From RIT or HMC




                                 8
Collaboration



• Encourage non-work interaction
• Team breaks story into tasks
• Collective decisions
• Self-assigned work
• Co-located product management
• Remove barriers
• Hold team responsible
• Conducive workspace




                                       9
May 2007




           10
February 2008




                11
June 2009




            12
Daily Standup




                13
Scrum Board


• 5 columns
• Swim lanes for stories
• Stories are color coded
• Team commits to stories every 2
  weeks
• Production and previous sprint
  bugs
• Team decides order of stories
• Can only be on one open story
• Don’t move on until entire story
  is done




                                          14
Definition of “Done”


• Task
  – Unit tests written and run
  – Code and tests checked in
  – QA verify it’s bug free
  – UI tests written and run
  – Security code review
• Story
  – Product management sign-off
  – Potentially shippable
  – No open non-validated tasks
  – No technical debt


                                     15
Prioritized Backlog



• Maintained by product management
• Aggregation of all features requested
 (users, sales, marketing, operations, developers, QA, etc)

• Prioritized by product manager based on input
• Higher priority = increased definition and granularity
• Meet & greets w/ the team
• Phrased as user stories
 “As a marketer I want to be able to schedule an email to go out in the future so that I
 don’t have to be at my desk for the email to go out at a specific time”

• Acceptance criteria
 “1 month maximum, 1 hour minimum”

• Everyone needs to understand tradeoffs



                                                                                           16
17
Process Evolution



• May 2007
  – Unreliable release dates
  – Low quality
  – Unmaintainable code
  – Poor ops/dev/QA
    relationship
  – 0% test coverage




                                      18
Process Evolution



• May 2007                     • December 2009
  – Unreliable release dates    – 13 consecutive on-time
  – Low quality                   major releases
  – Unmaintainable code         – 90% reduction in
                                  production bugs
  – Poor ops/dev/QA
    relationship                – 72% unit test coverage
  – 0% test coverage




                                                           18
1 Release (2007)




                   19
21 Release (2009)




21-a   21-b




                New product



                                  20
21 Release - Part 2




                                   21
21-a   21-b   21-c   21-d   21-e




               New customer!



                                        21
22 Release




                                   21                 22
21-a   21-b   21-c   21-d   21-e        22-a   22-b




                 New product



                                                           22
Great Resources



• Our blog! - http://eng.genius.com


• Mike Cohn - http://www.mountaingoatsoftware.com
• BayAPLN - http://bayapln.org
• Agile Alliance - http://agilemanifesto.org
• James Shore - http://jamesshore.com




                                                    23
Have fun!




            24
Tools We Use



• 3rd Party              • We Built
  – PHPUnit                – PHP DSL for Selenium
  – Hudson                 – JS/CSS Packaging
  – PhpUnderControl        – PHPUnit wrapper
  – Jira                   – DB Fixture Framework
  – SVN                    – Automated deployment
  – Eclipse
  – TestRun
  – Selenium RC
  – Capistrano



                                                    28

Weitere ähnliche Inhalte

Was ist angesagt?

Darwin Agile and The Dinosaurs
Darwin Agile and The DinosaursDarwin Agile and The Dinosaurs
Darwin Agile and The Dinosaurs
Endava
 
Lessons for Large Scale Lean and Agile Product Development - Atlassian Summit...
Lessons for Large Scale Lean and Agile Product Development - Atlassian Summit...Lessons for Large Scale Lean and Agile Product Development - Atlassian Summit...
Lessons for Large Scale Lean and Agile Product Development - Atlassian Summit...
Atlassian
 
4 tales of enterprise agility
4 tales of enterprise agility4 tales of enterprise agility
4 tales of enterprise agility
Kmanthei
 
Jax Sql Saturday Scrum presentation #130
Jax Sql Saturday Scrum presentation #130Jax Sql Saturday Scrum presentation #130
Jax Sql Saturday Scrum presentation #130
Christopher Daily
 
Hawkeye case financial na1
Hawkeye case financial na1Hawkeye case financial na1
Hawkeye case financial na1
Roy Masrani
 
Amy.stapleton
Amy.stapletonAmy.stapleton
Amy.stapleton
NASAPMC
 

Was ist angesagt? (14)

Offshore Agile Maintenance
Offshore Agile MaintenanceOffshore Agile Maintenance
Offshore Agile Maintenance
 
Skiing and boxing: coaching product and enterprise teams
Skiing and boxing: coaching product and enterprise teamsSkiing and boxing: coaching product and enterprise teams
Skiing and boxing: coaching product and enterprise teams
 
Darwin Agile and The Dinosaurs
Darwin Agile and The DinosaursDarwin Agile and The Dinosaurs
Darwin Agile and The Dinosaurs
 
Lessons for Large Scale Lean and Agile Product Development - Atlassian Summit...
Lessons for Large Scale Lean and Agile Product Development - Atlassian Summit...Lessons for Large Scale Lean and Agile Product Development - Atlassian Summit...
Lessons for Large Scale Lean and Agile Product Development - Atlassian Summit...
 
4 tales of enterprise agility
4 tales of enterprise agility4 tales of enterprise agility
4 tales of enterprise agility
 
Jax Sql Saturday Scrum presentation #130
Jax Sql Saturday Scrum presentation #130Jax Sql Saturday Scrum presentation #130
Jax Sql Saturday Scrum presentation #130
 
EPPM Webcast
EPPM WebcastEPPM Webcast
EPPM Webcast
 
Hawkeye case financial na1
Hawkeye case financial na1Hawkeye case financial na1
Hawkeye case financial na1
 
Refactoring the Organization Design (LESS2010)
Refactoring the Organization Design (LESS2010)Refactoring the Organization Design (LESS2010)
Refactoring the Organization Design (LESS2010)
 
Amy.stapleton
Amy.stapletonAmy.stapleton
Amy.stapleton
 
Selling agile to business nisha shoukath
Selling agile to business nisha shoukathSelling agile to business nisha shoukath
Selling agile to business nisha shoukath
 
Agile 10 Step Story Model
Agile 10 Step Story ModelAgile 10 Step Story Model
Agile 10 Step Story Model
 
How to establish SEPG and SPI functions?
How to establish SEPG and SPI functions?How to establish SEPG and SPI functions?
How to establish SEPG and SPI functions?
 
Agile intro module 1
Agile intro   module 1Agile intro   module 1
Agile intro module 1
 

Andere mochten auch

www.khooyeh.ir
www.khooyeh.irwww.khooyeh.ir
www.khooyeh.ir
ali khooyeh
 
قانون جذب عشق
قانون جذب عشققانون جذب عشق
قانون جذب عشق
Amir Sharifi
 
بازاریابی تلفن همراه+اینفوگرافی
بازاریابی تلفن همراه+اینفوگرافیبازاریابی تلفن همراه+اینفوگرافی
بازاریابی تلفن همراه+اینفوگرافی
Moshaveran international Business School
 

Andere mochten auch (13)

120 نكته براي تقويت ذهن
120 نكته براي تقويت ذهن120 نكته براي تقويت ذهن
120 نكته براي تقويت ذهن
 
www.khooyeh.ir
www.khooyeh.irwww.khooyeh.ir
www.khooyeh.ir
 
معرفی اسکرام
معرفی اسکرام معرفی اسکرام
معرفی اسکرام
 
Entrepreneur versus employee
Entrepreneur versus employeeEntrepreneur versus employee
Entrepreneur versus employee
 
قانون جذب عشق
قانون جذب عشققانون جذب عشق
قانون جذب عشق
 
#SEXTECH industry overview
#SEXTECH industry overview#SEXTECH industry overview
#SEXTECH industry overview
 
Who is Entrepreneur? What is Startup?
Who is Entrepreneur? What is Startup?  Who is Entrepreneur? What is Startup?
Who is Entrepreneur? What is Startup?
 
پنج اینفوگرافی درباره مارکتینگ در فیس بوک
پنج اینفوگرافی درباره مارکتینگ در فیس بوکپنج اینفوگرافی درباره مارکتینگ در فیس بوک
پنج اینفوگرافی درباره مارکتینگ در فیس بوک
 
رموز اعتماد به نفس در کار و زندگی
رموز اعتماد به نفس در کار و زندگیرموز اعتماد به نفس در کار و زندگی
رموز اعتماد به نفس در کار و زندگی
 
بازاریابی تلفن همراه+اینفوگرافی
بازاریابی تلفن همراه+اینفوگرافیبازاریابی تلفن همراه+اینفوگرافی
بازاریابی تلفن همراه+اینفوگرافی
 
اصول و فنون مذاکره
اصول و فنون مذاکرهاصول و فنون مذاکره
اصول و فنون مذاکره
 
Danh sach bang
Danh sach bangDanh sach bang
Danh sach bang
 
کدام صنایع جهان را در اختیار دارند؟
کدام صنایع جهان را در اختیار دارند؟کدام صنایع جهان را در اختیار دارند؟
کدام صنایع جهان را در اختیار دارند؟
 

Ähnlich wie Agile At Genius.com

Pilot essentials webinar
Pilot essentials webinarPilot essentials webinar
Pilot essentials webinar
Maarga Systems
 
'A is for Agile, the start of something good!'
'A is for Agile, the start of something good!''A is for Agile, the start of something good!'
'A is for Agile, the start of something good!'
guest2ac4c91
 
Social enterprise business tools redefined- smw
Social enterprise   business tools redefined- smwSocial enterprise   business tools redefined- smw
Social enterprise business tools redefined- smw
schade_chr
 
Lanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALMLanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALM
Debora Di Piano
 
Agile developers create their own identity by Ajay Danait
Agile developers create their own identity by Ajay DanaitAgile developers create their own identity by Ajay Danait
Agile developers create their own identity by Ajay Danait
Xebia IT Architects
 
How To Make It Real - Hayden Lindsey
How To Make It Real - Hayden LindseyHow To Make It Real - Hayden Lindsey
How To Make It Real - Hayden Lindsey
Roopa Nadkarni
 
How to make_it_real-hayden_lindsey
How to make_it_real-hayden_lindseyHow to make_it_real-hayden_lindsey
How to make_it_real-hayden_lindsey
IBM
 
How to make_it_real-hayden_lindsey
How to make_it_real-hayden_lindseyHow to make_it_real-hayden_lindsey
How to make_it_real-hayden_lindsey
IBM
 

Ähnlich wie Agile At Genius.com (20)

Discovery delivery 中国软件技术大会2011
Discovery delivery 中国软件技术大会2011Discovery delivery 中国软件技术大会2011
Discovery delivery 中国软件技术大会2011
 
Pilot essentials webinar
Pilot essentials webinarPilot essentials webinar
Pilot essentials webinar
 
Agile Methods Overview ]
Agile Methods Overview ]Agile Methods Overview ]
Agile Methods Overview ]
 
Codesion's Live Webinar: Cutting Edge Cloud Development Tools for Force.com
Codesion's Live Webinar: Cutting Edge Cloud Development Tools for Force.comCodesion's Live Webinar: Cutting Edge Cloud Development Tools for Force.com
Codesion's Live Webinar: Cutting Edge Cloud Development Tools for Force.com
 
'A is for Agile, the start of something good!'
'A is for Agile, the start of something good!''A is for Agile, the start of something good!'
'A is for Agile, the start of something good!'
 
Building an Agile framework that fits your organisation
Building an Agile framework that fits your organisationBuilding an Agile framework that fits your organisation
Building an Agile framework that fits your organisation
 
Social enterprise business tools redefined- smw
Social enterprise   business tools redefined- smwSocial enterprise   business tools redefined- smw
Social enterprise business tools redefined- smw
 
xTreme Programming by Sejo Ćesić and Enis Zeherović
xTreme Programming by Sejo Ćesić and Enis ZeherovićxTreme Programming by Sejo Ćesić and Enis Zeherović
xTreme Programming by Sejo Ćesić and Enis Zeherović
 
Lanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALMLanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALM
 
TDD in functional testing with WebDriver
TDD in functional testing with WebDriverTDD in functional testing with WebDriver
TDD in functional testing with WebDriver
 
All That Jazz
All That JazzAll That Jazz
All That Jazz
 
Building the Intellectual Capital of Innovative Organizations using Aras PLM ...
Building the Intellectual Capital of Innovative Organizations using Aras PLM ...Building the Intellectual Capital of Innovative Organizations using Aras PLM ...
Building the Intellectual Capital of Innovative Organizations using Aras PLM ...
 
Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme Programming
 
Agile developers create their own identity by Ajay Danait
Agile developers create their own identity by Ajay DanaitAgile developers create their own identity by Ajay Danait
Agile developers create their own identity by Ajay Danait
 
[StepTalks2011] Agility @ Scale - Rien Schot
[StepTalks2011] Agility @ Scale - Rien Schot[StepTalks2011] Agility @ Scale - Rien Schot
[StepTalks2011] Agility @ Scale - Rien Schot
 
Effective Strategies for Distributed Testing
Effective Strategies for Distributed TestingEffective Strategies for Distributed Testing
Effective Strategies for Distributed Testing
 
Analysis of the interaction between practices for introducing XP effectively
Analysis of the interaction between practices for introducing XP effectivelyAnalysis of the interaction between practices for introducing XP effectively
Analysis of the interaction between practices for introducing XP effectively
 
How To Make It Real - Hayden Lindsey
How To Make It Real - Hayden LindseyHow To Make It Real - Hayden Lindsey
How To Make It Real - Hayden Lindsey
 
How to make_it_real-hayden_lindsey
How to make_it_real-hayden_lindseyHow to make_it_real-hayden_lindsey
How to make_it_real-hayden_lindsey
 
How to make_it_real-hayden_lindsey
How to make_it_real-hayden_lindseyHow to make_it_real-hayden_lindsey
How to make_it_real-hayden_lindsey
 

KĂźrzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

KĂźrzlich hochgeladen (20)

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 

Agile At Genius.com

  • 1. Evolution of Agile Development at Genius.com Drew Stephens, Ryan Ausanka-Crues, Scott Mersy
  • 2. Genius.com Overview • Software-as-a-Service • Sales & marketing products • Languages – PHP – Perl – Java – C# – JavaScript • MySQL • ExtJS & YUI 2
  • 3. The Bad Old Days • May 2007 – Unreliable release dates – Low quality – Unmaintainable code – Poor ops/dev/QA relationship – 0% test coverage 3
  • 4. What Was Wrong? • Requirement waterfall • Assigned silo development • No automated testing • Developing on quicksand • No progress tracking • Dev & QA separation • Release piling 4
  • 5. Comprehensive Agility Organizational Structure Process Framework Development Approach 5
  • 6. Comprehensive Agility Organizational Structure Eliminate Waste Empower the Team Collaborative Layout Access to Execs Intelligence over Experience Allow Fun Increased Expectations Reduced management Educate Execs Process Framework Development Approach 5
  • 7. Comprehensive Agility Organizational Structure Eliminate Waste Empower the Team Collaborative Layout Access to Execs Intelligence over Experience Allow Fun Increased Expectations Reduced management Educate Execs Process Framework Iterations Demos User Stories Daily Sync-ups One-piece flow Embrace Change Retrospectives Development Approach 5
  • 8. Comprehensive Agility Organizational Structure Eliminate Waste Empower the Team Collaborative Layout Access to Execs Intelligence over Experience Allow Fun Increased Expectations Reduced management Educate Execs Process Framework Iterations Demos User Stories Daily Sync-ups One-piece flow Embrace Change Retrospectives Development Approach Coding Standards Collective Ownership Continuous Integration Collective Design Automated Testing Technical Backlog Design Metaphors YAGNI Pair Programming 5
  • 9. Comprehensive Agility Organizational Structure Eliminate Waste Empower the Team Collaborative Layout Access to Execs Intelligence over Experience Allow Fun Increased Expectations Reduced management Educate Execs Process Framework Iterations Demos User Stories Daily Sync-ups One-piece flow Embrace Change Retrospectives Development Approach Coding Standards Collective Design XP Collective Ownership Automated Testing Continuous Integration Technical Backlog Design Metaphors YAGNI Pair Programming 5
  • 10. Comprehensive Agility Organizational Structure Eliminate Waste Empower the Team Collaborative Layout Access to Execs Intelligence over Experience Allow Fun Increased Expectations Reduced management Educate Execs Process Framework Iterations One-piece flow Scrum Demos User Stories Embrace Change Daily Sync-ups Retrospectives Development Approach Coding Standards Collective Design XP Collective Ownership Automated Testing Continuous Integration Technical Backlog Design Metaphors YAGNI Pair Programming 5
  • 11. Comprehensive Agility Organizational Structure Lean Eliminate Waste Empower the Team Collaborative Layout Access to Execs Intelligence over Experience Allow Fun Increased Expectations Reduced management Educate Execs Process Framework Iterations One-piece flow Scrum Demos User Stories Embrace Change Daily Sync-ups Retrospectives Development Approach Coding Standards Collective Design XP Collective Ownership Automated Testing Continuous Integration Technical Backlog Design Metaphors YAGNI Pair Programming 5
  • 13. Agile Misconceptions “We’re iterative so we’re agile” “There’s no time for architecture design” “Our features are too big to fit into sprints” “Our code can’t be unit tested” “The daily meeting is a waste of time” “Agile is an excuse to micro-manage” 6
  • 14. Genius.com Agile Milestones ... September 2009 Split into 2 teams January Hired brilliant build engineer May Hired supportive VP April New collaborative workspace 2008 March Introduce Scrum board February Scrum Master training December Start of on-time release streak October 2007 August Co-located dev & QA Nightly builds June First unit tests April First “iteration” 7
  • 15. Hiring • Intelligence over Experience • Cultural fit • Enthusiasm • Motivated • Referrals • From RIT or HMC 8
  • 16. Collaboration • Encourage non-work interaction • Team breaks story into tasks • Collective decisions • Self-assigned work • Co-located product management • Remove barriers • Hold team responsible • Conducive workspace 9
  • 17. May 2007 10
  • 19. June 2009 12
  • 21. Scrum Board • 5 columns • Swim lanes for stories • Stories are color coded • Team commits to stories every 2 weeks • Production and previous sprint bugs • Team decides order of stories • Can only be on one open story • Don’t move on until entire story is done 14
  • 22. Definition of “Done” • Task – Unit tests written and run – Code and tests checked in – QA verify it’s bug free – UI tests written and run – Security code review • Story – Product management sign-off – Potentially shippable – No open non-validated tasks – No technical debt 15
  • 23. Prioritized Backlog • Maintained by product management • Aggregation of all features requested (users, sales, marketing, operations, developers, QA, etc) • Prioritized by product manager based on input • Higher priority = increased definition and granularity • Meet & greets w/ the team • Phrased as user stories “As a marketer I want to be able to schedule an email to go out in the future so that I don’t have to be at my desk for the email to go out at a specific time” • Acceptance criteria “1 month maximum, 1 hour minimum” • Everyone needs to understand tradeoffs 16
  • 24. 17
  • 25. Process Evolution • May 2007 – Unreliable release dates – Low quality – Unmaintainable code – Poor ops/dev/QA relationship – 0% test coverage 18
  • 26. Process Evolution • May 2007 • December 2009 – Unreliable release dates – 13 consecutive on-time – Low quality major releases – Unmaintainable code – 90% reduction in production bugs – Poor ops/dev/QA relationship – 72% unit test coverage – 0% test coverage 18
  • 28. 21 Release (2009) 21-a 21-b New product 20
  • 29. 21 Release - Part 2 21 21-a 21-b 21-c 21-d 21-e New customer! 21
  • 30. 22 Release 21 22 21-a 21-b 21-c 21-d 21-e 22-a 22-b New product 22
  • 31. Great Resources • Our blog! - http://eng.genius.com • Mike Cohn - http://www.mountaingoatsoftware.com • BayAPLN - http://bayapln.org • Agile Alliance - http://agilemanifesto.org • James Shore - http://jamesshore.com 23
  • 32. Have fun! 24
  • 33.
  • 34.
  • 35.
  • 36. Tools We Use • 3rd Party • We Built – PHPUnit – PHP DSL for Selenium – Hudson – JS/CSS Packaging – PhpUnderControl – PHPUnit wrapper – Jira – DB Fixture Framework – SVN – Automated deployment – Eclipse – TestRun – Selenium RC – Capistrano 28

Hinweis der Redaktion

  1. As a marketing user I would like the sfdc standard field “lead source” to be a Genius standard field As a non-sfdc marketing user I would like to be able to use the “lead source” field in workflow conditions so that I can segment my workflow actions based on “lead source” As a non-sfdc marketing user I would like to use “lead source” field in workflow update field action so that I can change the field value in a workflow As a non-sfdc marketing user I would like to use “lead source” field in smart groups so that I can segment my groups based on the value of that field As a non-sfdc marketing user I would like to use “lead source” field in mail merge so that I can include the field value in emails that go to contacts and leads