Sunday, December 14, 2014

Literature Review - Evaluation of the SPI approaches and activities to propose an effective Software Process Improvement (SPI) methodology for Small and Medium (SME) software development organizations to optimize their productivity.


Software Process is considered to be a set of methods, practices, and tools for producing software products based on certain plans (Paula et al. 2010). Provision of organizational stability alongside effective control is the major goals of software process.
Apart from the fact that a number of software process definitions exist, the aim of each and every one of them is assisting the software engineers in developing software that is of advanced quality. Pressman (2005) believes it to be a framework of numerous tasks for building high quality software. On the other hand, it was stated by Somerville (2001) that it is rather an activity structure for developing software systems and the major activities are Software Specification, Software Design and Implementation, Software Validation, and lastly, Software Evolution.

2.1 Software process in-the-small


In spite of the great amount of diversity that exists in the various maturity levels of the software processes that have been implemented by organizations as well as various VSEs, a number of characteristics are shared by them all/. All these features were presented as hypotheses when the work initially began, after being confirmed through the observations that were made while the experience was going on. Many other studies also corroborated the same experiences in relation to SMEs.
The life cycle of the software is very simplified, and most of its phases like maintenance, implementation and analysis are rather un-formal. The most important phases are testing and development. Even though testing is considered incredibly important, it often has to be cut off as a result of lack of funds, resources, or time.  
Variations in maturity levels of the processes in a single organization can also greatly vary, with high quality processes combined with lower quality ones. There are also many practices that have to be artificially imposed, for instance the supplier relationship practices that are considered as liabilities of the company rather than strategic assets. There is no formalization of the quality control procedures. Moreover, the incentive of adhering to regulated procedures is also discarded in such environments. 
Not many common elements were witnessed in most VSEs relating to project management as well as planning practices. While some were doing incredibly well, some simply weren’t. However, depending on the project manager, client, project, or the development team, practices within the organization itself can greatly differ. Moreover, funds for HR development and training also tend to be rather limited, and it only utilized in the face of immediate technical problems.
These are considered as emergency exists where self-training of teams is not possible.
Moreover, such small scale operations are also project driven, rarely possessing a longer term strategy. Moreover, knowledge management practices are also not carried out. Many larger structures have indicated these deficiencies as well but mostly it is apparent is VSEs. A methodological approach has to be imposed by VSEs as a result of their size.
Moreover, risk management is also not carried out, as the view is rather short term. The level of risks being entertained by the company could be incredibly high and still uncalculated. This is therefore how leveraged small structures might end up generating huge returns.
Management is not really involved with quality issues. It was also discovered that the ISO standards barely seemed applicable in the context of VSEs. A working group WG24 was established by ISO/IEC JTC1 SC7 for addressing some of these issues and providing vital guidance of how compliance can be attained with ISO software engineering standards by VSEs at substantially lower maturity levels (Laporte et al. 2006).

2.2 Software Process Improvement Models for SMEs


Software process improvement programs required qualified statements regarding the status of the software development in organizations as well as the respective strengths as well as the weaknesses that can be worked upon. The 6 methodologies presented below were deduced as a result of the literature search that is currently employed by various SMEs.
Because there are not enough assists available, and considering the level of the companies, a substantial, a proper evaluation was done on the programming techniques after outlining extensive techniques such as the ISO/IEC 90003. (2004), the TickIT scheme (1992), Kuvaja et al. (1994) and Kautz et al (2000) framework was not looked upon as a requirement, or even perhaps acceptable under these circumstances. In addition, it has also been backed up by Kautz (1998). MESOPYME’s other targets run parallel with the targets of the IDEAL model (McFeeley, 1996) of the Software Engineering Institute (SEI). Within this segment, the most prominent attributes of the application enhancement strategies have been pointed out. 

2.2.1 OWPL: A Gradual Approach for Software Process Improvement in SMEs


Application enhancement strategies, structured on three steps, have been used (Alexandre et al, 2006).
Stage 1: Micro-assessment. Here, in order to gather data regarding the ongoing observance of applications in minor organizations, and to raise awareness on how significant the standard of applications is, a fairly refined questionnaire is used, which is named as micro-evaluation (Alexandre et al, 2006). It covers namely 6 fields (supervising the standards, monitoring consumers, administering the subcontractor, controlling the growth and expansion of the scheme, supervising units, guidance and HR operations), and is accustomed by the judge who uses it to analyze the spokesperson of the company (Habra et al, 2008). It is important for the judge to have an insight on application standard maintenance and application development, and for the spokesperson to have enough information regarding the IT operations of their firms (Habra et al, 2008).  The outcomes of the micro-evaluations are failed, and displayed in a document prepared by the judge. Keeping in mind the company and its targets, the report offers suggestions, and certain steps to augment the activities of the firm (Habra et al, 2008).
Stage 2: OWPL evaluation. Making use of the micro-evaluation, a comprehensive review is obtained. With the OWPL evaluation, up to 10 practice segments can be taken care of, however, it calls for multiple people to be questioned for each practice (Habra et al, 2008). Together with the explanation, and a catalog of methods that makeup the procedure, each practice is shown next to its targets (Renault et al. 2006). This step-by-step outline of each methodology presents a target, the efforts and the results, and the material required (Renault et al. 2006). OWPL was crafted in a way that it would immediately point out the methods required for the enhancement of the applications, and not just that, another aspect was that it would assist in sketching a basic, yet effective master-plan that would strengthen the methodologies and keep a note on the developments (Renault et al. 2006). Generally, an OWPL evaluation aims only on certain methods that are picked out depending on previous evaluations, like the micro-evaluation, or questioning the applicant before carrying out the OWPL evaluation (Renault et al. 2006). The very direct requirements of companies to evaluate, or the outcomes of the value-chain evaluation of a company can have direct influence on how much emphasis is paid on certain procedures (Renault et al. 2006).

Stage 3: SPICE assessment. If suitable, larger firms with moderate or excellent standards are ultimately asked to carry out an ISO/IEC15504 or a CMMI assessment (Alexandre et al. 2006). 

2.2.2 Software Process Matrix (SPM) Model


Making use of this system, firms can understand the significance of application methods. Operations that are of higher priority, Software Process Matrix (SPM) determines the operations that ought to be done. Quality Function Deployment (QFD) lays the foundations for SPM. QFD takes into account the reviews of the consumers, the extent to which these reviews are significant are calculated. In the standard maintenance department, these reviews are then utilized to determine the factors that influence the needs of the consumers in the best possible manner. Even though there are several departments in QFD, more emphasis is laid on this department, largely because it could go on and have a considerable big influence on the assembling methods (Fortuna, 1988). With the QFD, the application assembling system is addressed as a consumer, whereby the needs of the consumers are the application systems. The literary work relating the application systems helped in the revealing of these operations. Another one of the operations that were revealed as a result of the literary application system work were the styling properties that were a must-follow for the system to be productive.
Figuring out the associations among the procedures and the operation was a significant element in the enhancement of the application programming department. The ones that had been clearly stated in the literary work were found effortlessly. However, the remaining associations between the two were recognized by making use of the viewpoints of the professionals, as well as several records. It helped in enhancing and authentication of the application systems in the market, which were later certified.
Any company based on a small scale which plans on using an application system to be more efficient, it is vital that only marginal energy be spent. And with SPM, they are offered simplified divisions that had been concluded, and could be utilized for their firms. In order to gain information of the present operation of the company, its scheduled long-term operation, and the significance each practice hold, the company is presented a questionnaire. From where the firms are, they only have to present details regarding the analytics for working out the general significance of the application systems, keeping in mind these points (Richardson, 2002):
·         Existing potential according to the their own evaluations
·         Potential for the coming years as an effort from the administration
·         Significance of the applications systems to the company
·         Economic evaluations
·         Influence in terms of firm’s absolute needs. e.g. ISO-certification
The stiffness of the system depends on whether the administration has been allowed to incorporate stats for a better economic position, and influencing the industry.
Basing the practices of the organization is the most crucial aspect, and thus, it is recommended that this factor should be focused and worked upon within the organization primarily. This shall be of help to the organization in designing the strategy of improvement by deciding upon the main concerns to incorporate in any of the process of improving the software. Through a complete SPM, the organization is provided with a group of options of actions, that are rated, to be used as inputs in their approach towards software process enhancement. The list can be used to determine the plan of action of the organization by combining the list with the cost and time saving calculations.

2.2.3 MESOPYME


MESOPYME has been explained, by taking into account a generic SPI model explained by the ISPI in four stages whose aims are identical to those of the IDEAL model from the SEI (Calvo-Manzano et al. 2002). The main characteristics of MESOPYME are as follows:
Stage 1: Commitment to improvement
Its aim is to gather the support of the senior management to start the necessary improvement project.
Stage 2: Software process evaluation
Its main aim is to get gold of the strengths and weaknesses of the methods assessed with regards to a software process model known as the CMM (Capability Maturity Model). From this evaluation, processes (usually 1 to 3) to be improved are chosen.
Stage 3: Improvement Solution
It aim is to give the necessary infrastructure to bring about the improvements (in selected processes), and to create the plan to follow in order to describe and apply improvements in the necessary processes. The improvement solution phase is taken through the application of a generic series of components which we have called an Action package. An action Package is a general answer to the necessary software process are which should be customized for a business, taking into consideration its business goals and assessment results. An action package is carried out in the selected plot projects.
Stage 4: Institutionalize
Lastly, the improvement should be institutionalized.

2.3 An Approach for Software Process Establishment in Micro and Small Companies (ASPE-MSC)


The Approach for Software Process Establishment in Micro and Small Companies (ASPE-MSC) is explained with the inclusion and adaptation of the present methods (Ahonen et al. 2002, Becker-Kornstaedt, 2001, Madhavji et al. 1994, Scott, 2000) for the small sized companies of software in their characteristics. The main stages of method are:
Planning.
The establishing of the procedure is planned, in the start, at a high stage. The plan is then reviewed, finished and applied, further on during the analysis, with respect to what was decided upon.
Phase 1, This stage is aimed towards obtaining a snapshot, which is a high level one, of the process currently in place, by placing the organization in context. The basis for calculating and comparing can be confirmed upon by the help of the assessment of the software taking into use e.g. MARES (Gresse von Wangenheim, 2006) and ISO/IEC 15504; a process of assessment made for companies smaller in size.
Phase 2, Strategic analysis.
This stage is aimed at specifying the capacity along with putting up the processes of the candidate to be stated on the basis of what the diagnosis depicted along with the goals regarding improvisation and goals regarding business of the organization. The SWOT analysis method (Strengths/Weaknesses/Opportunities/Threats) can be brought into use regarding the significance of the procedures and their calculated potential.
Phase 3, Definition.
This stage aims to explain the process(s) of the software that have been chosen, forming a manual to help the performers of the procedure. Usually to express the process that has been selected modeling of the actual process in done descriptively. The action includes a procedure of the phase of familiarizing and then comes the stage of eliciting it in detail. In the stage of familiarizing, an outline of the process of the software and the major structure of it, how it interacts and the sequence followed is taken and acknowledged, the flow diagram of a process may be a good example. Next, identification is done of the roles of each activity along with the competencies and the responsibilities (Becker-Kornstaedt, 2001).
Phase 4, Implementation.
The process(s) defined is evaluated with respect to their application, first. The reviewing of how the methods are defined to observe and evaluate the how effective and appropriate the process(s) have been and if the anticipated returns have been achieved.
Monitoring & Control.
Monitoring is done of the process(s) getting completed and set, along with controlling. Thus, collection and analysis of the data is done by the engineer of the process along with the assistant. If seeming necessary, and update of the strategy is done after doing remedial actions.
Post-mortem.
After the completion of a proper process cycle, the approach of establishing the process in reviewed with respect to constant betterment. By collecting the feedback of the performers of the process and evaluating it, the evaluation is done, along with the feedbacks of sponsors, the engineer and the assistant. The feedback is collected through questionnaires or meetings.

2.4 PRISMS: An Approach to Software Process Improvement for Small to Medium Enterprises


PRISMS is a three year study based with three participant researchers belonging to the Leeds Metropolitan University, who work along with the managers of the participating companies and their developers, who assist them and advise with regards to the preparation and application of the programs of  improvement of the process of software. This research is based on researching upon action.
The main aspects of the process are given below:
The available informal process is investigated and on the availability of resources, a clear moeld is formulated.
The business objectives are chalked out in advance by the administration in a PRISMS program. The activity following this action is carried out by these goals, particularly the choice and ordering of main process fields for betterment and the choice of dimensions.
A discussion activity comprising of every member of development group is conducted. Either such a discussion conference or a survey based on questionnaire assist the team of the developers to own the SPI programmer and to contribute in it right from the beginning.
The research team member conduct a custom made copy of CMM evaluation principally to assist in locating the key process areas (KPAs) for the betterment.
The KPAs are located and ranked by employing these inputs. The key standard should be the degree to which it is possible for the KPAs to add to the set business objectives. Martin (2002) describes a measured choice technique which a company found to be useful. For this purpose, Richardson’s (2001) practice/process techniques can also be employed.  Measurements are also regarded as an essential share of the process of SPI planning. Generally managers look for more exact methods of locating main resources and standard pointers. Designated attributes depending on the business objectives can be formulated for SPI program with the help of Goal Question Metric paradigm.
The plan of SPI is occasionally studied. This plan facilitates in gathering stakeholder’s feedback. An extremely significant feature of calibration for SPI programs in small scale companies is that they must be simple enough to collect and understand and help in the process of decision making and planning. Mere automation can assist in cutting down the overhead cost related to the collection and data and processing.

2.5 Improvement Framework Utilizing Light Weight Assessment and Improvement Planning (iFLAP)


iFlap may either be employed to assess one process field or be calibrated in order to assess a single or all the process fields (Pettersson et al, 2008).  iFlap comprises of three essential phases:
Step 1: Selection.
It is essential that right persons are chosen from the company as members of the research in order to evaluate and make the stages as being representative of all the staff members (Pettersson et al, 2008). Evaluators must have a fundamental comprehension of the company before this phase starts (Pettersson et al, 2008). Workshops are organized by the persons from the organizations so that evaluators can be assisted in understanding the company (Pettersson et al, 2008). These choice phases are carried out in three main phases: firstly projects are selected for the research, then roles (in line organizations and project) are selected. Lastly, people are appointed to represent those roles (Pettersson et al, 2008).
Step 2: Assessment.
In this phase, betterment problems are collected from the company by means of interviews from the specialists. The betterment problems collected are matched against process and project documentation for authorization. An evaluation comprises of two essential components: a project research, inspecting projects along with a line research which inspects the pertinent areas of the company which are not associated with a project (Pettersson et al, 2008).
Step 3: Improvement Planning.

First of all, representatives who will participate in this phase are chosen from the company. Specialists who participated in evaluation phase can be employed for this phase; however, those roles which are not linked with system development can be eliminated (Pettersson et al, 2008). The risks and costs attached to the incorporate all the improvements at one go will be too high and it is necessary that the focus of the effort should be focused on a few issues at a single time, in order to take evolutionary steps. Thus, the improvement issues will be prioritized according to the factors such as the cost of implementation, practical restrictions and business goals. Finally, the packaging improvement issues will be done in order to guide planning the implementation and planning of the changes in the whole process.

No comments:

Post a Comment