Frequently Asked Questions - XB Software

F.A.Q.

Here, you can find the most common questions about software development, project management and QA. We have grouped questions by topic and included useful references.

Software Development
1
Project Management
2
QA and Software Testing
3
Software Development
How to choose a software development company?

When a firm provides some services, it always leaves some tracks. Using these tracks, you can decide whether the company is worth your attention or not. Even before you start negotiating with the software development vendor, you should form an opinion about it. There are dozens of sites that provide reviews on development firms. Make sure that the software development company is focused on the apps of your interest. Portfolio and case studies will help to define if a it has enough experience in your industry.

What are the client’s role and responsibilities in a software development project?

The main thing that should be kept in mind is that you shouldn’t let things go by themselves. As a client, remember that it’s important to clearly understand your role and responsibilities participating in the development process long before the first line of code is written.

The phase of gathering requirements should include a series of interviews with your employees to formulate what results you expect to get. After the development process is started, the worst thing to do is simply wait for the software project to be finished. At all stages of the development process, a customer should monitor the process and check the deliverables provided by the development company. It will help to clarify additional project requirements and assure that the resulting product or service will meet your expectations.

I have an obsolete software system, which currently doesn't meet all my business needs. Should I deal with modernization, or is it better to build it from scratch?

Well, it’s necessary to evaluate the project from both sides — technical and business perspectives.
Basically, whether to modernize an application or completely rewrite it depends on the technical debt of an existing software. If technologies that had been implemented are completely outdated and it doesn’t make any sense to deal with modernization, then it’s better to opt for a rewriting option.

How to protect my software idea from being stolen?

We studied the question about “idea security” closely, so we can distinguish several ways that can help you to make sure your business idea won’t be stolen or copied and give you confidence in the future:

  1. 1. Prepare the NDA (Non-Disclosure Agreement);
  2. 2. Select protective measures and make your ownership public;
  3. 3. Check reliability of your partners;
  4. 4. Follow up all your arrangements, questions, and proposals about your idea over e-mail or messengers.
Should I hire a freelance software developer or a software company?

At some point, almost any business faces the need to develop a custom business solution to guarantee constant growth. If a company has sufficient funds and a team of experienced IT experts, it can afford in-house software development. But, in most cases, business relies on an outsourcing custom software development company due to various reasons.

Pros of Hiring a Software Development Company

1. Reliability
2. High quality of the final product
3. Scale your team with ease
4. End-to-end development process
5. Development companies are intended to build long-term relationships with clients
6. Diverse experience

Pros of Hiring a Freelancer

1. Low development cost
2. Availability
3. High flexibility
4. Good for small projects

What are the advantages and disadvantages of custom software?

Custom software is designed and developed according to the requirements of a particular client. Such apps are often not suitable for a broad range of users since they implement specific functionality.

Advantages:

  • set of features that you need
  • potential for business improvements
  • reliable support services
  • advanced security measures
  • software scalability

Disadvantages:

  • high development cost
  • time losses on requirements gathering
  • risk of hiring the wrong software development vendor
Should I own the source code for the application?

When you hire a software development company, it’s natural that the working application interests you first of all. It should meet your requirements, be convenient for the users, look attractive, and do the job it was created for without any issues. But it’s also crucial to pay attention to what lies beneath the surface: the source code. You don’t get the right to own the software source code automatically when you hire a development company. Pricing policy may differ from one company to another. Sometimes the source code is included in the price. But some companies asks the client to pay a premium for getting rights to the code. Since ownership of the software source code provides the ability to copy, sell, and modify it, you should not underestimate the issue of licensing.

Why pay attention to XB Software? What are the advantages?

XB Software provides services in the field of full-cycle custom software development since 2008. Our key values are client-oriented service and partnership approach. We assist in the idea elaboration, offer QA assurance and after release support. Our customers value cooperation with XB Software and see our company as a reliable partner that offers the most relevant solutions, designs the most effective systems within the budget, and completes the project in the agreed time frame. Our clients return in 9 out of 10 cases, because they are satisfied with the services we provide. You can check their sincere opinions about our work on such trusted resources, like Clutch and GoodFirms.

XB Software’s innovative approach is confirmed with Belarus High Technology Park Residence. Research and development (R&D) is conducted in Belarus and Poland with the use of advanced technologies in the custom software development. We also create our own products and have deep experience in such domains and spheres as Logistics, Real Estate, Enterprise, Information Technology, Manufacturing, Construction, Education.

The high-quality level of service is provided by a strong qualified team that continuously improves its skills in subject areas. XB Software have specialists with PMP certification and Ph.D. in IT (Computer Science), certified Node.js, React.js, JavaScript, Vue.js, Webix, and DHTMLX developers, as well as other qualified web specialists (including QA Engineers, Business Analysts, and Project Managers).

Read also How We Work to learn more about software development processes, contract types, and methodologies we use.

I have seen the examples of your projects in portfolio/marketing promotion materials/demos/case studies/any other source. I liked the specific implementation. Can I buy it?

Indeed, due to a good market understanding, the following of latest development trends, and considerable experience in providing best solutions for the domain, XB Software has many great examples of flourishing projects in the portfolio. All the cases are displayed with permission from the clients we were working with to showcase how great ideas can be turned into successful solutions.

Unfortunately, it’s not possible to buy these particular cases, but we have ready-made products, such as Webix and DHTMLX, that can massively enhance your project and speed it up. With our products and experience, we can help you to carry out the development process a lot faster and more efficiently. We can assist you in your project or develop a brand new solution according to your needs, including the one that you found impressive as a client, if this is your requirement.

Can the software be upgraded in the future as new technology becomes available?

It all depends on the area of a specific technology used in the development process and your requirements. Building product architecture is a scrupulous process of finding the optimal solution to meet current and future needs. XB Software has a wide technology expertise and relies on the functionality requirements, when choosing a technology stack for each specific application. We also take into consideration the customer’s plans for product evolution as well as various technology trends.

Depending on the customer’s request, whether it is the development of new applications or the refinement of old ones, we always find solutions to move forward. Thus, we have a number of projects that we have started long ago and successfully continue to manage using emerging technologies.

Which technologies, frameworks, and languages will you use to write my software or app?

XB Software is an outsourcing software development company that renders top-notch and cost-effective services in business analysis, UI/UX, web app development, and quality assurance. We can ensure that the whole process meets the designated code quality and standards.

Our technology stack covers but is not limited to:

Front End: JavaScript, TypeScript, ReactJS, Vue.js, Angular, Webix, DHTMLX.

Back End: Node.js, PHP/Laravel, .NET

Mobile: React Native, Flutter.

APIs: Facebook API, Google API, Yahoo API, Twitter

Cloud: Amazon, Microsoft Azure, Google Cloud

Data Visualization: HighCharts, D3.js, SVG, Canvas, WebGL

Maps Integration: Google Maps, Yandex Maps, OpenStreetMap (OSM), Leaflet Map, Here Maps, MazeMap

Databases:  MySQL, PostgreSQL, MongoDB, ArangoDB, SQLite, Redis, MSSQL, Oracle

Others: Apache Solr, Selenium WebDriver, Apache JMeter, Gatling, Elasticsearch

You can clarify if any non-listed technology belongs to our technology stack via a contact form.

Project Management
How long does it take to develop custom software?

Custom developed software can be considered as an implementation of a certain business strategy. Custom-made enterprise resource planning applications, data visualization tools, and business intelligence software have become an integral part of modern business. Such applications help to improve the efficiency of a company and make data-driven business decisions. Indeed, it is important to consider how long a particular stage of software development can take.

What does GDPR mean for the developed software?

Various regulators and governing bodies around the world have established certain standards in order to secure personal data and business-critical assets. General Data Protection Regulation Act (GDPR) is one of these regulations, and it protects the personal data of citizens of the EU. As a company that provides software development services worldwide, we are responsible to provide GDPR-compliant software, so that clients will be sure of having their personal data secured. When developed software collects, manages, or stores the data of EU citizens, XB Software ensures that it is GDPR-compliant. You can be certain that your privacy rights and user data are protected.

Why do software projects can take longer than planned?

When you apply for application development services, one of the main intentions is to get a competitive advantage in the market for your product or service. Using custom software, you can significantly improve the business processes that your company utilizes. Since the market does not stand still, the faster such software project is finished, the better for you. But the truth is that sometimes clients face the situation when software projects don’t follow the initial plan and take longer than expected. Thus, it is essential to consider the most common reasons for delays in software development life cycle and the impact of missing the deadline:

  • Poor Planning
  • Missing Software Requirements
  • Too Many Features to Be Implemented
  • Losing Key Members of Development Team
  • Technological Challenges
  • Communication Issues
Benefits of Outsourcing to Eastern Europe

The are many reasons why your business should outsource software development to the IT companies from Eastern Europe. Some of the key benefits are the following:

  • Skilled Talent Pool
  • English Proficiency
  • Cultural Similarities
  • Nearshore Proximity
  • Cost Cutting
Fixed Price vs Time & Materials contracts. Which one is better for my project?

There is no obvious answer, which type of contract is better. The closed nature of FP contract (from date of signing to date of project completion) requires customer’s confidence in product vision. In contrast, the T&M contract makes development process transparent, more efficient, and manageable. If during the project execution the customer discovers some trouble spots of the product, then the initial development plans can be changed to avoid spending money and time to implement a wrong development approach. But, sometimes, the budget is more important than the risks of not getting the best deliverable. So, when selecting a better contract, you need to think about the common project elements – budget, time, and deliverables.

How to estimate cost of the Fixed Price projects?

To find out all requirements, a Business Analyst discusses a project scope with stakeholders and then invites a technical specialist. Engaging a technical specialist at the decomposition stage leads to better and more accurate results.

The project is typically decomposed into smaller components called activities that represent the work to complete.

The activity list includes activity identifiers and the detailed description of work scope. These specified activities provide a basis for project performance at all stages: estimating, scheduling, executing and controlling.

When all the activities are defined, the Business Analyst and technical specialist sequence the activities using logical relationships and decide on a development path.

The determined and sequenced activities are estimated by the technical specialist and Business Analyst in work periods, usually days or hours.

During the project execution, the estimate allows measuring project progress against the time baseline and making forecasts.

After the estimate is ready, the project cost is calculated.

How much does custom software development cost?

The custom business application is the embodiment of your publicity and branding. So, whether your business is big or small, if you don’t have a proper software, it’ll be a hard task to achieve further growth. But what’s crucial is to define how much exactly the custom software application development costs.

Project cost estimation includes:

  • the scope estimation of work for a custom software development
  • the cost of QA processes for software development and testing
  • the cost of maintainability of software development life cycle
  • other factors that have the biggest impact on software development costs
What's the difference between ISO 27001/9001 certified companies and non-ISO companies in terms of customer satisfaction and organizational performance in IT industry?

The differences between various standards supplement each other increasing the efficiency of the IT company. The key aspect is that non-certified organizations experience substantial loss of effectiveness and productivity compared to certified firms. By implementing the 9001 and other standards, the organization can increase the customer satisfaction, create a continuous improvement culture, reduce the costs, and achieve additional market opportunities.

As a client, you can be assured that all your requirements, stated and implied, will be followed and the final product will be delivered on time. The 27001 standard guarantees that all your business information will be secured and your clients’ data will stay confidential.

What is, in brief, a process of a customer-executor interaction starting from request to project acceptance?

After we get a request, our specialists contact the client for the clarification of project details. When carrying out a project evaluation, we always take into account the requirements of the client in terms of time and budget, offering the best solution within the established framework.

Depending on the amount of work, the client’s needs, the uniqueness of the requirements for functionality, and the availability of documentation, the Time & Materials, Budget with Float Scope, or Fixed Price contract is chosen. XB Software also offers a guarantee of information protection from a third party by signing an NDA per customer’s request. If the client has got in-house developers, we can offer them the IT staff augmentation services.

When both parties are content with the conditions, we offer the signing of an agreement by email. The work is usually divided into 2-4 week sprints, and the client pays only for accepted results. After the work is completed, the entire warranty period and the bug-fixing is at our own expense.

How to distinguish between outsourcing and outstaffing? How do these practises correlate with a project?

Outsourcing means a transfer of certain types or functions of a production business activity (on the basis of a contract) to another company operating in the desired area. With the IT sphere evolution, software development outsourcing has spread significantly. Outsourcing may be carried out as an individual service of the development process (ex. UI/UX design, quality assurance, etc.) or as the development of entire projects. Depending on the goals, Fixed Price or Time and Materials contract may be used.

Outstaffing can be considered as a special case of outsourcing when the client’s company leases the working hours of the required specialist. It is a type of remote employment when a hired person carries out all the job duties while being officially employed by another company. This form is common with limited labor resources with certain expertise or in a narrow specific area. At the same time, the employee stays at their workplace and performs their duties remotely, as a rule. Outstaffing contract has got a cutoff date. It’s common that an outstaffed expert is contracted for a project and is closely integrated into a team. The contract may imply the following: schedule, safety rules, working time accounting systems, and any other corporate systems, NDA, or any other rules that operate on the territory of the client’s company. Outstaffing can be both full and part-time.

How do you guarantee product quality?

At XB Software, we pay close attention to product quality. Integration simplicity, bug-free performance, speed of work, clean code, system stability, and compliance with the requirements are our standards. We also define the most important quality criteria for the customer from the start and pay special attention to these criteria.

To guarantee the end-product quality, we start testing from the very beginning of the software development life cycle and implement it on every stage.

At the requirement gathering and analysis stage, the requirements specification is tested. At the design stage, the prototype is tested to make sure it aligns with business requirements. Also, the prototype usability audit is implemented to guarantee the product is user-friendly. At the development stage, unit testing is performed in order to check all the small testable parts (units) of your software for proper operation. During the integration testing, units for proper integration are checked as well. As for the testing stage, before the release, we ensure that user interface, cross-browser, cross-platform, and stress testing are fulfilled. System testing is carried out during each build and the release stage includes alpha and beta testing of the product.

A customer also has got an acceptance period and warranty period when all the bugs found are fixed for free.

How can I be sure you work at my project as much as you declare?

Time control question is actual for the Time & Materials contract, while for the Fixed Price option, the client accepts the contract price at the signing stage.

At XB Software, we strive for maximum transparency for a customer in the development process control. For T&M projects, in general terms, we split the process of software development on an understandable amount of work with reasonable time frames.

At the end of a time frame, reports on work results and spent time are provided to a client. In the reports, a customer sees all development hours spent during the stage by specialists and tasks they’ve performed during this frame. On a customer’s request, more detailed timesheet on a concrete specialist may be provided if needed.

Why I need a PM in a dedicated development team?

A Project Manager is the one who is responsible for the whole project’s success. For a client, who asked to develop a tailored solution and came to a software development company for outsourcing, Project Manager is one of the most important team members. The reason is that throughout the work they need to interact closely. It is no longer required to control the entire team personally. Also, there is the only one responsible manager who knows absolutely everything that happens with the project. Besides that, PM has all the necessary knowledge and skills to effectively and efficiently lead the entire team to success.

QA and Software Testing
Why QA should be included into your software development cycle?

A successful launch of a software product is a more valuable goal than high development speed or low costs. Therefore, software testing must be included in every step of the software development process. In consideration of the complexity of modern software, it’s hard to imagine a situation when development can do without any tests at all. Nevertheless, sometimes there are cases of unsuccessful application launches caused by the wrong approach to the testing process. The reason is simple. Software development companies might include QA into the overall process just as a separate phase of the project, which is isolated from other stages of development.

How early testing affects the product cost?

Since the complexity of the IT infrastructure increases, due to the overall number of the integrated systems, the need for software testing grows respectively. On the other hand, almost all companies aim to reduce software release time. That’s why the extension of the software life cycle due to the increasing testing phase is perceived negatively. Sometimes, it can lead to partial or even full refusal from testing which, in its turn, leads to the significant decline in the quality of IT services.

Neglect of software testing causes the following consequences:

  • reduced product quality (a prime cause of all the other implications)
  • the constant growth of indirect costs for quality assurance due to software defects that appear during the exploitation period
  • loss of customers who do not want to use low-quality products
How much does the software testing cost, and what am I paying for?

The main issues the clients are excited about while ordering software testing are as follows:

  • what types of testing should be implemented for the working out product to make sure it is of high quality
  • how much each type of testing costs
  • how to track the work performed by QA department to understand what the money is paid for

The benefit of the QA implementation lies in complete testing coverage within the stipulated requirements. For example, our skilled QA team carefully studies the provided product and make a comprehensive testing plan disclosing all types of testing a product will undergo. It includes:

  • the creation of test documentation
  • load testing and automation of testing
  • safety testing
  • usability audit
  • teh development of a testing report with a set of recommendations