Colorado Technical University Microsoft Process Improvement Paper Work within the subsection titled Software Quality Assurance Process Improvements.Describe at least 3 areas in which process improvement would be appropriate in the software quality assurance processes for software development within your selected organization.Identify the specific process improvements that will be made to address the process deficiencies.Provide sufficient detail on how you are planning to implement and communicate each improvement.Justify your selections with an analysis of the potential benefits of the improvements. Running Head: PROCESS IMPROVEMENT
Software Systems Engineering Process CS671-2002A-01
Shirish Bhatnagar
Colorado Technical University
April 29th , 2020
1
MICROSOFT PROCESS IMPROVEMENT
2
Abstract
Microsoft is the worlds largest software development company.it was founded by Bill
Gates and his friend Paul in 1975 from the improvement of BASIC. This programming language
was then used in personal computers (Kozlovska & Vinnik, 2017). Microsoft started with the
aim of developing applications and systems to be used in personal computers. Microsoft has a
strong foundation in software development for individual computers. The culture of Microsoft
has enabled it to remain at the top of its game, considering its bargaining power in technological
advancement.
Categories of software developed
The Microsoft designs computer software that is categorized into the application, system,
programming, and driver software. In the bigger picture, programming and driver software are
considered system software. They are both used in running systems software to enhance the
performance of the operating system. Application software enables the user to perform specific
tasks. This application software developed by Microsoft includes; Microsoft office, which
combines all office used applications in one, Microsoft suite, among others. Systems software is
essential software; they create a computer connection between hardware and software and give
the implementation, programming, and driver software an environment to operate. MS-DOS was
the first system software developed by Microsoft from BASIC programming language
improvement (Kurbanova, Korableva & Kalimullina, 2018).
MICROSOFT PROCESS IMPROVEMENT
3
Contents
Abstract ………………………………………………………………………………………………………………………… 2
Process Improvement ……………………………………………………………………………………………………. 5
Improvement Goals ……………………………………………………………………………………………………. 5
Industry-Accepted SDIP Methods………………………………………………………………………………….. 5
Selected Methods for the Improvement Plan ………………………………………………………………. 8
Background Material…………………………………………………………………………………………………….. 8
Identification and Justification of the Solution ……………………………………………………………. 9
Implementation and Communication Plan …………………………………………………………………… 12
Metrics and Measurement Process Improvements ………………………………………………………… 13
Definition …………………………………………………………………………………………………………………. 13
Collection…………………………………………………………………………………………………………………. 13
Who collects? …………………………………………………………………………………………………………… 15
Evaluation and Analysis …………………………………………………………………………………………… 16
Inhibitors to collection and evaluation ………………………………………………………………………. 16
Overcoming the Inhibitors to collection and evaluation …………………………………………….. 17
Definition ……………………………………………………………………………………………………………… 17
Collection ……………………………………………………………………………………………………………… 18
Who collects?………………………………………………………………………………………………………… 18
Analysis and Evaluation ………………………………………………………………………………………… 18
MICROSOFT PROCESS IMPROVEMENT
4
Inhibitors to collection and evaluation ………………………………………………………………………. 19
Overcoming the Inhibitors to collection and evaluation …………………………………………….. 19
Definition ……………………………………………………………………………………………………………… 20
Collection and who collects? ………………………………………………………………………………….. 20
Analysis and Evaluation ………………………………………………………………………………………… 20
Inhibitors to collection and evaluation …………………………………………………………………… 21
Overcoming the Inhibitors to collection and evaluation ………………………………………….. 21
Software Quality Assurance Process Improvements (Week 4) ………………………………………. 22
Risk Management Process Improvements (Week 5) ……………………………………………………… 22
References …………………………………………………………………………………………………………………… 23
MICROSOFT PROCESS IMPROVEMENT
5
Process Improvement
The identified company for the process improvement is Microsoft. The company designs
software and computer that are categorized in system programs, driver software, and application.
Examples of software include Microsoft Office. This software allows users to execute specific
and complex tasks. It combines all office use applications in one component like Microsoft Suit
and many others. The building process comprises many complex tasks. Examples include
building metric collection such as consumption, power, and time and security checks known as
‘smoke’ tests to ensure localization of language. The building system is cyclical and entails the
collection of scripts, services, and programs. The development team writes codes that are
examined by the development team. The output goes back to the development team for
modification and verification. This cycle is important in developing efficient software within the
set time and financial budgets. The following is a proposal for the Microsoft software
development improvement process.
Improvement Goals
Lowering operational expenses
Lowering inventory of undeveloped and untested features of the software
Increasing the throughput which is the number of features of the software
Process Improvement Background
Improve customer satisfaction
Industry-Accepted SDIP Methods
The success of the performance of any organization is built on continuous improvement
of the quality of products and services. The process requires a complete understanding of the
underlying principles and goals of the improvement (Madaan, 2015). An organization then shifts
MICROSOFT PROCESS IMPROVEMENT
6
to creative adaptation, which is integrating tools and techniques into a single and well-managed
program. The software development improvement process entails the sequences of operations,
techniques of planning, tools, and implementation of improvement in development activities.
The process strives to achieve particular goals like reducing the cost of operations, maximizing
the speed of development, and increasing the quality of the existing software. Software process
improvement (SIP) involves the process of managing change or re-engineering software to
optimize its development lifecycle. It can focus on inefficiencies in software and strategies for
resolving them to increase their quality. SIP has to align with organizational goals as a change
for increasing its value.
Computer-aided software engineering (CASE) entails the improvement of the process of
software development using computerized methods and tools (Madaan, 2015). The objective of
this technique is to guarantee the development of software that is of high quality and free from
defects. It is a disciplined and check-point approach that supports developers, testers, team
leaders, and designers to outline the milestones of the development project. It is a critical method
that facilitates the delivery of the final software that meets the expectations of users since it
ensures that they are the focus of the development process.
Software reliability engineering (SRE) is a collection of development methods that
employ various techniques for predicting the rate of failure prior to the release of software using
statistics (Srivastava & Awasthi, 2014). It is among the methods that are accepted in the industry.
It focuses on the development of software that is free from failures in a specific environment at a
particular time. SRE is based on the function of the probability that is embedded in time. The
mechanical and electronic components of software may be worn out or get old with time,
although it will withstand these challenges in its life cycle. The use of this method implies that
MICROSOFT PROCESS IMPROVEMENT
7
the developed software will not change for a specified time unless it is upgraded or changed
intentionally. It is a significant approach to the quality of the software since it focuses on its
performance, capability, maintainability, as well as the installation process. This method is
complex, which hinders the achievement of specified levels of quality standards. The developers
forward this complexity into the layer of the software.
The ISO 9000-3 model is accredited for used in the improvement of the development
process of software. The method focuses on the quality system that is used in software
development through the utilization of various techniques (Philips, Zimmermann, & Bird, 2014).
Among them is configuration management that ensures each stage of development utilizes
correct versions of the available files. The change control technique manages the balance
between the technical potentials of software, requirements of additional sources, and customer
needs. The method also has a feature of quality planning that helps in the determination of the
qualities of project goals even before the actual development begins. This technique is critical in
the determination of if the software has achieved the set goals.
Another development improvement process model that is accepted in the industry is
Software process assessment (SPA). It focuses on the evaluations of the strength and weaknesses
of the existing software development process in an organization (Madaan, 2015). It results in
criteria such as maturity rating, which facilitates the establishment of the areas that need
improvement in the development process. The improvement is later executed by the software
engineering process group (SEPG).
MICROSOFT PROCESS IMPROVEMENT
8
Selected Methods for the Improvement Plan
CASE will be the most preferred method in guiding the process improvement plan for
Microsoft. The technique has a wide collection of labor-saving tools that are employed in the
development process (Madaan, 2015). Among them are diagramming tools that support the
representation of graphical and diagrammatic data and system processes. They present the flow
of data, control flow, and different structures and components of the software in the form of
pictures. Examples include Flow Chart Maker. Analysis tools include Accompa, Accept 360, and
Visible Analyst that are specifically designed to identify incorrect and inconsistent specifications
in the data and diagram flow. These tools are critical in the collection of requirements by
checking for irregularities automatically (Munassar & Govardhan, 2010). CASE forms a
framework for project organization that facilitates the achievement of the set goals. Besides, it
will give Microsoft a competitive advantage by ensuring the developed software are exceptional
and have higher qualities than those of competitors.
The ISO 9000-3 model will be used in the improvement of the development process for
Microsoft Suit to ensure that the software meets the required international standards. The
framework focuses on the importance of the quality of software and helps organizations identify
the root problems in the development process (Munassar & Govardhan, 2010). This allows the
spontaneous development of solutions even before the process begins. The result is an
improvement in efficiency and minimization of costs of development.
Background Material
The background material for ISO 9000 includes documentation of important aspects of
the software independently, checking and reviewing its effectiveness (Srivastava & Awasthi,
2014). The model has a perfect plan that should be prepared and monitored by users. Another
MICROSOFT PROCESS IMPROVEMENT
9
significant material is the configuration and management system that is required in the software.
It facilitates all documentation that goes into the improvement process. The background material
for CASE includes documentation generators like DrExplain and Doxygen that helps in the
generation of technical documents for the user according to the required standards (Madaan,
2015). Code generators are other materials for this model, which generate codes and definitions.
This process uses diagrams, designs, and documents. The combination of these materials will
allow Microsoft developers to test and redesign the software where necessary to optimize the
efficiency and life cycle of Microsoft Suite.
Software Practices for Process Improvement
The software improvement process for Microsoft focuses on the existing as well as new
products. The organization needs process improvement to create efficient, quality, and effective
software. This practice requires improving the capability of developing updated and unique
software. The company also needs to motivate developers to make their work appreciated and
recognized. Another improvement need for the company is capacity building through training
and mentorship (Someh & Wixom, 2017). The aim is to ensure that Microsoft has improved its
rate of employee retention. The following is a proposal for Microsoft on the best software
practices for process improvement.
Identification and Justification of the Solution
The first practice that fits in the context of Microsoft is the management of requirements.
This is a capability or a condition that a system has to meet. The management of the system that
has intensive software faces the challenge of dynamics (Park et al., 2015). This creates a need for
preparedness for change in the life cycle of a software project. The identification of the actual
MICROSOFT PROCESS IMPROVEMENT
10
requirements of a system should be a continuous process. The elements in the context of
Microsoft imply components that have significant impacts on the technical and budgetary goals
of the project. It can be impossible to state the requirements of a system exhaustively before the
project starts to expect for some trivial systems (Park et al., 2015). The presence of an evolving
or a new system influences the understanding of users on the system requirements.
The best practice of requirements management is proposed for Microsoft. The practice
offers multiple solutions to the root causes of problems in software development (Park et al.,
2015). It is built on three pillars, which are organizing, documenting, and eliciting the constraints
and functionalities that are needed in the system. The obtained changes can be evaluated by
focusing on their impacts. It forms the foundation of quickly detecting inconsistencies. This
allows the prioritization, tracing, and filtering of requirements (Park et al., 2015). In this
approach, communications are based on conditions that are predetermined. Using suitable
support tools, the software development team can provide a repository for system requirements,
traces, and attributes that have automatic links to external material.
The practice of developing iterative is mostly implemented in the software development
cycle (SDLC) (Rahal, 2018). It entails full evaluation using different testing and development
frameworks, techniques, and tools. This practice concentrates on the simple implementation that
gains more features and complexities as it develops towards the final system. It is a form of
dividing the process of software development into small constituents. The iterative practice is a
cyclical process, which differentiates from the classical waterfall model that encompasses hard
stages. After the completion of one phase, more other steps are repeated, which eventually
results in a cycle. The improvement process of software is achieved progressively.
MICROSOFT PROCESS IMPROVEMENT
11
The practice of iterative development can be impactful to the software development of
Microsoft. The method generates working software early and quickly in the life cycle of software
(Booch, n.d). It is a critical framework for risk management since it supports the identification
and modification of threats in the iteration. The required time for documentation is reduced
dramatically, which allows the shift of focus to the designing process. The practice offers a stepby-step approach to the development and improvement of software (Rahal, 2018). There are
opportunities for reliable user feedback when users are presented with the blueprints of the
intended software since they are asked to imagine the functionality of their new product. The
results of employing iterative practice in Microsoft imply the creation of high-level design before
the commencement of development activities. The practice allows the definition of design and
evolving it depending on what has been built. It also eases the process of debugging and testing
during the iteration.
The best practice of verification and validation (V&V) (V model) is used in checking if
the software meets the expected criteria (Booch, n.d). It is a measure of the degree to which the
software meets the set goals and objectives. It is a form of quality control and assurance, which
is a requirement in the SDLC. Verification is a standard of determining if a specific phase of
software development satisfies the predetermined conditions. It involves activities like reviews
and inspections. The goal of this process is to verify that the development is on track and make
necessary modifications if the process is not satisfactory. Validation, on the other hand, evaluates
the degree to which software meets the specified requirements during or at the end of the
development process (Booch, n.d). It involves activities like testing the application of software
using techniques like Gray box, White box, and Black box. In comparison to verification, this
process is costly and involves fast execution of codes.
MICROSOFT PROCESS IMPROVEMENT
12
Microsoft should use the V&V practice to identify defects in software. The practice
offers an approach to the examination of subjective and objective goals of software since it
focuses on the assessment of the test results (Park et al., 2015). The findings suggest areas with
inconsistency in design, requirements, and implementations since the software are tested for
reliability, performance, and functionality. Verification and validation practices embark on the
identification of areas with high risks, which can result in increasing the effectiveness and
quality of software of this company. The practice allows developers to customize the product
according to the needs of users. The developed software has high rates of meeting their
expectations.
Implementation and Communication Plan
Throughout the implementation of the software best practices, effective communication
will be requi…
Purchase answer to see full
attachment
LDR 3302-21.01.01-1A24-S1, Organizational Theory and Behavior Unit III Essay Top of Form Bottom of Form…
Chapter 9 What are teratogens? Give 5 examples. Define each of these stages: Germinal, embryonic,…
You are a Financial Analyst that has been appointed to lead a team in the…
You are familiar with the ANA Code of Ethics and have a growing understanding of…
This week’s discussion will focus on management decision-making and control in two companies, American corporation…
Mary Rowlandson felt that the man who eventually came to own her, Quinnapin, was “the…