Frequently Asked Questions - XB Software

F.A.Q.

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

Recent Projects
Software Development
How to choose a software development firm?

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

What is expected of customer in a software project?

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

The phase of requirements gathering 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.

How to protect your software idea from being stolen?

Closely studied the question about “idea security”, we can distinguish several ways that could help to make sure your business idea isn’t stolen or copied and to give confidence in the future. You should:

  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
What are the pros and cons of custom software development?

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

Advantages:

  • tailor-made apps / personal software development process
  • cost minimization in the long-term
  • maintenance ability in the long-term
  • integration capability
  • qualified support

Disadvantages:

  • development and verification cost
  • programming and debugging time
  • unfair software development provider, low quality of IT services
Should the customer 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 for the customer?

XB Software Ltd. provides services in the field of full-cycle custom software development since 2008. Full-cycle means working in SDLC (Software Development Life Cycle) framework, starting from the idea elaboration, ending with QA assurance and project after release support. Our customers evaluate cooperation with XB Software Ltd. as a reliable company that offers the most actual solutions, design the most effective system within the budget and complete the project in the agreed time frame. XB Software Ltd. key values are client-oriented service and partnership approach, which is confirmed not only by high customers estimates on trust resources like Clutch and GoodFirms, but also by the share of returning clients that is 9 out of 10.

XB Software Ltd. innovative approach is confirmed with Belarus High Technology Park Residence, practicing of advanced technologies in the custom software development, creation of our own products and deep experience in complicated domains and spheres: Logistics, Education, Business Services, Financial Services, Information Technology.

A high level of service quality is provided by a strong highly qualified team, as well as continuous development in its subject area. XB Software Ltd. staff are specialists with PMP certification and Ph.D. in IT (Computer Science), certified Node.js, React.js and MongoDB developers, and other qualified web specialists (including QA engineers, business analysts, and project managers). The company arranges the popular in Belarus meetups and hackathons for web developers contributing to the development of the information technology sphere.

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

XB Software is a full-cycle custom software development company. Full-cycle means working in SDLC (Software Development Life Cycle) framework, starting with planning and ending with maintenance. Certainly, there are solutions for different spheres that XB Software is proud of: in Logistics, Education, Business Services, Financial Services, Information Technology (see section Solutions).

XB Software Ltd. has got considerable experience in these mentioned areas: good market understanding, development trends, the best solutions for the domain, all the necessary technical competencies, and specialists with the proper skills.

We can apply previously developed features to build up a new system out of ready-made blocks that work one way in the same spheres. Thanks to this approach, the development is carried out faster, as the groundwork was fulfilled earlier. Still, the result of our service as a custom software development company is soft that is developed under the customers’ requirements. Any solution can be implemented, including the one that impresses you as a client, if this is your requirement.

About taxes in the pricing

Since XB Software Ltd. is the resident of the High-Tech Park in Belarus, it is subject to the rules governing its activities, including taxation. According to them, the company doesn’t pay a value-added tax and doesn’t include it into the pricing. All tax transactions must be subject to the tax regulation of the country where the other party (Сustomer) is a resident, taking into account that XB Software Ltd. as a contractor doesn’t pay VAT.

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

XB Software has got a diverse technology stack which is used for software development in various сombinations for each specific project. The issue of obsolescence of technologies used in the soft is very relevant. The answer to the question if the software will be upgraded as new technology appears will lie in the area of a concrete technology future development.

A product architecture building is a scrupulous process of finding the optimal solution to meet current and future needs. Choosing a technology stack for each specific application, we rely on the application functionality requirements, which the customer puts forward right now, on his limitations. In doing so, we also take into account the customer’s plans for product evolution, trends of the industry, as well as global technology trends.

Regardless of the customer’s request to XB Software, – either the development of new applications or the refinement of old ones – we always find solutions to move forward.

As an example, we’ve got a number of projects that we started more than 10 years ago and successfully continue to develop now using new technologies.

What technologies, frameworks and languages you will 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:

Frameworks: ASP.Net, ReactJS, Microsoft .NET Framework, Laravel Framework, Vue.js, Entity Framework, Apache Cordova, ASP.NET MVC, LINQ.

Tools: Node.js, Webpack, Canvas, Selenium, Puppeteer, Phantom.js.

Libraries: HighChartsD3.js, OpenLayers, Redux, Webix, WebGL, Underscore.

Languages: C#, JavaScript, PHP, SASS, HTML5/CSS3, SCSS, SVG, XML.

Databases: MySQL, PostgreSQL, MongoDB, SQLite, Redis, MSSQL, Microsoft Access, ArangoDB.

Application/Web servers: Nginx, Oracle, Apache Solr.

Technologies: BlockChain, WebRTC, Web Socket.

Operational systems: Android, IOS, Windows Phone.

Map services: Google Maps, Yahoo! Maps, Yandex Maps, Here Maps, OpenStreet Map (OSM), Live Search Maps, Leaflet Map, MazeMap.

Testing: Selenium WebDriver, Apache JMeter, Gatling.

Others (services, protocols, platforms, etc.): Azure, WordPress, SOAP, Amazon, JSON, WHMCS, SCSS Preprocessor.

You can clarify whether any nonlisted technology belongs to our technology stack via a contact form.

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 speed of development or low costs. Therefore, software testing must be included in every step of software development process. In consideration of the complexity of modern software, it’s hard to imagine a situation when development process 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
The cost of software testing, or what the client pays 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 is each type of testing and how to track the work performed by QA department to understand what the money is paid for.

The benefit of 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 this product will undergo. It includes:

  • creation of test documentation
  • load testing and automation of testing
  • testing of safety
  • usability audit
  • development of a testing report with a set of recommendations
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. In this article, we’ll consider how long a particular stage of software development can take.

Is the developed software GDPR compliant?

General Data Protection Regulation (GDPR) is a new regulation law the main point of which is to define the rules that should be followed by each EU company that works with personal data of its clients. It will enter into force on May 25, 2018, and will require business organizations to protect the personal data and privacy of EU residents. The reason why it should not be ignored is that non-compliance will cost companies a lot. This new set of regulations affects all stages of software development life cycle. To avoid undesirable expenses and become a GDPR compliant company, each business owner should understand what personal data is and how it should be collected and stored.

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. In this article, we’ll 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
How IT outsourcing to Belarus can save your money?

The reasons why your business should outsource software development to Belarusian IT companies are:

  • similar timezone and good outsourcing company location
  • cultural compatibility
  • proved educational background of IT specialists and high qualification
  • fluent English
  • lower rates
  • high standards of confidentiality
  • government fiscal relief
Fixed price vs time & materials contract. 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, TM contract makes development process transparent, more efficient and manageable. If during 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 project elements – budget, time, deliverables.

How to estimate cost of fixed price projects?

The estimation process is following.

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.

When the estimate is ready we calculate the project cost

How much does custom software development cost?

The custom business application is the embodiment of your publicity and branding. So, whether your business 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 price.

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
Should I hire a software developer or a software company?

Almost any business at some point faces the need of developing a custom business app to guarantee constant growth. If a company has sufficient funds and a team of experienced IT experts, it can afford in-house software development. Such software is produced by a company to use it within the specified organization with its own requirements, goals and specific working features. But in most cases, business relies on custom software developer.

Advantages of Hiring a Freelancer

  1. 1. Low Development Cost
  2. 2. Availability
  3. 3. High Flexibility

Disadvantages of Hiring a Freelancer

  1. 1. Limited Skillset
  2. 2. Quality Assurance
  3. 3. Poor Project Management
  4. 4. Lack of Maintenance
  5. 5. No Guarantees

Pros of Hiring a Software Development Company

  1. 1. Reliability
  2. 2. High Quality of the Final Product
  3. 3. Continuity of Software Development Process
  4. 4. Cutting-edge Technologies and Standards
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 different 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 from the moment of request to the result acceptance?

After an inbound request comes to XB Software Ltd., our specialists contact with the client for clarification of project details. The NDA signed by the two parties is a guarantee of information protection from a third party. Depending on the amount of work, the client’s wishes, the depth, and uniqueness of understanding the requirements for functionality, the availability of documentation, the Fixed Price or Time&Materials cooperation option is chosen. XB Software Ltd. is a full-cycle company, and we can provide all the necessary specialists to work on the project. However, if the client has got in-house developers, only missing roles to work in a common team can be offered. When carrying out a project evaluation, we always take into account the wishes of the client in terms of time and budget, offering the best solution within the established framework. The start of work begins with the signing of an agreement by email. Work is usually divided into 2-4-week stages. We perform the steps, and the client pays only for accepted results. After completion of the work, the entire warranty period, the bug-fixing is for our own expense.

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

Outsourcing means a transfer by an organization, on the basis of a contract, of certain types or functions of a production business activity of another company operating in the desired area. With the IT sphere evolution, software development outsourcing has spread. Outsourcing may be carried out as separate parts of the development process, ex. UI/UX design, quality assurance, etc., as well as outsourced development of entire projects. Fixed Price or Time and Materials contracts may be used for this depending o the aim. Outstaffing can be considered as a special case of outsourcing when the client company leases the working hours of the required specialist.

Outstaffing is a type of remote employment when a hired person carries out all the job duties for a client сompany 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 his workplace, one performs his 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, any other rules that operate on the territory of the client company. Outstaffing can be both full and part-time.

How do you guarantee product quality?

At XB Software, we pay much attention to product quality. Integration simplicity, performance, speed of work, clean code, system stability, compliance with the requirements, absence of bugs are a standard. But we also define from the start the most important quality criteria for the customer. And we 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, prototype testing is a dive into the project to make sure it aligns with business requirements. Also, the prototype usability audit is implemented to guarantee the product will be user-friendly. At the development stage, unit testing checks all the small testable parts (units) of your software for proper operation. Integration testing checks units for proper integration. At the testing stage, before the release, user interface, cross-browser, cross-platform, and stress testing are fulfilled. System testing is carried out during each build and the release stage as 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 Time&Materials contracts, while for Fixed Price contracts, the client accepts the contract price at the stage of a contract signing.

At XB Software, we strive for maximum transparency in the development process control by a customer. 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 customer. In the reports, a customer sees all development hours spent during the stage by specialists and tasks they’ve performed during this frame. By a customers 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, a project manager is one of the most important team members on the project. 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, a person with a PM role has all the necessary knowledge and skills to effectively and efficiently lead the entire team to success.