Scheme will allow fully looking at the process of working with clients in terms of creating the quality of services in the broadest sense of the words. The implication is that the reader is a qualified specialist or at least aspires to be him.
The most important stage which lasts sometimes longer than the period of development.
Second part - Development
And now the most important moment comes – job delivering.
First, I will describe the scheme of job delivering which we adhere.
The end of development stage and the beginning of testing stage is produced at the planning meeting, where all customer’s persons are always present responsible for the specific functional blocks. This planning meeting announces that the rocket is built and now, before flying, it is required to try how the basic systems work. the planning meeting coordinate the interaction of customer and executor, where the first promise that they will accept everything as soon as possible and the second promise that will make every effort to ensure that the delivering was easy and smooth. The second thing is very important to observe. Support of the first one usually also requires effort from the executor side.
We are carrying out the testing in four stages:
First stage – atomic blocks
Those blocks that were mentioned in the first article. Into which the budget was divided. In fact, this is a huge checklist which must be passed by the customer and executor together in order to ensure that everything works as intended. The checklist with atomic blocks contains the fields for responsible person signature and a place for notes, where all detected shortcomings are indicated. If development was carried out as described in the previous article, then at the first stage the minimal deviations are detected that are superficial and not critical. But we still fix these annotations with the note “is not an obstacle to start commercial operation”.
If at this stage the critical annotations are detected, then they are removed immediately before proceeding to the next stage.
Second stage – business processes.
Test linear business processes. The difference from the previous stage is hat if on the previous stage we tested the logical elements themselves of which all business processes consist, here we test the joints between these blocks. The joints themselves and requirements to them are formalized in the description of business processes. I will write more about one of the formalization approaches.
Similarly as in the previous paragraph, we pass the business processes, fix the deviations, if they are critical, eliminate them immediately, if not critical, fix with the note “is not an obstacle to start commercial operation”.
At this stage there is a large part of all detected defects. almost always this is due to the processes and their blocks changed during development about which we are “forgotten” to warn.
Third stage – operational testing.
If the previous testing stages are carried out only with responsible persons of the customer, here the end users are already involved. Here it is important to allow the users to performed the work by themselves. Each testing section is conducted under the supervision of consultant. In fact, he breathes don the user’s neck live or look at the same screen using remote access. When moving from one stage of business process to another, the consultant switches between the users. This is important, because the users tend to test «the durability» of system and usually deviate from the testing scenario. Our goal is to deliver the job that is not beyond the testing! The attempts to use the system without rules should be promptly suppressed.
When the stage ends, the report of the end of operational testing is signed, where all the detected deviations are recorded, ranked according to criticality. The critical annotations are eliminated and tested then separately from the rest functionality on the basis of already entered data at the data step.
Fourth stage – experimental-industrial operation
At this stage, the users work in two systems at the same time and on the basis of some period compare the results. It also happened that the results differed. It is sad but it is impossible to insure against this. In this case, we take timeout and find out the reason. The reasons can be different, from our screw-ups to incorrect data from the users.
A feature of this stage is that sometimes the old system is left due to its defectiveness, it happens so. I.e we worked, worked, suffered, suffered. And now decided to start a new life, started deployment. In this case, at this stage, two systems operate not to compare the results, but to ensure that the rocket will take off. And in case of accident, the old checked base is saved in the operating condition. This is the simpler case. We faced with that on the large objects when changing the trade system and the payroll accounting system.
After the end of this stage, sign the report of the end of stage, fix all annotations, eliminate the critical ones. The second report fixes the base readiness and assign the data of system launch in commercial operation.
This is already not a testing stage. After removing all detected shortcomings and collecting all non-critical annotations, the customer accepts a new base in operation and starts to use it as the primary one. Here we take the system of support and pass it to support by internal IT customer service, and then the process starts to eliminate non-critical annotations.
In words, it looks simple, but usually these stages last for months and sometimes years. Everything depends on the volumes, sometimes ERP runs for six months (usually much more, but there is such a nice example), and sometimes some industry accounting in TradeManagement runs more than one year. Everything depends very much on the customer business and deviations of his requirements from the capabilities of typical solution.
Basic principles to work with clients remain the same as those described in the previous two articles. Nuances to be kept in mind when delivering the job are described below.
At the stage of job delivering there is a huge mass of things that greatly complicate the life both for those who deliver and who accept. At this stage, it is very important for the executor not to lose the initiative out of hands. The speed of work acceptance must be kept high. And the responsibility for maintaining the speed of acceptance here lies more on the side of executor than the customer.
At this stage, we actually fuss over the accepting side.
Or course, there are the exceptions, a feature of this phase is that the customer side in this period always requires acceleration. You have to show loyalty and initiative. Sometimes to accelerate the testing, it is required to throw a certain amount of data. If it is not particularly difficult, we usually quickly make the exchange rules or loading processors from the opened formats like xls or xml. Here it is important NOT to take this work completely yourself. Even if you can do more, do not relax your customers, otherwise they will be back on your hands. It is better to agree that this part we will load, help, and the customer himself will enter manually this amount of data for testing.
Note that this is a work of account! If you farm this out to the consultants, you can lose soon the consultant or will not get the desired loyalty if the consultant will be lazy. Account controls the work acceptance process, initiates participation in the data transition of programmers, and everything of this is delivered to the user by consultant. Laurels are for initiator, executed by alien hands!
The general background of the stage should signal for the leaders and users that this stage is more important for you then for them!
At on of the planning meeting which I was able to attend a large defeat was performed for another project participant. The head of customer, loudly talking with dirty language, noted that for some reason it made no difference to everyone except the employees of our company on the conducted month-end closing. Yes, we finished that project on our back, launched the rocket, and then a contract was signed with use for support, where we retake three more project costs for maintenance and extension of functionality. We are not the largest, best and cool in the region, but just that very loyalty parachute developed during the work gives an opportunity to land softly, no matter hard was the jump itself.