Industrial standards are the focus of discussions that have arisen multiple times within the IT outsourcing community. Without comprehensive and clear standards, we cannot acknowledge the best contractors. Neither can we stabilize our highly volatile market.
Considering the fact that IT outsourcing is an international industry that involves enterprises and contractors from all over the world, having only locally acknowledged standards is not enough. There are obvious legal issues that prevent productive collaboration in our industry.
For example, when an enterprise based in the UK outsources some business process abroad, they often risk getting scammed. The issue is that some UK laws may not be recognized in Russia, India, Poland or any other country for that matter.
Legal issues are simply the only reason for international industrial standards to exist. Admittedly, the IT outsourcing industry is fairly young and many quality and managerial standards are still far from being perfect. We are still struggling with creating the best acceptance testing methodologies. There are issues with general terminology.
To top that all off, we have to acknowledge certain issues related to technology. Both our clients and we need to understand what technology standards are recognized as the best by the industry. Joint control over technological aspects of outsourcing is crucial for modern business relationships. Again, we have to refer to generally accepted international standards.
There are many important international standards that are essential for IT outsourcing. Let’s talk about these standards and how they make outsourcing development services better.
Outsourcing operations must be placed in the hands of professional service providers! Your future is at stake!
Guidance for the outsourcers – ISO 37500:2014
First of all, we need to recognize that IT processes and software development are not the only outsourceable business processes. However, many companies prefer to operate internally those business processes that they are familiar with and move other processes to outsourcers. Generally, such processes are related to the IT industry and software development.
Nevertheless, there is a plethora of other important business processes that can be outsourced in order to standardize outsourcing in general. In November of 2014, the international standard for outsourcing was accepted. We call this standard ISO 37500:2014 “Guidance on Outsourcing”.
This standard has clear goals and offers both the clients and the contractors common terminology, simple outsourcing guidelines, and suggests suitable solutions for arranging healthy outsourcing contracts. There are many important areas of contractual relationships that this standard covers. However, we want to highlight two important issues that often make IT outsourcing contracts problematic.
- Issue #1—Business requirements. Frequently, the parties entering a contractual relationship fail to recognize how to specify the subjects of the contracts. The ambiguity leads to critical misunderstandings and breaks many outsourcing arrangements. ISO 37500:2014 enables clearer communication and forces us to discuss various business requirements until both parties fully understand them.
- Issue #2—Acknowledging risks. Whenever an enterprise outsources some of its business processes, there are inevitable operational and financial risks. Unfortunately, many enterprises fail to recognize such risks and question the very way we structure our typical contracts that factor in risks characteristic to our industry.
ISO 37500:2014 successfully addresses these issues. Obviously, we need to search for specific answers ourselves, but the general guidelines certainly help in building robust consensus. If your outsourcing partner recognizes this standard, the contracts will be more clear. You will have a better understanding of how you can supervise these relationships. Notice that this standard accounts for all parties that can be involved in outsourcing arrangements including stakeholders, service providers, and clients.
The best outsourcing development services and IT outsourcers usually adopt the ISO 37500:2014 standard. It is decidedly advised for any participant of outsourcing arrangements to study this standard deeply.
The standard for developers – ISO/IEC 12207:2008
If you plan to outsource software development, you need to ensure that your service provider recognizes this international standard. ISO 12207:2008 focuses on establishing a comprehensive and understandable environment for software development cycles. This standard defines commonly accepted terminology and allows cross-referencing within our industry.
This standard enables both clients and contractors to clearly understand how a software product should be managed, developed, supplied, deployed, and maintained. ISO 12207 covers all types of software. Notice that many technological processes related to managing software, regardless of whether they are performed internally or externally, are also covered by this standard.
ISO 12207 defines six critical lifecycles of a software product. It is crucial to recognize all of them and understand the core principles of acquisition, supply, development, maintenance, operation, and even destruction. However, the standard can be used partially depending on the type of activities you are most interested in. For example, you can refer specifically to this standard during software development.
The standard specifies what development is. During this stage the software product is being planned, designed, developed, and tested. The result of this process is the product that can be sold to the customer. The standard specifies activities that accompany the development phase and allows both the client and the contractor to understand more clearly the purpose of their outsourcing arrangements.
A non-removable portion of this standard is testing and that is also something worth mentioning. Many problems that arise during the acceptance phase are as a consequence of ambiguous definitions of tests, their results and their conditions. This leads to incomplete testing and boring acceptance tests.
Be sure to acquaint yourself with this standard and check if your contractor employs it. ISO 12207:2008 is a commonly accepted fundamental international standard for business arrangements related to software products. This standard is equal to IEEE 12207. Do not be confused if your contractor employs this standard instead of ISO 12207—as mentioned before, the standards are equal and operate with the same terminology.
Keep things secured – ISO/IEC 27018:2014
With so many modern applications offering their own public clouds or collaborating with Amazon or Google, we need to focus on protecting Personally Identifiable Information (PII) that can be used in clouds. This is a very important issue for the industry and we have to address it properly. This specific standard is only a part of ISO/IEC 27017 that covers a much wider range of security issues related to cloud computing. However, we feel that it is important to highlight this standard as it is often crucial for software development projects.
Oftentimes, specialists refer to the group of international standards related to various security issues as “ISO27K”. This whole set of standards focuses heavily on various aspects of cyber defenses and methods of data protection. We highly recommend you to study this group of standards if you want to outsource any of your IT processes.
It is imperative to recognize that all IT processes are related to using, storing, and accessing data. Modern outsourcing development services should be provided by competent contractors that can guarantee certain level of protection. This is crucial for the very survival of any enterprise that wants to incorporate innovative methods of interacting with its clients.
The level of protection is guaranteed by complying with international standards that specify how data should be protected and what methods one should use to ensure intelligent protection. With the amount of cloud-based technologies increasing, specific security standards become even more relevant than ever before.
Engineers should comply – ISO 15288:2015
This is a standard that was recently updated and addresses multiple aspects of designing and building sophisticated engineering and software systems. The main goal of this standard is to ensure customer satisfaction. The standard defines terminology and describes activities related to any of a system’s cycles. At the same time, ISO 15288 ensures that the stakeholders are involved in managing the whole process of building the engineering system.
Many software products can be recognized as complex systems and many hierarchical engineering systems are based on a fundament made of interconnected software products. This is why we have to refer to this standard when creating software for our enterprise clients.
This standard ensures that the systems we build have important features that are accepted as necessary by the majority of the industry specialists. While the architectures of the systems are specified in ISO/IEC/IEEE 42010, many specific activities related to actually developing, implementing, and maintaining various software solutions are defined in ISO 15288.
Quality requirements are vital - ISO/IEC 25010:2011
This is probably one of the most important standards that both enterprises and contractors need to recognize. When we talk about outsourcing development services, we have to discuss what quality standards should be provided by the contractor and accepted by the customer. Removing ambiguity from the very process of quality acceptance is a crucial part of creating successful outsourcing arrangements.
ISO/IEC 25010 defines specific outcomes of interactions. These outcomes determine whether the product serves this specific purpose. The context of use is very important for defining if the product meets the quality requirements specified by the contract. One of the best things about this standard is that it can be applied to both software systems and computer systems.
There are multiple aspects of software development that can be separately evaluated and identified. This also means that the term “quality” is multi-dimensional and can be applied to various development activities and product features separately. Such an approach allows us objectively to judge the software product and determine its level of quality. Simultaneously, the standard evaluates whether the requirements are reasonable and can serve as a model for measuring the quality of the product.
Here are the quality models used in this standard:
- Evaluating and defining software requirements;
- Evaluating the clarity and integrity of said requirements and their definitions;
- Evaluating and describing project design and testing objectives;
- Defining quality control criteria and quality assurance methods;
- Defining acceptance criteria and acceptance testing activities;
- Defining measures of quality.
This standard addresses crucial aspects of software development. There are many strong software developers. However, many contractors fail to deliver a high-quality product simply due to insufficient testing, and poor acceptance testing in particular. ISO/IEC 25010:2010 addresses the methods and measurements that we need to apply during quality assurance processes. Specifying acceptance criteria is also reasonable and helps to build a consensus between the developers and the stakeholders.
Keep your management efficient – ISO 10006
ISO 10006:2003 is a set of guidelines related to quality management in various projects including, but not limited to, software development. This standard was developed and presented by the International Organization for Standardization. One of the core developers of this standard is PMI (Project Management Institute).
ISO 10006 specifies multiple rules and suggestions that should be used for quality management in various projects regardless of their complexity, size, and budget. While this standard is not an actual collection of rules, but a compilation of reasonable suggestions, commonly accepted terms, and recommendations, if your contractor uses this standard, you can expect high quality products and calculated project management.
Another important international standard created by PMI and acknowledged by ANSI and ISO is “Project Management Body of Knowledge”. This is a comprehensive book that includes standardized terms and general guidelines for project management. For any software developer it is imperative to know how to manage the project and deliver high quality products. This standard basically covers the most efficient project management practices and allows both contractors and customers to share the same knowledge and terminology related to managing complex projects.
The standard is included in multiple ISO and ANSI standards. We highly recommend you to study this book extensively. This is very good reading on top of being a recognized industry standard.
There are numerous industry standards that we need to follow in order to ensure that our collaboration with clients is transparent and comprehensive. If we are to provide solid outsourcing development services, we simply must live up to the standards determined by the best specialists and tested with time.
All of the above is just a list of standards that we believe are worth mentioning and talking about. However, more standards exist and some of them address very specific issues. There are more than twenty distinct standards related just to digital security. In order to pick the best contractor, ensure that they use those standards that are relative to your specific project.