Atrápalo Tech 2014 figures

It’s almost a year ago since I started working at AtrápaloThe team has done an amazing job learning and applying all the changes in our software development process including the new architecture, testing practices, Scrum changes, branching strategy, releasing process, bugfixing, and so much more. Changing the way ourselves work is probably the most difficult part from a “status quo” change.

I will like to thank everyone in the team that has done the effort to make it possible. I know it’s not easy and sometimes not fun at first. There is still so much to do and 2015 is going to be even so much funnier. Following, there are just some figures about 2014. Thanks to the Atrapalo Team.

Number of training hours: 156 hours (the same as 20 days of a training course)

Deployments with Jenkins and Capistrano: 2200 (avg. 6 per day, currently 15 per day)

Net Bugs: -520 (from 610 to 90)

UnitTests written: 6120

Coverage of new Domain Business Logic Code (without infrastructure): 93.3 %

Coverage of new code (including infrastructure): 62.7 %

New projects with Symfony2: 3

Features in Symfony2 (new and migrated from old framework): 5

Bower dependencies: 37

Composer dependencies: 108

Behat features: 143

Behat scenarios: 1512

Changes: training sessions, composer, github, sphinx, 5.4, opcache, 5.5, technical committee, hexagonal architecture, boundaries, phpunit, macos, mocking, jenkins, capistrano, vagrant, psr-2, phpmd, phpcs, phpcpd, pdepend, php-cs-fixer, precommit hook, behat, mink, selenium, symfony service container, symfony console component, newrelic, geckoboard, doctrine, requirejs, bower, foundation5, responsive, ux web components, symfony full stack, elasticsearch, and rabbitmq.

  • Jorge Betancourt

    Amazing, just one question do you use both sphinx and elasticsearch?

    • cbuenosvinos

      Yes. We started with Sphinx for some products, now pushing hard for elastic. In the roadmap, it’s planned the migration.

    • Carlos Buenosvinos

      We’re going to Elastic but there’re some products that don’t have many items that are in sphinx. We’ll move it to elastic in the future, but not priority for now, Sphinx is working well.

  • Alex Salguero

    Very interesting numbers… I’m particularly curious on knowing the maintenance cost of your Behat test suite. Are you using v2 or v3? Also, how long do they take to run?

    • Carlos Buenosvinos

      Behat 3. We have different subsets of the whole amount of scenarios (main sales, extended sales, all countries, seo, etc.). So it depends. We are using Selenium, that is the slowest choice, but the more loyal to what a browser behaves. A set of 1 sale per product in different countries, about 10 minutes. The whole suite (mobile, all countries, all products, payment methods, different browsers, etc.) can take a couple of hours launched in parallel with 4 workers. Does it answer the question?

    • cbuenosvinos

      The whole suite takes hours. We have some smaller suites (critical, like purchasing) to run on every deploy, and other less critical to run periodically.

  • Alejandro Moreno

    well done, good practices always take the maintenance costs down. Out of curiosity, you do not mention CI ? Is not in your workflow ?


    • Carlos Buenosvinos

      It’s in! PHPUnit + Jenkins + easy deploy and rollback with capistrano = almost Continuous Delivery. ;)

    • cbuenosvinos

      Of course, CI is key in our development process. Jenkins, Unit Tests, short feedback loops, etc. ;)

  • Pingback: Adiós Atrápalo | Carlos Buenosvinos()