Custom Software Development

The days of building custom software to run your business from the ground up are long gone. There are many excellent off the shelf products that do most of what you need. These are less expensive than custom solutions because the cost of development and support is shared across many customers. The downside is “most of what you need” isn’t really “everything you need”.

There are many practice management software products designed specifically for law firms. They all offer different levels of customization. Even so, you are still constrained by the limitations of what the designers chose to include.

So it’s possible that your firm’s unique needs aren’t supported because they aren’t popular enough with the broad customer base.

Let’s say, your practice software can handle 80% of what you need to reach all your goals. Your team will either create workarounds to accomplish those goals. Or you will adjust the goals.

Either option carries its own issues. Adjusting your goals and processes may mean you can’t do your work properly. That will affect the firm long term.

Workarounds seem good in the short run. Except they tend to be very manual, repetitive and error prone. Plus, workaround often don’t get documented, so significant institutional knowledge could disappear if one of your partners or employees were to leave.

All that adds stress to your office managers and can easily introduce errors that may take a long time to be discovered and even loner to fix. Even to the point of missed court dates or lost cases.

You need your firm to run like a well-oiled machine. Your staff should be focused client needs and the attorney’s they support. Not dashing from one workaround to another.

We can help you bridge the gap between what your software does well of the box and the complete solution you need to operate most effectively. Our solutions streamline or completely automate manual processes removing drudgery, reducing errors, and lowering your stress.

Our Projects Tend to be Unusual

Unusual because our clients have simply run out of options. Often our clients come to us, having been told their problem is unsolvable.

We have a solid track record of developing innovative solutions to help our clients overcome challenges and reach their goals. It can be tough, but it makes our work more interesting and fulfilling.

How can custom software help my firm?

Every custom project is unique. That’s what custom is all about. It’s finding a new way to solve challenges in front of us. And can be a great investment when it resolves an ongoing issue.

I wish my software could…

Off the shelf software can’t be all things to all firms.  There will always be limitations or capabilities that are simply missing. While that’s perfectly understandable, it doesn’t help with the frustration of not being able to do everything you need.

Many of our projects add or enhance capability to an existing software package the firm depends on.

This may mean changing the way a built in feature works so it better fits your process. Or adding a capability that simply doesn’t exist.

To be clear, we can’t change the core code inside commercial products, but we can often use APIs (application program interfaces) and other techno-magic to provide what you need.

I’m so tired of manually…

Manual processing is often your only option when your core software doesn’t support some required capability. Besides being time consuming, these tasks are often tedious and error prone.

To make matters worse, they are usually repetitive and never-ending. It’s also easy to forget critical steps required when tasks are not done frequently. Staff turnover adds additional complications to the mix. And managers face unnecessary stress at the prospect of missed or incorrectly completed tasks.

What if those tasks were streamlined or completely automated? With optional logging and even notifications? It would mean things done right and much less stress for everyone.

I have to import/export data every…

Data import or export is another vital task for keeping systems up to date or to share data externally.

But imported data may contain invalid values that must be manually tracked down and corrected. Exported data may suffer from a similar issue confusing the recipient. Even if everything goes smoothly, import/export is typically a multistep task that must be remembered, scheduled and completed manually.

Data sharing is one of our specialties. If this can’t be completely automated, we can provide a tool that shows exactly what you need to do the job with as few decisions and steps as possible.

We depend on multiple products that don’t talk to each other

Each manufacturer has their own ideas of how to store data, so two products are unlikely to communicate unless there has been some coordination between the manufacturers. Firms often solve this with a manual export/import process if they can get along without having real-time updated data.

We have extensive experience building “middleware” to automate data sharing between multiple systems. Middleware is software that sits between two systems that don’t know how to talk to each other. It acts as a translator to enable those different systems to share information.

We want to move to a new product and need to migrate our data

It’s painful to change products, but if you have outgrown a product, it may be worth the cost to move on. If so, you should expect not only the cost of the new software, but software configuration, migration of your data, downtime during implementation, staff training costs, and lost productivity while everyone gets into the new flow.

We can help migrate and transform your data in a manageable and cost-effective way. You may also want to keep the old system online for archival purposes. We may be able to help with any shortcomings you discover in your new system. If you contact us before you make a final product decision we may be able point out some potential hurdles based on our past experience.


Our Process

What’s it like working with us?

Every custom project starts with consultation, where we discuss your challenges, problems and goals. We want to hear and understand your needs so we can identify the best way forward.

It’s exciting to imagine getting exactly what you want. It is theoretically possible to have everything you dream of — given enough time and money. Our goal is to get you as close to 100% as we can, at an investment that provides the right return on investment.

It’s human nature to just want a number; to feel confident what you wish for is easily within your budget. The problem is neither we nor you know enough about the requirements of your project at this point.

Standard process

Our standard process is for a client to commit to an initial block of hours for us to work with their staff, examine their data, identify unknowns and start the actual work of building the solution. We may discover one of our existing products will solve your problem providing an easy fix for you. We can even customize our products for you if necessary.

The number of hours in this initial phase is determined by the size and complexity of the project, but they typically run 6-12 hours. This provides the client with an affordable number to start the project, answer key critical questions and identify the unknowns.

After spending this time we will have made some progress toward the final goal, plus we can provide an educated estimate of time required to complete the project, or the next phase of a larger project.

Larger projects require even more planning, but we work to avoid getting bogged down in analysis and complex specifications on the front end. The client’s requirements often change as the project comes together so early plans rarely match reality.

We prefer to provide pieces of the overall solution early, then incrementally add to it as we collect feedback from the users. The client gets real relief sooner and testing and feedback from actual use is invaluable to the success of the project.

Compare this to paying for a big document that may not accurately define your needs and doesn’t solve any problems until you spend more on development.

Project phases

Following that reasoning, we break larger projects down into manageable phases.  Each phase has these characteristics:
  • Provide value today by accomplishing a predefined near term goal, while working toward one or more long term goals.
  • Include feedback from users to refine the scope of the work and tune the overall plan
  • Provide specific “deliverables” helping both parties remain focused and on track to completion.
  • Provide milestones which can be stopping points.  This gives the client an option to take a break on the path toward a larger goal and pick up again later when resources or time allow.
As we complete each block/phase we schedule a status review and define the details for the next block of time if required.
Our clients prefer this flexible methodology to a concrete predefined specification with a fixed price and detailed change orders requiring additional pricing for each adjustment. We believe our method organically fills the gaps in your processes providing a better fit to your actual needs.
Our iterative process depends on communication and trust. We earn your trust by starting small and delivering tangible results. We’ll do whatever is necessary to ensure you are comfortable with your rate of spend vs. the progress on your project.  We never want you to be unpleasantly surprised by a bill or a progress report.

Getting started

Call us

The first step to your custom software solution is as easy as picking up the phone.

Simply call us at 501-588-4320.

Let’s talk.

Send us a message

Use our handy form to send us your contact info and provide some basic information about your needs and we’ll contact you.

When you find yourself thinking “There must be a better way” — chances are there is.

And we will help you find it.