Table of Contents
When the whole business world goes digital and uses technologies at an accelerated rate, every company without an in-house developers team needs to look for remote specialists to keep up with the digitalization trend. Only experienced professionals can perform a digital transformation, build necessary business intelligence tools and take your company to a whole new level.
We have already shared with you key tips on how to hire a great developers team if you have no technical background. So we will not get back to the aspects described in that post now, since in this article we would like to focus more on communication with the potential developers of your project.
When you contact the software development agency, you should be prepared and know what questions to ask to get firsthand tech information and understand clearly what expertise and values the team has, and what processes your project will go through.
So to get all the information, what questions should you ask? Where should you start the conversation and what matters should be discussed in detail? Let’s wait no further, and delve into this topic.
What business industries do you specialize in?
Who can perform digital transformation of your business in the best possible way? Only the developers who have experience in building solutions for your industry. Why is that so important? First of all, this means they understand the challenges your business may go through. Second of all, they can shape your solution idea properly and offer some other (maybe even better) alternatives able to meet your requirements and eliminate productivity issues.
So when you are selecting a developers team pay attention to their website. It usually has a section describing industrial expertise of the team where you can find information about all types of solutions a company can build, and businesses they can digitalize. On top of that, check out the portfolio section on the company website and also look for the reviews of their real clients.
Hiring a team that has previously worked in your industry has a lot of advantages. Here are some of them:
- Ability to provide valuable insights regarding your business improvement via digital transformation.
- Ability to bring best practices and ideas into your project.
- Knowledge of current trends and effective productivity tools.
- Well-built process of development and great level of risks mitigation.
- Deep understanding of your challenges and ways how to solve them with the software.
- Experience in connecting all necessary systems into one smart environment aimed to automate numerous tasks and processes.
If you’ve already selected a couple of software development companies, don’t hesitate to contact them via email or phone call to ask questions. Share your idea, describe current issues and see what actions and solutions a company will suggest.
What is your development flow?
Well-organized development processes can be a huge decision making point. However, what you need to know about them is that they can differ from company to company, and of course some of them are better than the others. Internal processes mean a lot because the quality and speed of your project development depends directly on them.
The developers team should be able to delegate and assign tasks effectively, preserve all deadlines, communicate effectively with you and with other team members, use effective task management systems, and easily coordinate all processes. You should be able to get progress reports and have a responsible person to discuss all matters with.
But how would you know if the company you are choosing offers everything we’ve mentioned? Only by communicating with the team manager directly. Yes, there is no other way to discover how the workflow in the company is built.
How we do this in Altamira
Let’s take our company and discuss our development flow. For example, we offer our clients a full development cycle starting with the pre-development stage – Discovery (where our Business Analyst helps you find all of the unknowns and identify your goals) and specifications writing, and ending with the development, delivery and maintenance of your project.
Every project that we take has a Scrum Master that sets tasks and controls whether deadlines are preserved, and whether the established scope of work is performed within a certain timeframe. The Scrum Master is your contact person who you can consult with regarding any project questions.
But before you get your personal Scrum Master, you meet our personal client experts. One of them is going to discuss your project idea with you and guide you through all things of your interest.
Phases of project development
Once you’ve made a decision to build your solution with us, it will go through several crucial phases that are the following:
Of course the development flow may not be the same in different software development agencies. That is why we recommend asking about it first, and then selecting the team that you feel is the perfect fit for your project development.
How long will pre-development and development take?
Every project is unique so it is really hard to name some precise development terms. While one application may take 3-6 month to build, the other one may be really complicated, require code review or some complex third-party integrations which doubles the overall development term. However, you can discover the approximate number of required development hours and overall development duration when the Discovery stage is completed.
After the Discovery stage you get all technical documentation including Specifications that influence the development duration. To complete the Discovery stage our specialists usually require 3-5 weeks (depending on the project and how much initial information they have about it).
So in general, it takes almost a month to finish the pre-development stage, and 3-9 months to complete the project (however the time frame can change depending on the project complexity and required feature set).
Also some clients want to build an MVP first which is a version of the solution that has only core functionality and can be expanded in the future. The development of an MVP takes less time and money. So your solution may be ready twice faster.
What info and involvement is required from my side?
You know your business better than any developers company, and probably you have certain documentation and information that explains the processes or demonstrates how your current flow is built. So when contacting web developers and discussing your challenges and possible solution, it is preferable to provide the team with the information that can help to:
- Understand your current work processes;
- Find out your business model and its challenges;
- Discover what digital tools you use and if they are effective enough;
- Dive into the peculiarities of your business (especially if it is related to some specific or custom services);
- Understand expectations you put on software development.
You do not necessarily need to write all of the things down or prepare a holistic digital document. All you need is to think about the aspects we’ve mentioned and be prepared to answer questions and help Business Analysts to formulate your Project Vision.
A real example of cooperation
Here at Altamira we had a client who is involved in production of custom specialty precast, pieces for repairing damaged constructions and installations. There were lots of productivity challenges due to the special business model, and this client required a high-quality custom solution to manage business.
So he came to us with documents that described his manufacturing processes in detail, he even described the workflow and some options that the future software should have. We have examined those documents, and they’ve helped us greatly to formulate high-level specifications and software requirements.
The outcome of our work with the client exceeded all expectations. If you are wondering what project we’ve built, then check out LEO case study in our Portfolio. And here is what our clients thinks of our cooperation:
And here is how he rated our team on Goodfirms:
Now let’s speak in brief about the involvement a software development agency may expect from you. First of all, every company appreciates your cooperation and readiness to get in touch to discuss some development details. Secondly, from time to time you will need to check provisional results and let the developers know your honest opinion.
As for the rest, you take care of your business while we do our job. You do not need to worry about the processes or contact us every single day. We value our clients’ time, so everything is organized to minimize your participation and resolve all questions independently and effectively.
Do you have any references from previous clients?
If you want to get real feedback regarding the job that the developers team does, there is no better way to do this than ask their previous clients. Of course you can take some time and look through reviews of the clients on the company website or on special platforms rating top firms (like Clutch or Goodfirms).
However, those reviews are not detailed enough, and they will probably not provide you with an info regarding processes organization, some pitfalls that can be faced during the development. The written reviews tend to be very general and mostly describe the outcome of the development and client’s impression. But you definitely need more that this.
So by contacting clients in real time you can discover all the inside information that may be of use to you and become your decision making point. For example, Altamira team has a list of clients who are ready to get in touch with our new potential clients to share info about our services and solutions quality. Those people are located all over the world starting with the US and ending with Ireland and UAE.
Do you have any examples of the similar projects?
As we’ve mentioned in the very beginning of this article, the domain industrial expertise means a lot. If a team created projects for companies of similar business nature, it gets easier to mitigate risks, avoid misunderstandings, and take timely actions to remove existing bottlenecks. So the outcome can be predicted and the deadlines will not be missed.
Therefore don’t hesitate to ask for some examples of projects or request some information explaining pros and cons of certain services, ready-made solutions, features and approaches. The team that really has necessary industrial expertise will gladly provide you with all answers and materials.
What technologies do you work with?
The information about the technology stack is always available on the website of the company, so if you are a tech savvy you can easily check it and evaluate if this or that team is able to develop your project. But let’s be honest, it is fine to be a non-tech and not to spend much time investigating the tech world.
When you are looking for a team, you may not even know what languages and frameworks should be used for your solution. So a list of tech stack on a website may not be helpful at all. That’s why we recommend you to either write an email or make a call to speak with the personal client assistant who can guide you through tech detail and suggest the stack.
We would also suggest you to pay attention to the number of technologies the company works with and if there are any new progressive ones in the list. The broader the team’s expertise, the higher are the chances that they know how to build highly-functional and flawless solutions.
Can my existing solution be modernized?
Chances are that you already have and use certain smart solutions for your business, but unfortunately they are not smart enough. Or maybe they are good because you need to create a smarter environment and perform interconnection of all solutions used by your company. But can a company of your choice do this? There is no other effective way to discover than ask.
It is true that not all companies are ready to get involved in fixing something old, do a refactoring or perform legacy code rewriting. So if your goal is to modernize the solution and not build a new one from scratch, say it straightforward. And ask if a company offers such services. Here at Altamira we are not afraid of challenges and have several cases when we did code review and modernized solutions that now work like a charm.
How do you ensure security and scalability of projects?
Do we even need to emphasize the importance of these three aspects? When you build a solution you want it to last for years and be your pocket helper. And this is possible only if your app is secure, scalable and innovative enough. Is it possible to get first hand information about ways how the company ensures these aspects? Sure thing, all you need is to have a slightest understanding of how they are ensured and ask your team directly.
Let’s take our company as an example to show you what measures can be taken to make apps safe, user-friendly and adaptable to changes.
Do you build projects in-house or outsource some parts of them?
Although it may sound strange, some companies that offer software development and design services practice outsourcing parts of the projects to other companies. This happens mostly because they lack in-house specialists in a certain development sphere.
For example, a company may have a strong department of back-end coders but they specialize only in a couple of programming languages. So if your project requires any specific language or functionality and the team is unable to implement it, then that part of the project is outsourced. This kind of cooperation may become either very fruitful or very problematic for you. There can be some communication problems and the quality of a project may be questionable.
If you value high-quality results, then it is better to choose a team that will do all the job in-house. Altamira is exactly this kind of team. We never outsource our projects and the only cooperation we can consider is:
- Working together with your team (if you have one and need an outstaffing partner);
- Hiring a part-time consultant to help us out (we had an experience of working with blockchain specialists that we hired to assist with a part of algorithmic trading solution);
- Working as a dedicated team (working upon your huge project together with other developers for a long time).
What is your approach to project management and budgeting?
Project management is no less important than the development itself. After all, you want to be sure that everything is going according to plan, that team has some provisional results to show and that there is a chance to suggest some changes or alterations. Many teams use different project management tools and stick to various methodologies. Among the most popular ones are Agile, Kanban and Waterfall.
We’d recommend you doing research about those three to understand which one is better for your project development, and only after that contact the team, ask what methodology they use and initiate the development.
Let’s take our team, we use Agile methodology because it is suitable for both huge and small projects, it allows to ensure rapid delivery, make changes at any development stage, and perform constant project improvement. Also it makes processes more transparent for clients and they can see provisional results of their app building.
What is included in development cost and how do you charge?
If you want to avoid a future headache related to your project price, then it is better to ask the team about their pricing model beforehand. All you need to know about them is that there are eight main ones that are used by software development agencies, and each one of them has its pros and cons. Among the most popular ones you’ll see:
- Time and Materials (we use it in our company) – when you pay for the actual number of working hours and materials spent on your solution development.
- Fixed price model – when you pay once for the whole development process and the price cannot be changed. This model requires very detailed requirements and very accurate estimation.
Will I be able to suggest changes on the go?
If you select the team that works with Agile methodology and Time & Materials pricing models, then it will be easier to do this. With the usage of Scrum it is possible not only to suggest changes on the go, but also track real team’s progress and see developed parts of the project in a certain period of time. The thing is that in Scrum the overall development process is divided into periods called Sprints and after each Sprint you get a certain deliverable – Increment. Here is a short scheme of what each Sprint includes: planning -> building -> testing -> reviewing = increment.
There are several Sprints that will lead to a complete project. And since there are such Sprints, you can actually suggest changes that can be implemented seamlessly on any stage. This flexibility is exactly what makes Scrum so great. On top of that, it is transparent, it offers frequent releases, and advanced quality of the end product.
How do you perform communication?
The teams like ours that work with Scrum have a Scrum Master who is a connecting link between the client and developers. This person is responsible for defining the scope of work per each Sprint, for checking if everything is done on time, and for contacting you and providing feedback that will give you an understanding on what stage your project is.
Scrum methodology implies thorough Sprint planning and some regular meetings/calls (retrospectives) of team members to define priority tasks and Sprint backlog. So everything is always under control and you will be aware about the development status. To suggest any changes all you need is contact your Scrum Master and let them know what’s on your mind.
FAQ
To sum it up
These days it is not a problem to find great business management software, and yet many companies prefer to build custom programs and tools. No wonder, because every business has its strengths and weaknesses, its own workflow and processes organization. And only custom software can meet numerous requirements and needs of a certain company.
So when it comes to the development, you need to take your time and find a truly reliable partner. A development company that has great values, extensive experience and handles projects with care. The only effective way to find such a company is by contacting several of them and asking lots of questions before you make a final decision.
We hope that our article was helpful and now you know where to start and what to ask. But in case we’ve missed something, don’t hesitate and let us know in the comments.