Emerging Trends in Software Processes
Emerging Trends in Software Processes:
This paper covers the current software processes and the features of software engineering like reliability, durability, efficiency and robustness. The introduction about software engineering approach covers the characteristics of the process used in developing the software. Background of the paper describes the evolution of the software process and how the trends changed in the software development life cycle over the years. From waterfall model to agile development, the software process today has evolved to a large extent having significant changes in the planning, developing and the testing cycles, deployment and maintenance. The trends in the software engineering are vividly described citing the important features followed by the future enhancements and new directions in this area. An Introduction
Software engineering is mainly focused on producing quality software products through the formation, automation and execution of quality software processes. The attention to processes dates back to the early 70’s, when software engineers realized that the desired qualities (such as reliability, efficiency, evolvability, ease of use, etc.) could only be injected in the products by following a disciplined flow of activities. Such a discipline would also make the production process more predictable and economical.
An efficient and effective process would thus result to produce a quality product.
Reliability of software processes: A reliable software process is the one that has probability of failure-free software operation for a specified period of time in a specified environment. A reliable software process can finally result in a reliable software system.
Efficiency of software processes:
We can say that a process is efficient if, with respect to an alternative, it produces a comparatively better result in terms of lower costs. Suppose there are 2 processes, say A and B, and both of them are equally effective, but the process B does the activity at a lower cost then we may say that process B is more efficient than process A.
Organizations today have changed the way they use the various software process. We can here very well quote an example from Microsoft wherein the organization focused on loosely based progress rather than following a strict line of activities. These processes provided maximum flexibility and thus have been a crucial success factor. Moreover, this proved to be true in terms of markets that are now emerging and are highly dynamic. In such fields, time to market is the key.
Hence, to compete into these markets it is very important to change the process requirements up to the point of delivery requirements up to the point of delivery, to respond to new market trends or to new products of competitors.
The underlying management philosophy is that one should be allowed to delay process and product related decisions to the latest possible point in time to respond to changes in the market with changes in the product (and in the process). Ideally, product changes should be accommodated up to the delivery time.
Most of the software process work, however, remained in an informal stage until the late 80’s. From then on, the software process was recognized by researchers as a specific subject that deserved special attention and dedicated scientific investigation, the goal being to understand its foundations, develop useful models, identify methods, provide tool support, and helps manage its progress.
New Directions (Emerging Trends) in Software Process:
The most emerging trend in terms of software process is the ‘Agile Software Process Approach’. With the most emerging Agile technologies, like Extreme Programming, Scrum, Crystal, Grizzly, and even the Unified Process—we fundamentally expect...