7.3. Advanced software contracting process model

Next the case findings with the “Software contracting process” model elaborated in Chapter 4 are scrutinized. In this model the simple software contracting process model was combined with the existing and proven Möller and Wilson Dyadic Interaction Model that describes the interactions and relationship elements inside and between companies as well as with the Ford model of “The development of buyer-seller relationships in business markets”. From the processual viewpoint the central elements were the interaction processes that were divided up into three main subprocesses: exchange, adaptation and coordination processes. The Ford model included the dynamism into the model.

7.3.1. Conceptual model

The exchange process constitutes of resource and social exchange subprocesses and process activities. The different and multitude elements or objects that are exchanged during the relationships are information, know-how, documents, contracts, plans, specifications, software applications and products, money, etc. The social exchange again illustrates the relations between the partners that are exemplified with partners official and unofficial meetings, possible joint gatherings and informal discussions.

In the empirical context of this study the contract negotiations could be defined as belonging to the exchange processes, but they could be argued as falling into the coordination processes category as during the process of negotiations the parties mostly change information and knowledge in order to establish a formal governance structure for the future cooperative relationship. In the case material the activities have been classified as belonging to the coordination process when the contracting process is conducted explicitly for the purpose of relationship governance reasons. Most of the business and contracting negotiations include implicit and explicit information as well as social exchanges that form an important part of the negotiation ritual and learning process itself. However, sometimes it includes pure negotiations on how the future cooperation and relationship will be governed, in this case the activities have been classified as to belonging to the coordination processes. From this type of negotiations, e.g. the NDA contract negotiations and most part of the model drafting could be presented. However the main part of different contractual discussions belongs to the exchange process class.

The adaptation process usually starts after the contracting parties have found a common ground for joint efforts. The adaptations can be either physical or mental in their nature. As Brennan and Turnbull (1998) argue the adaptation concept is either difficult to define or it is perceived to be self-evident. This has also been taken in account when analysing the processes and explicit evidence has been required for adaptation, i.e. stated expression from the interviewee, or some document that would affirm that some adaptation has been made during the relationships’ development. As already indicated in Chapter 6 there were only few cases that fulfil these requirements in the available data.

As described earlier the coordination process includes the tasks by which the partners coordinate and govern the relationship. For this they can use both contractual and non-contractual means. These are written formal contracts, minutes of joint meetings, offers and counter offers and other documents. Non-contractual means are institutions, branch customs and commitments between partners. As noted above when the classification of the exchange processes are discussed the activities included in this category are those that explicitly aim for the governance of the relationship. This is not always easy to detect as during the same negotiations the participants touch the exchange as well the governance factors. This makes the examination somewhat difficult and ambiguous.

From the previous analysis in Chapter 6 the conclusion can be drawn that Möller and Wilson model’s tripod of exchange, adaptation and coordination processes is relevant, but perhaps too robust an analysis tool for an emerging young relationship. Usually the adaptation factor does not have time to come along to contribute to the relationship. It comes into play only after the relationship has developed into a more mature stage, in Ford’s model perhaps during the development and stable stages. From Table 16 it can be seen that the main defined activities fall in the exchange category with 56 % of found cases and the next highest category is coordination with 39 % of found activities. This presentation further emphasizes the assumption that the adaptation process appears seldomly at least in this empirical material. The exchange processes are emphasized during the negotiation, definition and production phases. This makes sense as during the negotiation phase the future work is agreed with intense information exchanges. During the next phases (definition and production) the focus is still on the exchanges, but at this moment there are different actors to do this as in the first phase the actors were mainly the management and related people, but during these later phases the information exchange is mostly in the developers’ hands. Of course when the application software is deliverable the exchanged objects are more than just information. Table 16 shows the dipole of the coordination processes to be divided into the negotiation part at the beginning of joint efforts and then again after the delivery during the assessment phase when the partners look back and compare the goal and promises with the actual outcome.

Table 16 shows that the negotiation phase processes emerges naturally in both exchange and coordination process categories. In the preliminary conceptual model the negotiation phase processes were classified as to belonging only to the coordination processes as the contract negotiations were felt with the (biased) pre-understanding to be part of the coordination process.

Table 16. Distribution of process activities over the processes.

Interaction processesSoftware development phases 
NegotiationDefinitionProductionAssessment
Exchange30812252
Adaptation20215
Coordination22121136
549161493

However, as the data showed and was interpreted the negotiations include both coordination type of activities and exchange type of activities. This may be only a question of definition. Though as this study is about contracting processes and if all the activities would have been strictly categorized as belonging to the pure coordination processes then the possibility of a more precise analysis would have been lost.

These findings produce adjustment needs of the developed conceptual model where the interaction processes were divided according to, Fig. 35, the left side of. On the right of the figure is depicted the augmented version:

Figure 35. Modification of interaction processes.

In Fig. 35 negotiation1 and negotiation2 are in their strict meanings different, the first one is negotiation procedures that include much know-how related exchanges whereas the second one emphasizes more governance and management type issues, i.e. relationship building activities. In short the distinction can be explicated by the following:

Exchange

~ doing something, producing something, producing even something tangible, clear exchange of information.

Coordination

~ how the partners develop the relationship, manage it, and approve work done and work to be done, that affect the development of the relationship and its maintenance.

In the exchange – negotiation1 pair the negotiation1 activities are mostly information related exchanges that are manifested by the contracts that are used to agree the software development projects or tighter channel operations in detail (Table 16). These contracts can be exemplified by license agreements, project orders, work orders and assignment contracts, ref. Chapter 6. Typically for these contracts is that they are supported and preceded by NDA and framework contracts.

In the exchange – definition pair the definition activities are mostly information related exchanges, as this phase is typified by the different kinds of specification and definition projects during which the next phase projects are planned in more detail.

In the exchange – production pair the production activity is the basic software development work during which the required and planned application is produced, i.e. the final systems design, coding, testing and installation are done.

The adaptation process does not emerge from this empirical material in any extensive mode. Just some scattered observations and instances are to be found. As previously discussed there are two reasons for this a) adaptations have been done before the relationships starts and b) the companies were young and relatively small so that they were not ready or even capable of making far reaching and expensive investments for the cooperation.

In the coordination – negotiation2 pair the negotiations activities belong to the governance and management related information exchange. During these contracting process activities the negotiating partners learn to know each other, each other’s capabilities, resources and the level of commitment among other things. This phase is crucial for the future relationship as during these negotiations the partners lay the foundation for their reciprocal trust. Concrete expressions for these activities are the NDA and framework type of contracts drafted and signed at this stage of incipient joint operations.

In the coordination – assessment pair the assessment activities are usually performed particularly at the end of the software project after the software is installed for the end-user to evaluate and approve the delivery. In this phase the supplier and the customer compare the outcome to that what was ordered, i.e. the customer perspective and what was promised, i.e. the supplier perspective. Though all the time during the cooperation the partners consciously or subconsciously gather relationship related information. The problem many times is that this information is not used or it is forgotten in the later phases of the cooperation. Thus it emerged from the data a need for continuous screening and data gathering in the sense that it is also rationally used during the software development process unfolding.

Chapter 4 developed a conceptual model for the software contracting process which did not need plenty of enhancements. This may be due to the fact that the Möller and Wilson model is robust enough and correctly developed to represent a general model of a dyadic business relationship. Further this general model was properly developed further to depict the analysed software business environment. In this development work the pre-understanding of the line of business as well as the increased understanding from the interview situations was utilized. It is thus trusted that the conceptual model gives a reliable insight into software contracting.

7.3.2. Augmented contractual model

The “Augmented basic contractual” model has its origins in the combined software development and contracting interaction processes, see Section 4.1 and Fig. 36. The phase model constructed is analysed next and enhanced by the empirical data.

The negotiation phase includes and describes all the subprocesses of the business negotiation and bargaining over a set of issues for the purpose of reaching an agreement to generate a viable relationship and more specifically to develop required software. The phase usually ends with written and signed contracts. This phase could also be described as the first half of the negotiations where draft contracts or so called skeleton contracts are drawn. Most of the contracts are established in the negotiation phase though to some extent the follow-up contracts are drafted also during the definition phase aimed at direct production phase work. Definition phase characterizes the relationship development with more specific negotiations concerning the technical and practical details of the joint software development project. The phase ends usually with a specified and detailed work-order contract or equivalent usually with links to a previously signed framework contract. The production phase includes the processes and activities during which the application is actually constructed after the specifications and agreements presented during the previous phases. The assessment phase describes the feedback and evaluation process where the customer and the supplier will come back to the contract, refer and discuss if and how the conditions of satisfaction of the outcome of the project are met.

One finding from the empirical data in this analysis context was that the whole software contracting process is divided into two major parts that are the pre-contractual period (i.e. before the contract is signed) related to the relationship formation and the post-contractual period (i.e. after the contract is signed) related and emphasized by the relationship governance and management issues.

In Table 16 the categorization of the four phases is presented depicting the overall software development process. The activities focusing on the negotiation phases describe the reality of the contracting process so that the main part of the process activities related to contracting are done during the early phases of the process. The negotiation phase got 58 % of all detected process activities, and respectively the definition phase 10 %, production phase 17 % and lastly the assessment phase 15 % of the observations. From the analysis point of view the negotiation phase should have been categorized at least in two separate classes in order to let the data better show its content. Fortunately this division emerged strongly from the data dividing the negotiation phase in two sub-phases that could be named as business-negotiations and contract-negotiations as depicted in Fig. 36.

Pre-contractual period. In the pre-contractual period the emphasis is on the future relationship forming and contracting in order to secure the cooperation.

The negotiation phase consists of two types of negotiations, however the separation between the business and contract negotiations must not be made too strictly as already previously emphasized the categorization of the concepts is only done for the purpose of helping and clarifying the analysis work. Real life is not organized in a dichotomic manner as is described here. Thus the names of the concepts used try to depict the main functions and activities executed under each category.

Figure 36. Augmented basic contractual model, ABC model.

Negotiation1 and negotiation2 have an interesting manifestation in the conceptual model of the “Augmented basic contractual” model represented in Fig. 36. The negotiation2 concept corresponds well to this enhanced model with the business negotiations part and the negotiation1 concept again corresponds to the contract negotiations part of the model.

When and if it happens, the relationship dissolutions normally take place during the first steps of the negotiations, i.e. either during the business negotiations or during the contract negotiations. Another commonplace is during the assessment phase when the partners evaluate the finished project and its outcomes as well the psychological environment during the cooperation. If the relationship ends during the definition or production phases, some particular issues must have occurred that call for the project ending in these phases.

Post-contractual period. In the post-contractual period the emphasis is on the governance and managerial issues of the established on going relationship and project work.

As previously discussed the definition phase is manifested either by follow-up contract negotiations in order to specify the joint project in more detail or the supplier has commenced the actual joint software specification work. Usually both activities are governed by a valid framework contract.

After the specifications are detailed enough the software development work starts in the production phase. This phase is governed by the contracts made and the management issues are put into practice with steering and project groups. The steering group is manned by the representatives of the supplier’s and customer’s management whereas the project group is put together from the developers and experts from both companies. Also the end-users may participate in the workings of this group.

The assessment phase is again more active in the contractual sense, as during this period the contracts are again posed to compare the delivered product with the promised. However, in this phase an evaluation of the success of the whole cooperation effort is made and the results of this assessment are crucial for the future relationship development. The box in Fig. 36 describes the continuous processes that take place to give input to the continuous (sub)conscious evaluation, feed-back and screening data is also collected and assessed during the cooperation as well as after each project as a whole.

Comparison of models. Next the “Augmented basic contractual” model is compared with the NTNU model for the implementation of a software development project (Kilde 1998, Kilde 1999). This model depicted in Section 2.3 is intended for software projects for tailored and MOTS type of software development processes. As this model represents most closely the ABC model it was selected to be the comparison model. In these modes there is software reuse and the implementation of components (MOTS) and it also depicts the software production according to the customer’s specifications and the delivery of completed software in functional entities or increments (tailored).

The ABC model is perhaps more business oriented with the division of the first phase into two sub-phases of business negotiation and contract negotiation, but both models end the first phase in contract signing and with a general description of the problem. In the next phase both models specify the solution in more detail for the next phase where the actual software development processes start followed by the final phase where the produced software is installed and implemented for testing and use. The ABC model does not commit itself to any particular software development model as they are developing and changing constructs as the model is on this score open.

In the NTNU model the production phases are defined as including the solution description phase and iterative construction phase, presented in Section 2.3. This corresponds to the ABC model’s two constructive phases of definition and production, Table 17. This view also came out from the empirical material where the software experts and developers entered into the picture during these phases, i.e. the software specification and building work started and was completed.

Table 17. Comparison between the main phases of the ABC model and the NTNU model.

ABC modelNTNU model
Business negotiationDefinition of needs phase
Contract negotiation
Definition Solution description phase
Production Iterative construction phase
AssessmentAcceptance and end phase

The NTNU model also includes a cost estimation plan constructed on the so-called base calculation that is the most realistic estimate for the project without any uncertainties included. To this base calculation the supplier adds the profit that is again in proportion to the uncertainty factor. This is the normal cost that the customer pays. However, in the model there is also a lower and upper limit that are below and above these first mentioned sums. The meaning of these numbers is that if the actual costs go below or above these borders then the partners must start negotiations again on how to handle the situation. This resembles the risk premium that was found to be in use in one of the case companies where they added the risk percentage according to the level of the software specifications.

The NTNU model structures the contracts into three documents or groups of documents, Part I Contract document, Part II General contract instructions and Part III Attachment documents. The NTNU model is similar to the ABC model in many parts and it also depicts only one life cycle of the software development relationship during which the partners produce a software application. In this sense the whole relationship development process is not taken into account in time as in the enhanced contracting process life cycle as depicted in the next section.

7.3.3. Extended contracting process life cycle

Next the empirical implications of the development of the software contracting process during the unfolding of the long-lasting business relationship is analysed. Chapter 3 described the stages through which the relationship develops over time. Ford et al. (1998) presented the general conceptual model incorporating the pre-relationship, exploratory, developing and stable stages. In the following the above-elaborated ABC model is integrated into the development of the buyer-seller relationship model by Ford.

The Table 18 shows the distribution of process activities of different phases over the four stages. It can be seen from the arrangement that the main instances of the activities found fall into the exploratory and in the developing stages. The pre-relationship stage has already been discussed in Section 6.3 and also according to the definition it would be divided only into one cell (pre-relation – negotiation) so in other words it would not have given more information. The stable stage class has also received only a few findings. This is due to the problem of detecting the movement of developing to a stable stage, especially as its observation in companies is hard to pinpoint.

The classification process was done as carefully as possible and the activities found in several cases could have been inserted into either of these categories, i.e. developing or stable. As no specific and unanimous criteria for this was available it was felt to be on safer side to insert them into the developing stage. The transition from a pure exploratory – negotiation pair of instances spreading out into the developing stage more evenly over the other phases can be seen, as the distribution depicts in Table 18.

Table 18. Distribution of the software development phases over stages.

 Software development phases 
NegotiationDefinitionProductionAssessment 
Relationship development stagesPre-relation00000
Exploratory41691066
Developing1037424
Stable30003
  549161493

Thus the empirical findings are in congruence with the rational presupposition, i.e. as the relationship matures then the business and contract negotiations loose their central position and they are performed more rapidly and the focus of the cooperation shifts to the actual project work with definitions and code writing issues. Most part of the business negotiations needed are done once in-depth and the partners are able to start adapting to each other’s organizations.

It would be interesting to apply this thinking further to the stable stage but the scarcity of hard numerical facts do not allow this. Though to sketch this would not be too far fetched for two reasons. First, as discussed above the categorization had been done carefully as there were not clear and strict rules on how to decide in every case the classification criteria for the process activity found, i.e. should it belong to the developing or stable stage. Secondly, the discussions constantly revealed the fact that the company managers find the development from changing and uncertain stages to more stable and institutionalised stages to be in the interest of their companies.

The ultimate goal of a software company is a long lasting, predictable, stable and business-wise sound relationship with a trustworthy atmosphere. Then the ordering and contracting phase gets shorter and shorter in duration and the management does not have to spend so much time and resources in these matters any more. Also the definition and production phase may get longer in duration as the companies start to rely on each other’s performance and fruitful co-operation develops. The software companies exploiting the Spiral model in software development aspire higher and higher in the complexity of the development process contrary to the contracting process where the companies have the aim towards simpler and simpler contracting procedures.

Taking into account the above discussion it is now possible to incorporate it into Fig. 37 the Ford’s model with the “Augmented basic contractual” model. The ABC phase model describes and defines the elements and activities during one stage and the Ford’s model again describes the reasons and conditions to move from one stage to another. The pre-relationship stages comprised only of the negotiation phase, as this is the period of establishing an emerging relationship. In the following stages the relative lengths of the different phases in the software contracting process change. During the exploratory stage the emphasis is on the negotiation part of the process. After companies have moved to the next developing stage the relative lengths and contents of the phases change. The negotiation phase looses its meaning compared to the other phases. The definition and production phases start to increase in relative terms. Further as the partners move to the stable stage it can be perceived that the efficiency enhances, as the partners are able to put their resources more and more into the main issues, productive work, instead of wasting their resources on different kinds of support activities, this including the contracting.

The movement from one stage to another is a very flexible concept as in practice the relationship develops in either direction unfolding with small succeeding steps. Even the contract signings are not necessarily manifestations of moving from one stage to the other. As previously constated these stage and phase models are built and depicted for analysis purposes in order to help the observer categorize the data to get a better idea of the process development over time. The “Dynamic augmented basic contractual” model still gives a good idea about the development process if e.g. the observer would scrutinize the relationship between the partners in a couple of years time then he would better see the development process occurring as described in the conceptual model. Also Ring and Van de Ven (1994, 112) emphasizes the cyclical over the sequential nature of the processes.

In Fig. 37 the Roman numerals indicate the Ford stages as follows: I pre-relationship stage including screening, II exploratory stage, III development stage and IV stable stage.

At the conclusion of each exchange episode, i.e. the software contracting and development round depicted by the ABC model each firm decides whether to continue the relationship at the same level, to broaden it, or to curtail it. It must be kept in mind that in practice the relationship develops following the mentioned stages or it can even develop faster and thus eliminating some stages.

In the above model the arrows drawn indicate the situation either moving to the next stage or remaining in the present stage with new projects. However, it must be remembered that the software development phase model includes the dissolution possibility all the time as described in Fig. 36. In the above model the situation where the relationship could rise to the next level is also shown, or as there is no predetermined sequence the relationship could slow down and find new momentum with new joint projects. To "fall" down from a stage to the previous level rarely happens in real life but the same may be presented by relationship development slowing.

Figure 37. The development of the software contracting process over time, the D-ABC model.

Governance and management of the relationship shifts from the managers to the experts discussing and making decisions between themselves. This development process is also due to the improving individual social relationships between the experts in different organizations. This is further enhanced by the general strengthening tendency of the guild and trade fellowship bonding specialists over the firm borders even at the expense of their own firm. So the commitment grows between the specialists.