Pittsburgh has long been a center of innovation in the fields of healthcare, robotics, and computer science. Large tech companies like Google have developed a significant presence here based largely on the advanced research and talent of our excellent local universities. Likewise, related fields such as UI/UX and graphic design, patent and intellectual property law have also been flourishing for similar reasons. This landscape gives local and regional companies an advantage in hiring both full-time and contract/project information technology staff, leading to new innovations across many industries.
Whether forming a new company, or simply incorporating high tech efficiencies into an established business or non-profit, it’s important for organizations of all types to effectively leverage information technology. At Blue Archer, we’ve had the privilege of serving established and startup businesses and non-profits for almost 25 years. Many of our clients come to us with an idea in need of execution.
When reviewing functional requirements with a client (the first step in our process), we are always thinking about the best possible solution to meet their needs in terms of meeting requirements in the most cost-effective method possible, and in the shortest time-frame possible.
Here are the options we consider, and their general pro’s and con’s:
Existing "Canned" Software
"Canned software" is software developed for a mass market, such as accounting or customer relationship management software. These "canned" solutions tend to function in a relatively rigid way that is designed to meet the needs of the widest possible user group. If a "canned" software will meet your needs, it's almost always the best solution, as your up front cost will be significantly lower.
Just be careful of onerous ongoing licensing or other expenses, like hosting. In many cases, lower up front costs are designed to provide ease of entry, with significant ongoing or hidden costs increasing over time. Software companies that sell canned software are always looking for ways to generate annuity revenue over time, so you should be aware of this trend in the industry. In order to mitigate these expenses and future risks you can ask yourself the following questions:
- Is there a licensing fee ongoing, over time?
- Is there a hosting fee, and if so, does it increase due to usage or volume of records?
- How does customer support work? Is it pay per use, or is there an ongoing retainer required?
- Is it possible to export your data in case your needs change over time?
In general, you should do some research online regarding the above points. A good source for this is a general internet search for reviews or comments from existing customers.
Custom Software
Custom software is just what it sounds like: code written to meet your needs exactly.
Typically, software development firms will work with you to determine functional requirements, enhance and add detail to these requirements to provide a more detailed technical specification, and then write your software. This process can be long and relatively expensive, though estimates can be provided during the requirements phase to ensure you have a positive return on investment. All of the risks and best practices are beyond the scope of this post, but there are plentiful resources online to give you a better idea of how this works. It is appropriate and smart to ask about the specific processes and ordering of tasks your provider will execute for you.
The primary benefit to custom software is that it should meet your needs far better than a canned solution. The principle downside of this approach is the often significant expense, and potentially a long development cycle.
Due to the prevalence of excellent technical education in the Pittsburgh area, as well as the high-tech employers that have a presence in the area largely due to this, the region has a significant tech presence. This doesn’t mean software development firms and contractors are necessarily inexpensive (though they are cheaper than areas with a higher cost of living), but it does mean you can typically find the resources you need to get a software project completed.
Custom software projects typically utilize a “work for hire” type contract that cedes all ownership rights to the customer. Be sure you have secured your rights properly.
"Customized" Hybrid Software
A potential “best of both worlds” model exists, and that is leveraging an existing piece of software to both speed up and reduce the expense associated with custom development.
Established software development firms will typically have their own base of code that they re-use and add to over time. Common functions such as user management, dashboard type functionality, user-interfaces, security, and other modules provide a basis for custom development projects. The more experienced firms will typically have more code available to utilize, but up and coming firms can also support this approach.
The main advantages for a customized (vs. pure custom) approach are reduced up front implementation expense, a quicker development schedule, and the ability to see some of your functions ahead of time. Because you will be developing based on existing code, your provider should be able to demonstrate some of your functions prior to the project even commencing (NDA’s notwithstanding).
In general, if you have custom needs, the best solution is often a hybrid type approach for the above reasons. This approach also helps to mitigate overall project risks, as less new code is being produced. Just be certain you secure full rights and license to utilize your software after it is complete! Although not a fully “work for hire” type of arrangement, you should look to retain an unlimited end-user licensing agreement. Most providers will seek to protect their own code library so they can re-use it for other clients, but any functions that are proprietary to your organization can be identified, and the ownership of this code assigned appropriately.
After the Project
It is equally important to ensure you have excellent post-project support to allow you to maximize the benefits of any project. Be sure to ask about these resources prior to beginning your project. Switching from one provider to another after the implementation/development phase can be costly and difficult. So plan for success over the long-term.
Researching & Evaluating Pittsburgh Software Development Companies
There are a few main points to look for and ask about through the vendor selection process. Here are a few key points:
- Experience: Years in business as well as years of experience of the staff are both important metrics.
- Client satisfaction: Reviews should be publicly available, with available references for you to contact. The more reviews and references, the better.
- Expertise in your Industry: Software development varies by industry, different coding techniques, security standards, and other requirements. Pittsburgh has a significant number of middle market manufacturers, healthcare firms, distributors, tech companies, and a substantial non-profit sector. Be sure your provider has experience serving your industry.
- Case Studies: Firms should have any number of case studies publicly available, or available upon request, these will help you ensure their work matches your needs.
- Post-Project Support: Make sure your provider supports a helpdesk, that you will retain some level of access to your project team, and that a range of maintenance and support options exist should need more or less assistance over time.
- Comfort level and fit: It’s also important to find the best organizational fit, this can be accomplished by discussing the project process and speaking with some staff.
- Budget: A good fit from a budget perspective is important too. You don’t want to hire a firm that is either too expensive (overkill for your needs) or not skilled enough to meet your needs. A good balance of budget and expertise tends to meet the needs of our clients from the Pittsburgh region best.
In closing, finding a good software development provider can be challenging, but if you just exercise good common sense, and do your due diligence, there are great solutions at reasonable prices available. Pittsburgh is a great market to find excellent solution providers are reasonable prices. A lot of developers and technical folks, myself included, are from the area and choose to make our homes here due to the outstanding quality of life Pittsburgh provides. And we can provide our services much more reasonably than would be possible living in a bigger metro area, or an area considered a “tech hub”.