28
Hello . Nice To Meet You. Darryl Adie, Managing Director @DarrylAdie Iain Hubbard, Development Manager @iainhubbard Joseph McDermott, Senior Developer @Joseph_McD

Agile & Test Driven Development: The Ampersand Commerce Approach

Embed Size (px)

DESCRIPTION

A presentation to University of Manchester Computer Science graduates about how Ampersand Commerce approaches Agile and Test Driven Development. Also, information about our graduate programme for software engineers

Citation preview

Page 1: Agile & Test Driven Development: The Ampersand Commerce Approach

Hello. Nice To Meet You. Darryl Adie, Managing Director @DarrylAdie

Iain Hubbard, Development Manager @iainhubbard

Joseph McDermott, Senior Developer @Joseph_McD

Page 2: Agile & Test Driven Development: The Ampersand Commerce Approach

We’re An Open Source Ecommerce Agency.

We help enterprise businesses develop

& improve ecommerce operations

using open source software

Page 3: Agile & Test Driven Development: The Ampersand Commerce Approach

About Us. •  Founded in 2008

•  Located in the Northern Quarter, Manchester

•  Magento Gold Solution Partner

•  Technical agency focused on Magento Enterprise

•  Team of 25 people

Featured Customers

Page 4: Agile & Test Driven Development: The Ampersand Commerce Approach

What We Do.

Page 5: Agile & Test Driven Development: The Ampersand Commerce Approach

What We’ve Done.

Page 6: Agile & Test Driven Development: The Ampersand Commerce Approach

We Use Magento.

Magento is an open-source

ecommerce solution, written

in PHP with a MySQL database

Page 7: Agile & Test Driven Development: The Ampersand Commerce Approach

What Is It. •  Open source eCommerce platform

•  Written in PHP using Zend Framework

•  MySQL database

•  MVC

•  Its free! (well… some of it)

•  Everything you need to sell online

•  Modular architecture

Page 8: Agile & Test Driven Development: The Ampersand Commerce Approach

Agile Development.

Page 9: Agile & Test Driven Development: The Ampersand Commerce Approach

What Is It. •  Umbrella term for several iterative and incremental software development

methodologies

•  Extreme Programming (XP)

•  Kanban (development)

•  Lean software development

•  Scrum

Page 10: Agile & Test Driven Development: The Ampersand Commerce Approach

What Is It Trying To Solve. •  Waterfall

•  Improved customer feedback

•  Rapid adjustment to change

•  Make the development process less opaque

•  Give the client what they want

•  Shines a light into the black hole of development

Page 11: Agile & Test Driven Development: The Ampersand Commerce Approach

What Does It Struggle With. •  Safety critical systems

•  Fixed cost development

•  Inflexible contracts

Page 12: Agile & Test Driven Development: The Ampersand Commerce Approach

Agile Development For Us.

Page 13: Agile & Test Driven Development: The Ampersand Commerce Approach

What Did We Do. •  Single delivery date to unveil project to client

•  Client feedback gathered at the end of the project

•  Development tasks all share the same deadline

Page 14: Agile & Test Driven Development: The Ampersand Commerce Approach
Page 15: Agile & Test Driven Development: The Ampersand Commerce Approach

What We Do Now. •  Multiple delivery dates to unveil project progress to client

•  Client feedback gathered after each delivery date

•  Development tasks split into sprints

•  Daily internal scrum

Page 16: Agile & Test Driven Development: The Ampersand Commerce Approach

TDD.

Page 17: Agile & Test Driven Development: The Ampersand Commerce Approach

Why Test At All. •  Reduces bugs in production code

•  Saves you time

•  Bugs found at development time are easier and cheaper to fix

•  Less time spent on maintenance

•  Easier to change and refactor code

•  Unit Testing can improve the design of code

•  A measure of completion

•  Encourages simpler design

Page 18: Agile & Test Driven Development: The Ampersand Commerce Approach

Why Not TDD. •  Based on the assumption that everybody fully understands the system

•  Requires a large amount of up front design

•  Requires the client to know exactly what they want

Page 19: Agile & Test Driven Development: The Ampersand Commerce Approach

TDD For Us.

Page 20: Agile & Test Driven Development: The Ampersand Commerce Approach

What Did We Do. •  Nothing

Page 21: Agile & Test Driven Development: The Ampersand Commerce Approach

What We Do Now. •  Continuous integration triggered with every commit

•  You break it you fix it (with the ‘escape goat’ for company)

•  Aim for high percentage code coverage

•  Write tests as early as possible with each task

•  Unit vs Feature tests

Page 22: Agile & Test Driven Development: The Ampersand Commerce Approach

The complexity created by a programmer is in inverse proportion to their ability to handle complexity. @KentBeck

Page 23: Agile & Test Driven Development: The Ampersand Commerce Approach

Our Graduate Programme.

Page 24: Agile & Test Driven Development: The Ampersand Commerce Approach

Since 2011: We’ve hired 100% of interns All of them are still with us Magento Certified within 3 months

Page 25: Agile & Test Driven Development: The Ampersand Commerce Approach

Valentino

Cristian

Daniel

Software Engineers. CV Deadline: 9 Aug Start date: 16 Sep

•  Basic Requirements

•  Object-oriented programming and design skills

•  Attention to detail!

•  Demonstrable programming ability

•  Desirable Skills

•  PHP

•  MVC

•  SQL

•  Linux/Unix

•  jQuery, Prototype or other Javascript experience

Last year’s grads say hello.

Page 26: Agile & Test Driven Development: The Ampersand Commerce Approach

Software Engineers.

CV Deadline: 9 Aug Start date: 16 Sep

Apply: http://ampersandcommerce.com/careers/graduates/

Page 27: Agile & Test Driven Development: The Ampersand Commerce Approach

(PS. We’d be your bosses…) Say hello on twitter @IainHubbard @Joseph_McD @DarrylAdie

Page 28: Agile & Test Driven Development: The Ampersand Commerce Approach

Thank You

Tweet us @AmpersandHQ Learn more ampersandcommerce.com