You are faced with the decision of how to choose a software house to cooperate with. Maybe you don’t know what to expect, or what to demand from the contractor. Here are some procedures and management tips from our several years of experience. We hope that they will be helpful in the decision process.
At the beginning of the cooperation
It’s beneficial to understand all of the conditions at the beginning of the cooperation. Thanks to this understanding, there shall be no doubts or disappointments on either side: we can honestly say, that we can create the project with your requirements and you will know what to expect from us. Making arrangements at the beginning also clarifies the requirements and helps to find the right solutions.
We need to understand your company and business goals to understand the project and estimate its time and cost. You need to understand the way that we work and get to know our vision of working together. That’s why we have to ask you some general questions about the industry, your company, and the current website. We can talk on the phone or make a videoconference. It is also possible to contact by email only.
What are we going to ask you about before we start to estimate the project?
We are aware that you might not know how to articulate all requirements, so questions are a good way to streamline this process. The better and more detailed your answers are, the more tailored offer we can create.
Firstly, we will need some general information about the existing website: its address, hosting provider, the technology used to create it, and the target group. We will also ask you to describe the project in 2-3 sentences and identify the competition.
If you don’t have a website, describe your idea first. In the description, include information about the goal you want to accomplish; desired functionalities, language versions and preferred system, if you have one. We can also help you with domain registration or choosing a server.
Another important detail to include is when you want to release the project. This component has great meaning for planning our programmers’ work. Priority work requires greater effort in a shorter time, so we have to involve additional resources. Longer releasing time gives us the opportunity to optimally schedule the work and lower costs.
One of the most important questions applies to the budget. If you know how much money you are willing to spend, don’t hesitate to disclose that. It may really help to find the optimal solution in the budget. Get to know more about how to estimate the budget in the article about software development costs. How much does custom software cost? – ultimate guide
When we receive the basic information about what you need, we will ask additional questions. For example, if it is a simple website, we will ask if you want it on a WordPress or another system and which content would you like to transfer to the new page. For online stores, we will ask about products that are going to be sold, desired functionalities, and planned site traffic. If you plan to build a product configurator, we will also add specific questions about the products and the ways of presenting, modifying, and calculating them.
Creating technical documentation
Technical documentation is a universal document that you can use to ask different software houses to estimate the cost of the service. It is necessary for complex and extended projects. If you don’t have such a document, creating it would be one of the first stages in the project implementation. It will give us the basis to estimate the scope of work and the cost of the service.
The technical documentation is different for every project because it shows how the exact website will look. The majority of technical documents include information about:
- Recommended technologies
- Elements on the website and the way of presenting and modifying them
- Integration with other systems
- Possible actions for logged and not logged users
- Possible and unwanted actions on the website
- Notifications and the way of viewing them
- Functions in the administration panel
- Users roles and entitlements
- Web navigation (information about possible paths a user can take)
We can also create mockups that present how different kinds of pages will look (for example, a product page, category page, shopping cart page, etc).
Project management system
One of the most important components in the project is mutual communication. There are many ways of handling this part. From our experience, the most effective way is to use a project management system. A such tool has many benefits:
- Communication is led only in one place – you don’t have to think if an important arrangement is in an email or somewhere else
- We have all arrangements and reports in one place – a person responsible for taking care of a new task has access to full information with no need to send emails or messages,
- The system is available 24 hours a day, 7 days a week – you can set the task at a convenient time
- You can control the task realization stage – they come with statuses: “awaiting for assign”, “in progress”, “done”, “requiring additional information from you”
- You have the possibility to assign priorities to certain tasks that are critical for you
- Monitor the time spent on the project – this information is important especially when you order work in the time&materials model; we report every 15 minutes spent on the project and you always have the information about current resource usage status
In the project management system you can order changes and new features, or report problems in the ongoing project or already released website.
Project implementation stages
Whether you have technical documentation or not, project implementation stages are more or less the same:
- Interview about your business goals, the company and industry
- Appraisal of the project
after the analytical process of creating technical documentation,
based on the delivered technical documentation.
- Software development and tests
- Website implementation
- Post-implementation service
What do you have an insight into and how can you report changes?
Each and every detail of important information can be found in the project management system, in threads and tasks:
- Your orders and reports (ongoing and archive)
- Time spent on the tasks (with the accuracy of 15 minutes)
- Current usage of paid work hours
- Current status of the tasks: “awaiting for assign”, “in progress”, “done”, “requiring additional information from you”
You have an insight into it 24 hours a day, 7 days a week. If you need to order a change or report something, just create a new thread. We will take care of it as soon as possible.
Fixed price vs time&materials – which one to choose?
We use these two pricing models for different scopes of work:
- Major projects, like online store implementation or building a large service may be accounted for with a fixed price
- Ongoing work, like implementing small features, changes or updates are accounted for with the time&materials model
In a fixed price model, the valuation is based on the predefined scope of work included:
- Graphic design
- Software development
- Server environment configuration
- Post-implementation monitoring service
The ongoing work is accounted for in accordance with time spent on every task with an accuracy of 15 minutes. There are two ways of paying for the service: by keeping time records once a month (down payment), or by ordering programming packages (advance payment). The package may be used for 12 months after purchase. All details of payment are settled individually.
Want to know more about these two pricing models? Check out our article Fixed price vs time&materials – pricing models in software houses.
We cannot imagine any dedicated software deployment without full support. This is why for every delivered piece of code, we provide a full warranty. It may include a guaranteed response to any problems, unlimited support regarding the use of your application, and the ability to add new features. If you decide to utilize our server infrastructure, we will provide you with hosting space, and also include the SSL certificate, free for the first year.
How to cooperate with a software house – final thoughts
A good website or online store is made up of a joint effort from you and the software house. The more involvement you invest, the better product the software house will deliver. But you also have to let them do things their way – your website is in good hands of experienced specialists. They know their job and they know how to create optimal solutions that meet current trends.
How to recognize a software house prepared for good cooperation? First of all, they ask many questions to understand your goals, needs and the project. Secondly, they use simple and effective management tools. Thirdly, they are transparent and give you access to the information about the project execution stage, so you don’t have to ask about the progress. And last but not least, they give you a warranty for implemented solutions with full support and the ability to add new features to the released website.