Question

In: Computer Science

Question 5 a) The quality of software process is connected to the quality of the software...

Question 5

a) The quality of software process is connected to the quality of the software process. This is because the technology, business environment and company circumstances are changing all the time, there is a need for improving the software process. Explain how software process evolution can affect technical debt.

b) “The electric light did not come from continuous improvement of candles” – Oren Harari. Explain what continuous improvement is and quote some outstanding products/apps that were created under this process.

Solutions

Expert Solution

Ans 1:-

The Effects of Software Process Evolution to Technical Debt

The software industry struggles with increasing competition and time-to- market requirements in delivering new solutions to customers. Companies must be able to deliver their solutions faster than competitors to receive a share of the market. In order to be fast, companies should enhance their software development processes and practices to achieve the best ways to produce quality software on time, within budget and for the right market. However, software development processes are not easy to change or manage. If the new processes do not align to the organization and its way of working, serious consequences may follow. Decreasing quality and productivity can be the result of new software development processes if they do not align with the company’s way of working. When omitted quality and productivity issues start to have effect on a software development project, it can be a sign of ‘technical debt’. The technical debt metaphor is related to shortcuts and workarounds in meeting urgent demands. Implementing shortcuts to the system architecture incur ‘debt’ that must be eventually paid back. If this debt is not properly managed, it might accumulate as ‘interest,’ affecting the overall quality of the developed software systems. Although technical debt has negative consequences in a long-term, it can be used as a competitive advantage in a short-term. Time-to-market and constant customer feedback through releasing software faster than competitors allow companies to gain a bigger market share. This describes a qualitative study that had a purpose to explore and understand how software process evolution affects technical debt. We investigated three large software development projects with a long development history with the aim to understand how software processes had evolved during the life cycle and how this evolution affected technical debt. We observed how companies had changed their software processes as well as the reasons, benefits and consequences of these changes on the technical debt.

The term ‘technical debt’ was first introduced in 1992 by Ward Cunningham as a situation where a long-term code quality is traded for a short-term gain. Technical debt can be compared to finance debt [9]. Similar to finance debt, technical debt incurs interest, which come in the form of the extra effort that we have to pay back in the future . Often technical debt is related to the source code of the software, where a shortcut or a workaround is taken in order to save time. However, taking shortcuts and workarounds can happen in multiple stages of software development life cycle. In the requirements phase the lack of documentation or lack of requirements can cause requirements debt. Architectural flaws in the design phase can also increase design debt and structural debt.

Both software process evolution and technical debt were caused by business reasons and decreased productivity. The business needs often force companies to change their software development processes, even though the level of productivity and quality in the current processes might been satisfying. The quality of the software process is connected to the quality of the software process. Because the technology, business environment and company circumstances are chancing all the time, there is a need for improving also software processes. In our study we observed situations where time-to-market, customer demand or technology change forced companies to make a change in the current software processes to be more efficient. Business needs also increase technical debt. Multiple other studies have shown that when companies were acquiring time-to-market benefits by delivering faster the product to the customer, it required shortcuts and workarounds to the product. Shortcuts and workarounds were not necessarily dangerous to take in short-term, because they could advance the product release and therefore increase the time-to-market and customer satisfaction. However, if companies never fix these shortcuts and workarounds, it can lead to extra costs, productivity issues and omitted quality, because the code base turns overcomplicated. Another reason for software process evolution and technical debt to happen was decreased productivity. Often when companies were experiencing that current software processes were not producing enough results and the quality of the product started to go down, there was a need to make a process change. Decreasing productivity forces companies to take shortcuts to keep up the release window that increases technical debt.

In this study we explored how software process evolution affects technical debt. We used qualitative case study approach recommended by Yin to understand how software processes have evolved in the selected three large case companies. We conducted 17 interviews with professionals from both technical and business background to see the reasons, benefits and consequences of software process evolution to technical debt. We found that often the reason for software process evolution can be business related, where the company has to improve their current software processes in order to gain more advantage over competition and time-to-market. Overall, software process evolution is often considered as a positive thing towards better development processes. However, companies rarely think of its negative consequences and resistance to change. Our inquiry into the practice of three large development organizations revealed that the evolution of software processes affects technical debt accumulated in the code base and can decrease the software quality in short-term. However, if the company takes no steps to manage the technical debt, it may finally have a dramatic effect to the software development and maintenance processes.

Ans 2:-

A continual improvement process, also often called a continuous improvement process (abbreviated as CIP or CI), is an ongoing effort to improve products, services, or processes. These efforts can seek "incremental" improvement over time or "breakthrough" improvement all at once. Delivery (customer valued) processes are constantly evaluated and improved in the light of their efficiency, effectiveness and flexibility.

Some see CIPs as a meta-process for most management systems (such as business process management, quality management, project management, and program management). W. Edwards Deming, a pioneer of the field, saw it as part of the 'system' whereby feedback from the process and customer were evaluated against organisational goals. The fact that it can be called a management process does not mean that it needs to be executed by 'management'; but rather merely that it makes decisions about the implementation of the delivery process and the design of the delivery process itself.

A broader definition is that of the Institute of Quality Assurance who defined "continuous improvement as a gradual never-ending change which is: '... focused on increasing the effectiveness and/or efficiency of an organisation to fulfil its policy and objectives. It is not limited to quality initiatives. Improvement in business strategy, business results, customer, employee and supplier relationships can be subject to continual improvement. Put simply, it means ‘getting better all the time’.' "

Some successful implementations use the approach known as kaizen (the translation of kai (“change”) zen (“good”) is “improvement”). This method became famous from Imai's 1986 book Kaizen: The Key to Japan's Competitive Success.

  • Feedback: The core principle of CIP is the (self) reflection of processes.
  • Efficiency: The purpose of CIP is the identification, reduction, and elimination of suboptimal processes.
  • Evolution: The emphasis of CIP is on incremental, continual steps rather than giant leaps.

Key features of kaizen include:

  • Improvements are based on many small changes rather than the radical changes that might arise from Research and Development
  • As the ideas come from the workers themselves, they are less likely to be radically different, and therefore easier to implement
  • Small improvements are less likely to require major capital investment than major process changes
  • The ideas come from the talents of the existing workforce, as opposed to using research, consultants or equipment – any of which could be very expensive
  • All employees should continually be seeking ways to improve their own performance
  • It helps encourage workers to take ownership for their work, and can help reinforce team working, thereby improving worker motivation.

The elements above are the more tactical elements of CIP. The more strategic elements include deciding how to increase the value of the delivery process output to the customer (effectiveness) and how much flexibility is valuable in the process to meet changing needs.

definitions from experts that have been in the field much longer than we have.
1. “Continuous Improvement is the seeking of small improvements in processes and products, with the objective of increasing quality and reducing waste.”

2. “What is continuous improvement? Continuous Improvement is an ongoing cycle of positive change and employee involvement. “
3. “Continuous Improvement, often known as Kaizen, is essentially a small step-by-step incremental improvement strategy. It is based upon a belief that continual improvement can be brought about by a never-ending series of small changes. Even in the face of enormous innovative improvement strategies, there will always be the need and opportunity to supplement such strategies and initiatives with continual small step changes.”
4. “A structured measurement driven process that continually reviews and improves performance.“
5. “Continuous Improvement (CI) is an ongoing effort to make incremental improvements to products, services or processes over time. Processes are constantly audited and modified based on their sustainability, efficiency and effectiveness.”
6. “Continuous improvement is a long-term business strategy to improve your business in terms of customer value and satisfaction, quality, speed to market, flexibility and reduced cost.“

7. “A continuous improvement process (CIP or CI) is an ongoing effort to improve products, services, or processes. …. processes are constantly evaluated and improved in the light of their efficiency, effectiveness and flexibility”.
8. “It is defined as an ongoing effort to improve products, services, or processes. These efforts can seek "incremental" improvement over time or "breakthrough" improvement all at once. Delivery (customer valued) processes are constantly evaluated and improved in the light of their efficiency, effectiveness and flexibility.“
Conclusion
As you can see, each quote was taken from a larger source and it wouldn’t hurt to visit each site in turn to investigate the knowledge and wisdom a bit further. By understanding the field of continuous improvement for yourself – not just relying on what others have to say – you’ll be better equipped to make necessary changes for yourself and add your own unique insight to this all-important aspect of every business’ operation.


Related Solutions

Define software quality management and software quality. How does a quality assurance team play a role...
Define software quality management and software quality. How does a quality assurance team play a role in this? what does the quality assurance testing process involve?
Question 5 a) Draw the circuit of a Three-phase bridge inverter using a Y-connected load and...
Question 5 a) Draw the circuit of a Three-phase bridge inverter using a Y-connected load and explain its operation using 180 degree conduction clearly showing the gating sequence and the corresponding output line voltages for each phase. (10) b) For the Y-connected load determine the line to neutral voltages for the three modes of operations. Draw the equivalent circuits for each mode and then draw the phase voltage waveforms for the 180-degree conduction. (7)
Software Engineering Process Discuss the activities that make up a software engineering process. Your response should...
Software Engineering Process Discuss the activities that make up a software engineering process. Your response should include the engineering phases of requirements : - Design, coding, testing, reviews, refactoring, defects, team and customer communication. - How is Agile the same as the Plan and Document process (aka Waterfall) - In what ways is Agile different from Plan and Document
What is a software process model? Explain. Describe completely any two generic software process models with...
What is a software process model? Explain. Describe completely any two generic software process models with relevant diagrams using any two different examples of software applications (one for each model). 2. Draw a state-machine model (diagram) for the control software for the camera on your mobile phone. You can ignore the flash component. 3. Draw a sequence diagram for a student to register for a course for the Spring 2021 semester. Check academic and financial holds, pre-requisites and ensure that...
Describe your experience with Software Assurance. Whendeveloping software, do you have expectations of quality and...
Describe your experience with Software Assurance. When developing software, do you have expectations of quality and security for the products you are creating? How? Why?
explain the quality process in a hospital
explain the quality process in a hospital
The variance in a production process is an important measure of the quality of the process....
The variance in a production process is an important measure of the quality of the process. A large variance often signals an opportunity for improvement in the process by finding ways to reduce the process variance. Machine 1 2.95 3.45 3.50 3.75 3.48 3.26 3.33 3.20 3.16 3.20 3.22 3.38 3.90 3.36 3.25 3.28 3.20 3.22 2.98 3.45 3.70 3.34 3.18 3.35 3.12 Machine 2 3.22 3.30 3.34 3.28 3.29 3.25 3.30 3.28 3.38 3.34 3.35 3.19 3.35 3.05 3.36...
The variance in a production process is an important measure of the quality of the process....
The variance in a production process is an important measure of the quality of the process. A large variance often signals an opportunity for improvement in the process by finding ways to reduce the process variance. Machine 1 2.95 3.45 3.50 3.75 3.48 3.26 3.33 3.20 3.16 3.20 3.22 3.38 3.90 3.36 3.25 3.28 3.20 3.22 2.98 3.45 3.70 3.34 3.18 3.35 3.12 Machine 2 3.22 3.30 3.34 3.28 3.29 3.25 3.30 3.27 3.37 3.34 3.35 3.19 3.35 3.05 3.36...
The variance in a production process is an important measure of the quality of the process....
The variance in a production process is an important measure of the quality of the process. A large variance often signals an opportunity for improvement in the process by finding ways to reduce the process variance. The following sample data show the weight of bags (in pounds) produced on two machines: machine 1 and 2. m1 = (2.95, 3.45, 3.50, 3.75, 3.48, 3.26, 3.33, 3.20, 3.16, 3.20, 3.22, 3.38, 3.90, 3.36, 3.25, 3.28, 3.20, 3.22, 2.98, 3.45, 3.70, 3.34, 3.18,...
QUESTION 16 X Ltd is dependent upon its software to process its purchases and sale transaction...
QUESTION 16 X Ltd is dependent upon its software to process its purchases and sale transaction and has a year end of 31 January. On 15 January 20.5, X Ltd approached a computer consultant to establish whether or not its software is compliant with its own new open source operating system. On 31 January 20.5, the consultant informed X Ltd that the software is not compliant and that X Ltd would need to spend about N$3 million to make its...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT