Agile & Test Driven Development: The Ampersand Commerce Approach


Published on

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

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Agile & Test Driven Development: The Ampersand Commerce Approach

  1. 1. Hello. Nice ToMeet You.Darryl Adie, Managing Director @DarrylAdieIain Hubbard, Development Manager @iainhubbardJoseph McDermott, Senior Developer @Joseph_McD
  2. 2. We’re AnOpen SourceEcommerceAgency.We help enterprise businesses develop& improve ecommerce operationsusing open source software
  3. 3. About Us.•  Founded in 2008•  Located in the Northern Quarter, Manchester•  Magento Gold Solution Partner•  Technical agency focused on Magento Enterprise•  Team of 25 peopleFeatured Customers
  4. 4. What We Do.
  5. 5. What We’ve Done.
  6. 6. We UseMagento.Magento is an open-sourceecommerce solution, writtenin PHP with a MySQL database
  7. 7. 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
  8. 8. Agile Development.
  9. 9. What Is It.•  Umbrella term for several iterative and incremental software developmentmethodologies•  Extreme Programming (XP)•  Kanban (development)•  Lean software development•  Scrum
  10. 10. 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
  11. 11. What Does It Struggle With.•  Safety critical systems•  Fixed cost development•  Inflexible contracts
  12. 12. Agile Development For Us.
  13. 13. 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
  14. 14. 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
  15. 15. TDD.
  16. 16. 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
  17. 17. 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
  18. 18. TDD For Us.
  19. 19. What Did We Do.•  Nothing
  20. 20. 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
  21. 21. The complexity created bya programmer is in inverseproportion to their ability tohandle complexity.@KentBeck
  22. 22. Our Graduate Programme.
  23. 23. Since 2011:We’ve hired 100% of internsAll of them are still with usMagento Certified within 3 months
  24. 24. ValentinoCristianDanielSoftware 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 experienceLast year’sgrads sayhello.
  25. 25. Software Engineers.CV Deadline: 9 Aug Start date: 16 SepApply:
  26. 26. (PS. We’d be your bosses…)Say hello on twitter@IainHubbard@Joseph_McD@DarrylAdie
  27. 27. ThankYouTweet us @AmpersandHQLearn more