Mint Digital

Mint Digital

Methodology

Humans are complex. Good social software is simple. We work hard to bridge this gap. These are our principles:

methodology-infographic

  1. 1. Talk to users

    Users are our starting point. The first thing we do is talk to them and identify main interactions. We create user profiles from real users - and stick them on the wall - as constant reminders of who we are creating for and what those users want to achieve.
  2. 2. Launch early

    Talking to users is one thing, but there's nothing like seeing how they interact with your product. We try to get the simplest version out there as soon as possible, then iterate over user feedback.
  3. 3. Collaborate with the client

    The core team of any project is made up of a creative lead, a technical lead and the client who meet weekly to share ideas and develop the product right up till launch. We communicate and make sure it's maintained efficiently after launch too.
  4. 4. Less talk, more code

    We're not big fans of producing detailed functional specifications; we'd much rather spend the time developing the software and change it as user needs become apparent. That's not to say we don't write any specs, but we aim to communicate our ideas without too much unnecessary detail.
  5. 5. Iterate rapidly

    Communities, by their very nature, are constantly evolving and using our software in ways we can't anticipate. We believe it's important to match them beat for beat and evolve our software as user behaviour changes.
  6. 6. Automate everything

    We'd rather let the computers do the work. That's why we're aggressive about eliminating manual tasks from our processes. So far, we've completely automated systems for deploying, detecting errors in production, and maintaining the health of our production systems. We're still working on the automated bacon sandwich though...
  7. 7. Test everything

    We're obsessive about testing. 95% of our code is covered by unit and functional tests and we are constantly thinking about ways to cover that remaining 5%. With such attention on automated testing, we allow ourselves to build and deploy features with a more aggressive timeframe.
  8. 8. Keep it tidy

    With everything so thoroughly tested, we can clean up any ugly code we find without worrying about breaking the application. This results in a cleaner, smaller code base, which lends itself to flexibility and speed of development.