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…

Project Leads vs. Project Managers

Atomic Object has no dedicated, specialized project managers.

Instead, we have project leads who play multiple roles of implementor, team lead, and project manager.

Benefits of the Project Lead Model

As a designer or developer, the project lead is intimately familiar with the product’s user needs and related features. They know the team’s implementation plan and can creatively consider alternatives if constraints challenge the original plan. By also playing the project manager role, the project lead will be able to anticipate constraints early on and manage the team and scope appropriately.

For instance, let’s pretend you are the project lead, and your team is working on an administrative reporting interface that shows eight key reports related to user conversions and activity. The reports are going to be run monthly by one person. As the reporting interface is being designed, the client identifies other ways their users want to manipulate reports and select data. Read more on Project Leads vs. Project Managers…