9. We brainstorm on a regular basis,
with the entire team.
This keeps us on the same page
which is very important in a startup.
10.
11. To get better at it, we flex our
brainstorm muscles.
The extraordinaires design studio
is a great example, where you use
fictional characters as a potential
customer for your product.
12.
13. When we have some good ideas, we
decide what to build and when we
build it.
14.
15. A feature spec will help to keep focus,
and to brief the team.
It’s a simple, easy-to-update
document (Github) for anyone in the
company to see and use.
16.
17. * What will the feature do?
* Who is it for? How will they use it?
* Non-goals (what will it not do)
* Flowchart
* Measuring & expectations
18.
19. Personas help you build a good
feature spec.
Keep a real person in mind (one
of your clients perhaps) to build
meaningful features.
24. Gather feedback from your
teammates and from your clients,
where and whenever you can.
25.
26. Get a CAB (customer advisory board).
We love ours!
A couple of your clients you trust,
that are honest with you about your
product.
27.
28. We meet our CAB on a regular basis
to do interviews, card sorting, brain
storms and other exercises.
This helps us steer our product in the
right direction, and helps us solve
the right problems.
29. User testing is also very important.
This one obviously went wrong, but
helped us a ton!
30.
31. This is Big Bertha. She’s a huge Excel
sheet, tracking every mistake. And
she won’t forget!
She keeps you from getting used to
the imperfections in your product.
32.
33. Product development
After we’ve thought long and hard about
the features and their specifications, we
actually implement the thing.
We do this using various techniques and
technologies.
34.
35. Freedom
A lot of freedom is afforded to a Darwinian. We hire
people because they’re talented and smart, so we
trust them to do the right thing.
Roles aren’t as strictly defined as in ‘normal’
companies: for example, developers can design
and get some feedback on it from Miet, then we can
potentially use some of those ideas.
36.
37. Spitballing sessions
Spitballing is our informal way of brainstorming.
Anything goes, nothing is off limits. Everyone in our
team has pronounced opinions, which is important
when building a product.
38.
39. Technology stack
We hire people not based on what technology they
use, but how competent they are.
It’s important to work with technology you love (and
hopefully use in your own free time) - it increases
developer happiness and productivity
40.
41. Laravel
Replacing Symfony (old codebase)
Used for all backend purposes:
- API
- Harvesters
- Processors
- Serving the app
42.
43. Vagrant
Easy to get up & running for new teammembers
However, a little annoying due to file syncing for
front-end workflow
Solution: use PHP simple server (Laravel Artisan)
44.
45. AngularJS
Our app is built with AngularJS, using both in-house
components and open-source projects
46.
47. HTML5
Eventual goal: native app feel
At Darwin, we really believe in the Web and its
strenghts. We’re excited to see what the future holds
for webapps.
48.
49. Gulp
Because we have a pretty complicated codebase,
Grunt tasks didn’t quite cover all use cases for us
Switching to Gulp had several advantages:
- Speed
- Developer productivity
- Being able to roll our own plugins easily
50.
51. GitHub
Pull Requests
Code reviews are necessary for cross-pollination,
because our team is really small (bus factor)
Issue tracking: both actual issues and a ‘diary’
52.
53. HipChat
Not only used for team communication
App activity is logged on our main channel
Makes developers happy to see the app is being
used in realtime
Errors are also logged: easy to respond quicky
54.
55. “Perfectionism unicorn”
Sometimes, it’s hard to maintain a good balance
between an MVP and a clean codebase
You need to believe in yourself and in your team; if
you can’t fix it now, you’ll get around to it later
The app will keep running, even though you know
the code isn’t 100% clean
57. It’s wonderful to build your own
product and shape your company
culture with so much freedom.
But it comes with great
responsibility!
58.
59. That’s why our boss gives us
every chance to get better at our
jobs, and helps us accomplish the
things we want.
60.
61. Every Friday afternoon, we get the
chance to experiment with new
things — to plug out and learn!
62.
63. We all get €500 per month to spend on
conferences, books, a mentor and other
learning resources.
For example Mathias Bynens, Patrick
Dubois, people from madewithlove and
Little Miss Robot coach us to do better
every day.
64.
65. We iterate on our processes, company
culture and ideas every day — to build a
better product, to become better at our
jobs.