- Enterprise development
- Software product development
- Cloud application development
- Application integration
- Independent QA and testing
Frequently Asked Questions: What You Need To Know & Why
How big is your team/bench strength including QA
This question deals with the team’s ability to meet the timelines you have planned for the development and launch of your solution. The team size is only an indicator of how much work they can get done in a given period of time. The amount of work per team is directly related to their experience. The higher the experience, the better and quicker the results.
Local resources or offshoring?
Many software development companies are located in the US, but have all of their development done by teams in other countries. The issues that could arise from this could be detrimental to your project. Know who your resources are personally. The ability to be successful will depend on the developer’s knowledge of your solution. If the developer(s) are changed out it could wind up costing you a great amount of money for the next developer to get up to speed on your code base.
Make sure there are provisions in place that protect you from having to pay for the learning curve if your developer is replaced for any reason.
Type of agreement (staffing vs. complete project)
Depending on the project it may be better to have your development team on site rather than handing it over to a professional team. Make sure you ask the company you’re dealing with what their practices are regarding changing from one model to another after the project has begun. Things change and your needs may too. Better to ask up front just in case.
Transition to internal staff process
It might make sense to begin development with an off site team and then later, bring those resources in house. Make sure you ask the company you’re dealing with what their practices are regarding on boarding the developers when and if the need arises. Needs change and it’s best to know up front what your options are.
Long term relationship including maintenance and support
Unless you have a lot of disposable resources, it may make sense to map out a long term plan with your development company. Make sure you know whether they can support and maintain your solution, how much it will cost and what their service level agreement is for those areas you require. Failing to know up front and negotiate a fair price may cost you plenty when you get to the point of needing it.
Retainer relationship for urgent support or enhancement
Many projects, once released, require 24×7 support and issue resolution. If yours is one of those, make sure you find a company that can provide you the level of support you need. Most require a monthly retainer for emergency support.
Depending on the company, you may want to find out what their abilities are with regard to cloud providers, preferred platforms, languages, and frameworks. You may not know what all of them are, but asking the question will allow you to gain more insight as to their abilities and flexibility. Really good companies will choose a platform based on your unique needs. Most companies choose based on what they know.
Find out what their preferred platforms and solutions are and ask them why they prefer them. The answers should be precise and quantifiable. If they don’t have numbers and facts to support their preference, they probably don’t have enough experience to choose.
Remote vs Offsite
This is important because desk space is expensive. If you hire a team and have to also house them while they work your costs just increased, possibly significantly. If you are OK with them working remote, make sure you ask them how they collaborate and make sure you are allowed to sit in on daily and other development meetings.
Design Process Procedure? We, They or Together?
Some companies will take your requirements and then go off by themselves and design a solution for you. Some companies will take your requirements and obey your every request without question. The best companies will work though your requirements with you and lend their knowledge of what is technically possible allowing you the best outcome possible.
What is the Development Process?
Not all processes are created equal. Make sure you understand how the team’s methodology is implemented. Then, educate yourself on the benefits and drawbacks of that methodology to make sure you’re not caught off guard.
Through years of development we have found that using a client-focused, iterative approach produces the best result.
QA? Quality Assurance Process (explained including automated tests)
Quality Assurance is the art of making sure that every release is bug free. Although this is very difficult to attain, there are practices that allow for the lowest possible risk. Ask the company what they do to ensure your solution will be bug-free as new features are added. The best companies use a variety of practices including automated unit testing, automated user interface testing, gated check-ins, and automated code-validation tools.
Bugs/Maintenance/Support : responsibility for? Cost?
This is something that many people get burned on. Make sure you know beforehand who is responsible for broken code. Most the time it depends on the cause of the fault and the only way to determine the fault is to have the developer tell you. As a result the fault is never the developer’s. However, things do break through no fault of anyone. The more connected your system is, the more the likelihood that those systems will change and a ripple effect will be that your solution breaks too.
Make sure the team you hire understands the nature of it’s position and codes the solution so that it makes it easy to find, fix, and update when changes are needed.
Financial planning information? – How do we know how much to budget for? Etc.
“How much do we have to budget for?” This is an impossible question to answer. If you force a company to give you a range, they will double their estimate (at least) and then only do enough work so that they don’t wind up working for free. If you allow them to charge you by the hour your virtually handing over your checkbook. How should you do it?
The best solutions come about when the client and the developer companies have a strong and trusting relationship. To build that relationship takes time. We suggest starting slow in an iterative approach. Repeatedly, have the company do a small amount of work and then check their work. If you begin to see issues with the quality, timeliness, communication practices, or anything else that could effect the relationship you must act quickly to either resolve it, or to cut your losses with that company.
At illumisoft, we give you a free 2-week no-obligation trial. Give us a shot and if you aren’t delighted with the result, you don’t pay.
How do we work together?
Our goal is to partner with you for your success. Your plans, your vision, your customers all deserve the best we have to offer. We’ve spent years honing our craft and we LOVE to make people happy.
We will partner with you using your tools or ours, with the frequency needed to ensure you’re happy and getting the results you require.