agile & test driven development: the ampersand commerce approach
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 engineersTRANSCRIPT
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