Running Head: PROCESS IMPROVEMENT 1
MICROSOFT PROCESS IMPROVEMENT 23
Software Systems Engineering Process CS671-2002A-01
Shirish Bhatnagar
Colorado Technical University
April 29th , 2020
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).
Contents
Abstract 2
Process Improvement 4
Improvement Goals 4
Industry-Accepted SDIP Methods 5
Selected Methods for the Improvement Plan 7
Background Material 8
Identification and Justification of the Solution 9
Implementation and Communication Plan 11
Metrics and Measurement Process Improvements 12
Definition 12
Collection 13
Who collects? 14
Evaluation and Analysis 15
Inhibitors to collection and evaluation 15
Overcoming the Inhibitors to collection and evaluation 16
Definition 17
Collection 17
Who collects? 17
Analysis and Evaluation 18
Inhibitors to collection and evaluation 18
Overcoming the Inhibitors to collection and evaluation 18
Definition 19
Collection and who collects? 19
Analysis and Evaluation 20
Inhibitors to collection and evaluation 20
Overcoming the Inhibitors to collection and evaluation 20
Software Quality Assurance Process Improvements (Week 4) 21
Risk Management Process Improvements (Week 5) 21
References 22
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 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 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).
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 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 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.
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 step-by-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 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 required to share the ideas. The format of communication will address the need for change and the proposed practices as well as their expected impacts in Microsoft. The communication plan will bring together all the stakeholders of the company, including some users of Microsoft Suite. The chief executive of the company will receive the proposal and communicates the recommendations, milestones, and expected benefits to the organization. The communication will be bi-monthly using scheduled meetings with the directors of the company. On this platform, the head of the department of software development will also provide feedback on the financial and budgetary needs of the implementation process. The update will also include the progress of the implementation, available opportunities, and barriers to the implementation process. The information will be shared with the development team on scheduled meetings and during training programs. The entire organization will communicate the proposed changes through internal memos as well as the companys website. The results of the implementation will be reviewed through progress reports that will be submitted weekly to the general manager of the company from the different departments. The results will be the foundation for identifying the implementation process and areas that may need improvement. A communication plan forms a significant part of the achievement of the set objectives by streamlining the delivery of a message.
Metrics and Measurement Process Improvements
Microsoft is an institution of high profile in computer products and services. Its metrics and measurement process improvement criteria are above the normal standard of other businesses. The most vital stakeholders of these institutions are three; products and services they offer, their employees, and their customers.
Improving the Quality of the Products and Services
Definition
A product or service is developed from raw materials. Microsoft being a technological advancement company deals with software and hardware components for computers. Therefore, their services and products are mostly offered online and produced from peoples minds. However, some of these products and services are distributed to localized stores and can be bought from there. The products include software, operating systems, drivers, and product keys for their software. Services include upgrades and updates for software, websites for customer services, responding to questions, and offering help where necessary (Kasahara et al. 2017).
Collection
The information about products and services is collected they surveys using google forms which are sent to customers to fill out, recommendations by clients after getting and using a product or service, through clients reaching out to the company platforms and offering their suggestions or complaints. Surveys are oriented towards a specific product or service that the company feels it must make changes (Voas & Kuhn, 2017. These may be due to customer complaints or negative recommendations towards that specific product or service. For example, there was a time that diver pack solutions had problems with operations alongside windows 7. When driver pack solutions were installed in windows 7, the computer reduced its efficiency and effectiveness in response time. It would take one minute to open a word document yet on normal occasions it takes five to ten minutes. A survey was conducted and many reviews were collected on it. The product was withdrawn from the market and went back to development and evaluation. Another example is the Nokia windows phone (Megerle, 2019). It was first considered the new era smart technology comprising of two giant companies in the tech industry. However, months after the realism of the product into the market, the phones become less efficient. They consumed power faster, easily corrupted, and not easily connected to other operating systems, overheating among many other effects. The companies after accessing the market through surveys and customer complaints, suggestions, and recommendations. They withdraw the production of smart technology.
The collection of product and services information has had its successes too as much as it had failures. Through reviews by consumers of Microsoft products and services, developers improve the products annually. A good example of improved services over the years is Microsoft office and Microsoft suite. Since the initiation of Microsoft office 2007, there has been the constant improvement of Microsoft office version to 2018 which still isnt the latest version. Rumors have it that office 2020 is under development. Microsoft has always been interested in its customers since its initiation. Customer satisfaction has been their most profound accelerator of success (Dmitriev & Wu, 2016). The consumers need and concerned is our command, said one of the best developers of Microsoft in a television show interview. He continued to say that they are fascinated by negativity, when a client reviews negatively, they build on that negative effect and build a better more sophisticated product.
Who collects?
The responses to the quality of services and products are collected by the sales, marketing, and researcher team. Sales and marketers gather information about the products and services in circulation. When a client purchases a product from Amazon or another online platform, the company requires the customer to leaves a comment on their experience about shopping online. They will afterward follow the client with an email to fill in a survey of the software they bought and comment on the official website for the particular product. There is also a record of sales kept by the Microsoft servers on the products and services sold daily. Marketers deal with reaching new unexploited markets and offering the products for a trial to the consumer. If a consumer purchases the product they will al them to comment and fill through as a survey, however, if they dont buy then a comment will be enough if they are not willing to fill in the survey (Dmitriev & Wu, 2016.
Researchers are the evaluators who ensure they find the needs of their consumers, through surveys and reviewing customer comments on their websites and downloaded products. The researchers are interested to find out what features of the products need improvement or what experiences of a particular product are limiting it is also possible that some products are not compatible with some operating systems but the uses would like a product that can fit into their operating systems. The research is aimed at getting the consumers needs and acting on them to improve their experiences, giving them better services and products which suit their needs (Riley, Henderson & Windle, 2019).
Evaluation and Analysis
Evaluation is assorting the needs of the client according to their commonality without considering which software they refer too. Evaluation is done for overall company growth. The researcher tries to focus their research on the customers needs that reflect the overall companies concerned. They are reviews on the effect of the software on the different operating systems, behavior of the software functions, customization, and recommendation dysfunctions. These are general features for all software and are the selling packages of most of Microsoft products (Smith & Bititci, 2017).
The reviews, comments, suggestions, and surveys are analyzed per software. Every software is placed alongside its customers needs as expressed through the various platforms. The most frequent customer demands are analyzed to produce a specific direction towards which the developers can act upon. The most recommended strategy is to analyze according to the complexity of needs, addressing them from the most difficult to the least.
Inhibitors to collection and evaluation
The greatest inhibitors to collection and evaluation are;
· Fake comments, reviews, and suggestions from competitors
· Lack of enough reviews to work on
· Many consumers do not respond to surveys
· Most software and other products bought online are rarely commented on after use.
· Many customers consider advertisements or surveys sent to their emails as scams.
