Our Software Craftsmen Amplify Your Expertise

You know your goal and you know your industry.

You want your users’ experience to be as simple as it can be. With that combination and the right business model, there is a big payoff.

You want elegant solutions to tough problems in a cost-effective manner. Software that is only as complex as it needs to be to serve you and your other stakeholders.

Our software craftsmen know how to manage the inherent complexity of software development. Craftsmen work quickly, but don’t rush. Craftsmen deliver cost-effective solutions, not cheap software. Craftsmen think of stakeholders and users at every stage of development, not just the beginning.

We work with you, no matter where you are on your software development journey, to safely get you to your desired destination.

Let's discuss your project
I've used a lot of software during 20 years in the roofing industry. When it was time to create my own system, I wasn't sure what to expect. RoleModel is the most responsive and flexible team I've ever worked with.
Fred Wolfe
President of 5 Prime Coatings.

Avoiding Hidden and Introduced Complexity

The cost of software development is, in simple terms, easy to understand

All software has some inherent complexity. The cost of a software development project comes from the time it takes to apply expertise to manage that complexity to produce an effective solution. There are two main enemies to a cost-effective software journey: hidden complexity and introduced complexity. They both often get introduced through the same source: unconscious incompetence.

Hidden complexity is really inherent complexity that goes unnoticed. It can impact the success of a software project when optimistic, inexperienced or uncaring software developers and designers don't flag a naive request when it comes in. They’ve often not been around enough to know how to identify the essential complexity of any given problem and how to manage it. Surprises come when you end up with what looks like an 80% solution (the simpler part). Somewhere in the remaining 20% (the complex part) are complexities that make or break success. But time and money have been spent on the wrong people using the wrong process to come up with the wrong solution. You have a mistake to learn from, but not a foundation to build upon.

Introduced complexity comes from roughly the same sources. Hard problems come up and poor “hacked together” solutions are introduced by inexperienced or less talented developers. Alternatively, more talented but either inexperience or uncaring developers might introduce sophisticated solutions. One definition of “sophisticated” is “unnecessarily complex”. Instead of boiling the complexity down to its essence, they introduce additional complexity to tackle the perceived problem. You may have a solution, but it is more expensive than necessary. The expenses continue in a higher cost of maintenance and a higher cost to add new features.

Complexity Chart

Great software requires great feedback

Feedback drives us to create the right software for our clients — that feedback comes from stakeholders, subject matter experts, users and the code itself.

Without meaningful, structured collaboration and feedback, projects quickly run amuck. Software developers don't think like stakeholders or users and shouldn't work in isolation. When software developed in isolation ships, the poor user experience becomes painfully obvious to the people forced to use the software daily. All because their voices weren’t heard in the development process.

However, misplaced feedback — input from the wrong source at the wrong time — can be a distraction, even a disservice to the development process. That’s why we craft our feedback-gathering process just as carefully as the software we develop. We know when we need an end-user’s input instead of an expert’s. We know when we need to talk with a developer and when we need to talk to an executive. And we’re always listening to the feedback our code is sending to us.

It’s worth pausing here. Because if you’re not familiar with test-driven development, the idea that code can give feedback might seem foreign. But this practice demonstrates an advantage of our craftsman-driven approach. While many software companies run periodic tests to diagnose bugs, we bake tests into the software. Why? Because we know how much time and money can be wasted tracking down the bugs that have crawled in as features are added. Better to craft a system that tests itself, like an intruder alarm for bugs. So we’re confident in our code instead of fearful of what problems we might be missing.

Agile Process

Craftsmen lead software development

Feedback helps everyone do their job better. But it takes time and experience to know how to take full advantage of the essential feedback loops. It also takes time and experience to know the difference between an essential feedback loop and time-wasting, irrelevant data.

All of our projects are overseen by Software Craftsmen. All of our developers and designers have their professional development overseen by Software Craftsmen. You don’t have to worry about junior programmers running amuck at your expense. We don’t give the title “Software Craftsmen” out lightly

Project Diversity

Project
  • Led at least 2 successful, non-trivial, projects
  • Supported at least 2 projects that have lasted more than a year in production
  • Actively been a part of at least 8 projects, in at least 4 distinct environments

Technology Stack Diversity

 Language
  • Professional level experience with at least 2 technology stacks used in real-world web or mobile projects
  • Competence in at least one more

Verified Work

Verified
  • Professionally scored to attain Craftsmenship Level
  • Verified by at least one other Craftsman and our Software or Design Director

> 10,000 Hours Experience

Experience
  • 2,000 hours have included explicit “leadership” positions
  • 2,000 hours have been in a clear “services” position (i.e. serving explicit clients)
  • 4,000 hours of experience in “The RoleModel Way”

Our Proven Approach: Guiding your software journey

We believe so strongly that great feedback leads to great software that we've structured how we interact with our clients around it: We call it "Our proven approach." We use it again and again — often multiple times on a single project. From new projects to new features, no matter your pace of innovation, our proven approach of using feedback loops to build, measure, and refine works.

Plan

We plan flexible project roadmaps quickly. Experience has taught us that, for most projects, hours or days is the right amount of time to develop an initial approach. More initial planning often introduces unnecessary complexity and inflexibility. Less invites chaos. We want to chart a course that allows us to adapt.

Explore

As we plan, we identify riskiest assumptions before they can burn through your time and money. We explore quick solutions to close knowledge gaps and identify and execute simple tests. Over the course of days or weeks, we use tight feedback loops with proven validation techniques. We may build prototypes, proof of concepts, test feasibility approaches and more — all in an effort to assure the success of your software project.

Craft

Then, we craft. This may last weeks — it might last months. But regardless of the size of the project, we always aim to produce value in small increments. Our clients love this approach: They see their software project come to life one piece at a time. Each bite-sized chunk initiates a feedback loop: A collaboration between developers and the right non-developers. Depending on the situation, we might seek feedback from users, executives, or subject matter experts. And we always make sure that two sets of eyes are on all production code.

Sustain

As the software gains users, focus often shifts from crafting new features to sustaining the excellent user experience by monitoring the system and responding to user and system feedback. Sometimes this means making small changes — adjustments. But as time goes on, users or potential new users may tell us major features are needed. So, while we continue to sustain the system, we may begin our proven approach for the next big feature or set of features.

Whether we are in a state of constant planning of new features or expecting significant gaps between new features, our proven approach to building and sustaining your software system works.

Let's discuss your project

Let's discuss your project.

Contact Us
or call 919.557.7550
Client logos light on dark