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…

Agility is about Accuracy

When you work with Atomic Object, you’ll hear a lot about Agile software development. Agile takes many different forms, but all of them are, at heart, about writing better software faster. Agile is part philosophy, part methodology, and part discipline. The Agile Manifesto emphasizes people instead of mechanical processes.

But before diving into the specifics of how Agile works, let’s back up and look at the problem Agile is trying to solve. Why come up with a new system in the first place?

Read more on Agility is about Accuracy…

8 Questions to Ask before You Automate

This post is revised and republished from Carl’s blog at Crain’s Detroit Business.

Innovation is not exclusively about revolutionary new products or services. Extending an existing offering or improving an internal business process can be an important form of innovation, too.

When I talk with business owners about using software to automate an existing business process, the request usually goes something like this: “We have this clunky process to do X which uses an old buggy application (or spreadsheets or email). It drives the people who do the work crazy. We’re growing and really need to automate the whole thing. Can you help?”

Of course, custom software and even automation is not always the answer. Given the cost of software development, jumping into a project too quickly can doom the hoped-for return. I always start with a few crucial questions: Read more on 8 Questions to Ask before You Automate…