The evolution of intelligent design.
Whether we're developing a small mobile app, engineering a large-scale enterprise application, or building a zero-fail database cluster, at every stage of our process we put design first.
We call it engineering on purpose.
Sumo Software Foundations
We like what we do and we like each other. We get along because everyone on our team shares some important beliefs about the world and how we should operate within it. We just happen to express those beliefs by providing software systems engineering services.
We employ, and aim to conduct business with, people who believe what we believe. We never ask others to compromise their values. You can expect us to remain true to ours. This is the only way we can give our clients the best that we have to offer.
Hard is Easy. Easy is Hard.
It takes very little effort to build software that is difficult to use, gets in the way of the user, and requires a great deal of effort to achieve very little. There are many software consulting firms that will happily build such software for you. We are not one of those. We believe that the burden of difficulty belongs to the software development team, not the person using the product. Our team has studied such leaders of the design industry as Alan Cooper and Donald Norman. We have applied our knowledge with proven results.
It is never easy. It always takes more work, more time, and more money than the alternative. It is always worth it.
Authenticity Equals Trustworthy
Simon Sinek, author of “Start with Why,” said that a person is authentic when everything he says, does, and believes are in harmony. People naturally trust others who are authentic and distrust those who are not. Software systems are no different. To be authentic a product must behave in a way that is consistent with your belief of how works. If it doesn’t you won’t trust it. Would you use a product you don’t trust? Neither will your clients.
Put People and Their Goals First
Understanding why people will use a particular software product is vital to the design process. A well-engineered piece of software helps individuals achieve their personal goals or perform their responsibilities with minimal cognitive friction. If a product does not do that, then people will not use it unless forced. We have no interest in forcing people to use our software or in any business that would.
Build What They Need, Not What They Want
Our clients know their industries well and they have great ideas for software systems. Few of them hold advanced engineering degrees or have many years of user interaction design experience. They typically do not have a team of experienced engineers, designers, and developers who have worked together for years. We do. They have not spent years studying the intersection of cognitive psychology and computer science. We have.
Of course we listen carefully to our clients. Our process is specifically tailored to extract diamond-in-the-rough ideas. After performing extensive business analysis, we apply our hard-won expertise to design a software product that more effectively meets their needs and performance requirements than they could have articulated on their own.
Fail Often. Fail Early. Fail Smart.
Fail often. If you haven’t failed lately then you aren’t innovating. Consider how many times the Wright Brothers wrecked their plane before they finally took flight. Engineers don’t typically think of such micro-failures as wrecking a plane as failures at all. Instead we see them as important learning opportunities. Each one drives us forward to ultimate success.
Fail early. Less than 20 percent of the total time spent on a project is spent programming. The other 80 percent consists of design related activities such as analysis, research, prototyping, and modeling. A competent engineering team using peer-review can quickly and easily identify and fix micro-failures. For example, during the design phase, changing a single line in a diagram takes seconds. A corresponding change during the construction phase might take weeks.
Don’t copy your competitors. Your product shouldn’t look like your competitors’ products. Your product should be why your competitors are scared of you.
Most software is used in a business context, so most victims of bad interaction are paid for their suffering. Their job forces them to use software, so they cannot choose not to use it - they can only tolerate it as well as they can.