The name of the base system (platform): | IBM Rational |
Developers: | IBM |
Technology: | Development tools of applications |
Content |
IBM Rational Jazz is an open and scalable platform from IBM Rational which provides to the development team distributed geographically and which is in different temporary zones, convenient means for the organization of effective process of team work. It at the same time both technology, and the platform for software development which does process more open and transparent. From the conceptual point of view, IBM sees Jazz in three aspects - technology, a view of IBM of how software development in the future and evolution of the IBM Rational portfolio will be performed. The Jazz platform is the main investment of IBM into creation scaled, expanded a system on management of lifecycle of software which integrates modern technologies and instruments of team work with traditional development tools.
First of all, Jazz allows to lift interaction in commands to new level due to use of Web 2.0 of technologies, to minimize costs and to increase quality by automation, and that is especially important, provides the transparent relevant reporting on the course of the project, utilization of resources. Besides, Jazz technologies allow the companies to build the heterogeneous systems for software development, providing flexibility in the choice of development tools for the organization and management of lifecycle of product development depending on needs and financial opportunities of the company.
Among key aspects of technologies of the Jazz platform, perhaps, it is possible to select the following:
- Team work - to provide information transparency of commands for cooperation
- Automation - to automate routine tasks due to convenient processes and means
- The reporting - to provide up-to-date information about projects and utilization of resources.
- Quintessence of the principles of team work which is implemented by the Jazz platform, - to improve knowledge and to consolidate experience and skills in the environment developing the personality and command spirit.
Business motivators of use of subcontracting
For the last 20 years in the IT industry two important trends were shown:
- First, the organizations which are intensively using information technologies were realized that these technologies are a key factor of their activity and at the correct management can bring the organizations considerable benefit.
- Secondly, full or partial translation of processes and services of IT infrastructure on subcontracting became normal. Software development is one of those IT processes which were transferred to such model most often in recent years.
Software development on subcontracting can be defined as complete or partial transfer of function of software development to the external supplier of services or subcontractor. The subcontractor is an external organization which is engaged in development and service of applications for the clients (contractors), helping them to reduce costs and to get access to better resources thanks to the experience and knowledge. Responsibility for an end product is born by the company for which subcontractors and therefore it owns work and manages development process.
It agrees Sekhey (Sahay), etc. (see the section Resources), software development on subcontracting has the features selecting it from other types of subcontract works in the IT area as it includes physically intangible artifacts estimated on subjective properties, such as efficiency of algorithms, convenience of the user interface, performance and scalability ("the design and software development never come to an end").
Situations in which subcontracting is used are very various. The simplest model is placement of subcontractors at office of the contractor. In more difficult situations for reduction of expenses subcontractors because of the ocean can be attracted (for example, from China or India). In certain cases subcontracting is applied only in a certain part of a development cycle of software because the subcontractor has unique or highly specialized experience (for example, services of testing), and in extreme situations the contractor can transfer development and control of all product to one or several subcontractors exercising development and project management on the principles of outsourcing.
As shown in figure 1, depending on a specific situation within this range of the company can manage the models of software development differently.
In article these types of models are unified and classified by several parameters (for example, location of resources of subcontractor, software development areas transferred to subcontracting, duration of contracts, the size of the companies subcontractors). The location is the most widespread method to differentiate types of subcontracting, and in the industry the following concepts characterizing different models are used:
The hired developers working in the company
All developers work in the company. It is the most expensive model requiring assignment for salary, the organization of jobs and the equipment. This model is not considered in our article.
Intra country (onshore) subcontracting
Contracts for subcontracting are signed between the companies in one country.
Border (nearshore) subcontracting
Subcontract works are conducted in the countries with related culture and close geographic location, as at the USA and Canada or Great Britain and Ireland.
Offshore (offshore) subcontracting
For accomplishment of some or all business functions the external organizations which are in far-away countries are employed.
The offshore model can give essential economic advantages (for example, work with the Indian companies can reduce costs for labor power for 40-60 percent, and in the Indian IT market there are a lot of highly skilled professionals). However it is necessary to study all project to define real economy as problems of interaction can reduce an expected profit.
Many companies still apply hybrid model to expense reduction and use both external labor resources, and own developers, thereby reducing risk thanks to accomplishment of certain key works with forces of own department. Offshore development is the largest trend in the POE industry now.
The term "subcontractor" is defined differently. Some authors entered the concept "software factory" ("software factory") for a situation when software development is delegated to the independent and high-performance companies.
Fast development of model of software development on subcontracting answers mainly the following technical and business requests:
- Reduction of expenses and increase in flexibility of selection of resources depending on requirements.
- Attraction of knowledge of the specialists who are absent in the company.
- Increase in process performance thanks to concentration of efforts on primary activity.
- The permanent evolution of technologies forcing the companies to change constantly.
Flexible reaction to market changes is extremely important for success of the company. Subcontracting becomes a key factor of implementation by the companies of necessary flexibility in the development area.
Though there are no rules or the politician concerning decision-making on transfer of software development on subcontracting, subcontracting should be considered as the possible solution only in mid-size companies as it is important to plan the extra time and resources necessary for communication and interaction management with subcontractors. There can be also exceptions, for example, when the small company needs to attract the highly skilled resources which are absent at it on subcontracting.
Transfer on subcontracting of development process of software is an irreversible trend. The companies realize great value of software as a strategic component of the activity, and subcontracting allows them to concentrate on business objectives, but not on technical activity that significantly reduces costs for labor power.
Advantages and shortcomings of subcontracting
Different forms of software development on subcontracting will be used further at the enterprises trying to reduce costs. However many subcontracts do not give the expected result and lead to problems both at contractors, and at subcontractors. Researches showed that more than a half of subcontract works do not achieve the financial goals and save less means, than it was supposed. Only those companies which have a set of the corresponding effective processes for management of subcontract works get competitive advantages and achieve success at implementation of this model.
Main advantages of software development on subcontracting are expense reduction, flexibility, technical specialization and reducing time-to-market. But subcontracting also bears the new risks and the hidden expenses which are absent at traditional software development by own forces. The most serious risks are listed below:
- Inadequate planning and change of procedures of management that can delay time to market.
- Lack of the guide of project implementation.
- Lack of the commonly accepted standards of exchange of assets of software development between the contractor and subcontractor.
- Problems of remote connection to the general repository of assets.
- Confidentiality of intellectual property.
- The bad interaction caused by time difference, geographical remoteness, cultural and political distinctions.
- Additional expenses on trips and remote conference communication.
- Discrepancies between the expected and actual result.
The existing literature on software development on subcontracting for management of new risks and the solution of new tasks suggests to use different techniques and infrastructures (some of which are used also in traditional development by own forces). Software development on subcontracting requires permanent observance of rules and formalization, however fast changings of technology and the lack of qualification of new knowledge domains connected with it interferes with it that increases risk of failure.
Many authors recommend to follow the classical CMM model (Capability Maturity Model), more complete SA-CMM model (Software Acquisition Capability Maturity Model), processes of PMI (Project Management Institute), ISO standards 9000 or Six Sigma. The most common now process is SA-CMM, but in the market there is no well-defined standard of the organization of effective work with external suppliers of services of software development.
Approval of processes of the company (or the contractor) and subcontractor can become a vital issue. If they adhere to different standards or use different infrastructure or work benches, it can have an adverse effect on performance. Processes and work benches need to be adapted for each company or the project.
All these problems require creation of the general worker and a business environment for management of work with external subcontractors and reduction of the hidden expenses and risks.
Advantages of use of the Jazz platform to joint work
Existence of clear infrastructure and process of the management at subcontracting is an important factor of increase in profitability. Otherwise subcontracting can become ineffective and even unprofitable.
Both contractors, and subcontractors need to change and adapt the current processes and work benches for effective synchronization. It is necessary to implement the general development environment for improvement of the following aspects:
- Joint work and interaction between contractors and subcontractors.
- Automation of tasks and delivery from different geographical points at smaller costs, smaller resource requirement and at the same time more effective and fast adaptation to new requirements and technologies.
- Creations of reports by means of shared dashboards and the general indicators for observance of standards and correction of deviations in development.
The platform of delivery of software at joint work of IBM® Rational® Jazz™ helps to improve work with subcontractors and to solve the problems described above.
The Jazz technology which is ideal for the global and distributed development teams changes methods of collaboration in creation of software, doing process of creation of software more effective and transparent. Jazz can be imagined as the expanded infrastructure which dynamically integrates and synchronizes people, processes and assets which are connected with projects of software development.
The Jazz platform allows to implement joint work of the interested participants of business, experts in the field and all who participate in creation and delivery of software, and not just professional developers. It represents transformational jump concerning software development on subcontracting as improves joint activity in the context of development, automates problems of development and also creation of reports and the management of the groups working in different places as shown in figure 2.
Jazz is founded on the architectural principles which are completely differing from the approaches accepted earlier. Unlike the monolithic closed products of the past Jazz uses the innovation approach to integration based on open flexible services and Internet architecture. The software products created on the Jazz platform use a rich set of opportunities for team development and delivery of software. More detailed information on the Jazz platform is placed on the Website jazz.net.
The Jazz technology provides four-level infrastructure for management and improvement of software development in interaction with external suppliers, as shown in figure 3 and is described in the following sections.
Figure 3. Four-level model of the Jazz platform
IBM Rational Jazz provides the basic infrastructure principles for interaction with remote jobs using protocols of http/https, Web 2.0 technology and services of joint work in real time.
As shown in figure 4, all interactions between the contractor and subcontractors are performed under standard protocols of http/https.
Level 2. Deliverable assets
Jazz implements the central repository for simplification of exchange of assets between contractors and subcontractors. Thereby the general mechanism of interaction, cycles of confirmation and the analysis, automatic notifications and a method of standardization of deliverable artifacts of software development, as shown in figure 5 are provided.
Figure 5. Level 2, deliverable assets of Jazz
Level 3. Development automation
The products of IBM or other suppliers created on the Jazz platform or integrated with it help development teams to automate process of creation of assets of software development. For example, IBM® Rational® Requirements Composer will help analysts with determination and requirements management, IBM® Rational Team Concert™ will help developers with creation and deployment of assets of the source code, IBM® Rational® Quality Manager will help testers with creation of artifacts of testing in the form of control tests and test cases, and such work benches as BM® Rational® Software Architect and IBM® Rational® Developer for System Z®, will help developers to increase performance and quality of the source code. In figure 6 the different components expanding functionality of Jazz and promoting process automation throughout all software development cycle are shown.
Figure 6. Level 3, process automation
Level 4. Management and indicators
The Rational Jazz technology and products created based on this platform automatically provide high-functional dashboards with the reports and indicators updated in real time. It helps both contractors, and subcontractors to manage a status and promotion of projects of development in real time, as shown, for example, in figure 7.
Figure 7. Level 4, management and indicators
Taking into account these levels the table given below in which the detailed analysis of how the Jazz platform can help the companies to mitigate problems of subcontracting is given is made and to reduce the hidden costs described in the previous sections. Also additional organizational and operational changes which the companies should carry out for successful use of model of subcontracting are analyzed.
Conclusion
The popularity of software development on subcontracting grows, but this area was not issued finally yet. Economic advantages, such as reduction of labor costs and faster reaction to market changes, do it very attractive.
Quickly developing types of subcontracting, from placement of third-party resources in the territory of the company to difficult delivery patterns, provide to the companies strategic advantages. But at the same time there are complex problems of interaction and management.
Without the general processes and infrastructure of software development use of subcontracting instead of an expected profit can easily yield losses. In this article use of a technology platform of IBM Jazz as the general infrastructure for risk reduction, arising at implementation of this new model of software development is considered.
You monitor further articles on these subjects in which use and adaptation of the separate work benches working at the Jazz platform for improvement of work with subcontractors will be considered in detail:
- Setup of a template of process in Rational Team Concert for process control of software development with external suppliers of services.
- Application of Rational Quality Manager for testing factory management.
- Application of Rational Requirements Composer for determination and requirements management in subcontracting model.
- Use operational and business indicators for monitoring and assessment of software development on subcontracting.