Agile & Test Driven Development: The Ampersand Commerce Approach

Post on 26-Jun-2015

572 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

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

Transcript

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

Iain Hubbard, Development Manager @iainhubbard

Joseph McDermott, Senior Developer @Joseph_McD

We’re An Open Source Ecommerce Agency.

We help enterprise businesses develop

& improve ecommerce operations

using open source software

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

What We Do.

What We’ve Done.

We Use Magento.

Magento is an open-source

ecommerce solution, written

in PHP with a MySQL database

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

Agile Development.

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

methodologies

•  Extreme Programming (XP)

•  Kanban (development)

•  Lean software development

•  Scrum

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

What Does It Struggle With. •  Safety critical systems

•  Fixed cost development

•  Inflexible contracts

Agile Development For Us.

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

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

TDD.

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

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

TDD For Us.

What Did We Do. •  Nothing

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

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

Our Graduate Programme.

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

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.

Software Engineers.

CV Deadline: 9 Aug Start date: 16 Sep

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

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

Thank You

Tweet us @AmpersandHQ Learn more ampersandcommerce.com

top related