Minimum Viable Product: Pick Any Two

As the minimum viable product idea becomes mainstream, I’m starting to hear “MVP” used to justify any minimal effort. It’s great that people want to benefit from being lean and agile, but it’s also absolutely vital that an MVP answers your important questions. There are many kinds of MVPs and most of them are anything but minimal effort. Thinking of an MVP as minimal effort risks wasting the effort completely.

In software we often balance competing goals. I’m going to deconstruct the MVP as tension between three different kinds of questions. Thinking this way helps you prioritize what you want out of your MVPs. It’s more useful than trying to find the sweet spot on a Venn diagram of potential products. Read more on Minimum Viable Product: Pick Any Two…

Don’t Skimp on Research, Design, and Planning

Our clients come to us with really cool ideas for web, mobile, and embedded apps. Usually, they know their domain inside and out, and they’ve come up with a great way to improve the world with some custom new software.

But we’ve learned over the years is that a little bit of planning before jumping into the code goes a long way. Read more on Don’t Skimp on Research, Design, and Planning…

Human-Centered Software: Creating More Value by Balancing Feasibility, Viability, & Desirability

As a designer, my chief goal within any project is to deliver the best user experience possible in terms of beauty (visual and interaction design), usability (workflows and information architecture), and usefulness (features and functionality). Read more on Human-Centered Software: Creating More Value by Balancing Feasibility, Viability, & Desirability…

6 Reasons to Build a Firmware Test Suite

At Atomic, we build a lot of systems that incorporate device firmware talking to software. We also commonly interface with other firmware or software teams.

I believe every project that involves firmware talking to software should include a high-level suite of tests that are written against the firmware’s interface to the software (e.g. Bluetooth, Ethernet, USB, etc). Read more on 6 Reasons to Build a Firmware Test Suite…

Technical Spikes – Rehearsing Your Software

At AgileConf 2014, John Krewson presented “The Show Must Go On: Leadership Lessons Learned from a Life in Theater” in which he outlined parallels between the stage acting and software development. Among his points on how project management is like directing and hiring is like casting, John remarked that when a director is preparing a performance, they don’t assemble the actors, distribute scripts, and say, “We’re all professionals. See you on opening night.” Even when everyone on the team is an A-lister, they still need to rehearse.

The same goes for software development.

Read more on Technical Spikes – Rehearsing Your Software…

Charting our Features & Priorities with a Story Map

You are planning a software project, or working with Atomic to Research, Design, and Plan one. You’ve thought about your users, created context scenarios, and drawn up a huge list of features you’d love to have. But how do you prioritize that list? Read more on Charting our Features & Priorities with a Story Map…