How Quality is Implemented in Companies

Week 2: How Quality is Implemented in Companies

1. One sentence definition of “Software Quality”.

Answer: Software quality is the degree to which a functional requirement is met by the software and how a non-functional requirement adheres to the standards set out.

Reference: (class_slides.pdf, 2018, slides 1, 6, 7)

2. What is the purpose, tasks, mechanisms, aims and means that are part of “SoftwareQuality Engineering”? (1 paragraph)

Answer: Software quality engineering should be established to ensure that a product developed meets a set of defined specifications. It spans across multiple areas including planning, assurance and control and should be managed using software quality management tools that are concerned with building a ‘quality culture’ (class_slides.pdf, 2018, slide 3) and essentially measuring and ensuring that the product meets its functional and non-functional requirements.

Reference: (class_slides.pdf, 2018, slides 3, 4, 6, 7, 8)

3. What is the difference between Quality Planning, Assurance, and Control in a softwaredevelopment environment? (1 paragraph)

Answer: In the quality planning stage, applicable standards should be identified and/or developed that will serve later as the validation tool for the completed product.

Once standards are established, quality assurance will ensure that the final product will meet those standards.

Finally, quality control compares results of a project against the standards set out but also ensures that project teams adhere to those.

Reference: (class_slides.pdf, 2018, slide 4)

  1. Describe what is a “Software Requirement Specification”, what is it used for? What is itspurpose? (1 paragraph)

Answer: The SRS combines the functional and non-functional requirements that define one hand side how a software should behave and on the other hand side how it should be implemented. By combining the two requirement areas, the SRS allows to evaluate how a functional requirement can be implemented whilst respecting the established non-functional requirements (or better standards).

Reference: (class_slides.pdf, 2018, slide 7)

  1. What is the People Capability Maturity Model(http://cmmiinstitute.com/resources/peoplecapability ­maturity ­model­p­cmm/) ? How many stages does it contain? Where would that be relevant in a software development environment? (1 paragraph)

Answer: The P-CMM is a five stage model that serves as a framework to manage various people involved in a project. It is intended to ensure that knowledge does not reside with small groups to avoid loss of knowledge in the event of those leaving and also fosters improvements in the company culture to retain people in the long term. It should be used in mature organisations where different levels of management are present. The five phases are:

  1. Initial
  2. Repeatable
  3. Defined
  4. Managed
  5. Optimizing

Reference: (Curtis, Hefley and Miller, 2001), (class_slides.pdf, 2018, slide 13, 14, 15)

  1. Suppose you hear about the quality measures that are being used at a competingcompany. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

Answer: This means that any code developed within the organisation must be reviewed by at least two people that are sitting at different levels within the organisational chart. For example code developed by a developer must be reviewed by his team lead as well as the IT manager before it is allowed to be deployed into the production version of the software.

  1. You also hear that the rival company has different “channels” in which different versionsof the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

Answer: The additional channels should include features, development master and testing such as UAT. Those channels should be used throughout the software development phases to ensure that code is developed independently (feature) before it is merged with all source code (development master) to ensure that unit tests still execute before merging to a user acceptance environment (UAT) where functional testing is conducted. Only if the code passes through all three channels it should be added to the release channel that is responsible for releases new features to production. References:

class_slides.pdf. (2018).

Curtis, B., Hefley, W. and Miller, S. (2001). The People Capability Maturity Model. 2nd ed.

Pitsburg,

PA: Carnegie Mellon, Software Engineering Inbstitute, pp.3-14.

(http Peter Stepien

(h ps://sydney.instructure.com/courses/2463/users/109940)

Mar 11, 2018

That's great Jannis! I'm hoping that others will follow your lead and provide a similar response in their own words.

Edited by Peter Stepien (https://sydney.instructure.com/courses/2463/users/109940) on Mar 11, 2018 at 18:21

1. Software Quality describes how well a product fulfils its requirements and how effectively it can be used for its purpose

2. SQE aims to a maximize the software quality of a product. This involves different mechanisms; such as developing guidelines, fostering a quality culture, having procedures in place and utilising management tools.

3. Quality planning is about figuring out what the specifications are and how to met them. Quality Assurance is about checking that these requirements are met throughout the project by regular evaluation. Quality control is checking the requirements of the project against final product. The differentiating factor between these three is what stage of the project they are applied to; planning is before, assurance is during and control is after the project development.

4. The SRS is a document the outlines the specifications for the software. This includes both the functional and nonfunctional requirements that cover the behaviour and development of the software. This is used to clearly state the requirements so they can be enforced.

  1. The people capability maturity model is a framework for the people involved in software development. It has five stages; initial, repeatable, defined, managed, optimized. It is relevant to software development as it manages knowledge across the organisation rather than individuals, which means the overall development capability of the company is better.
  2. The hierarchy refers to the management hierarchy, thus the statement means that the code must be inspected by people on different tiers of management. In SQE, this more rigorous inspection would ensure the reliability of the results.
  • They might have different channels, such as an experimental channel, a beta channel or a stable channel. These different channels would be updated on different schedules and have different levels of acceptable quality. For example, the experimental channel can be edited more frequently and it would be forgivable if there are bugs, but the release channel should not have bugs or frequent updates. It is likely that the release version is manipulated only after the changes have been tested in other channels.

Source: https://flip.ee.usyd.edu.au/elec5618/_downloads/class_slides.pdf

1. One sentence definition of “Software Quality”.

The degree that software meet all functional requirements as well as non-functional requirements (such as performance, availability, robustness and usability).

2. What is the purpose, tasks, mechanisms, aims and means that are part of “SoftwareQuality Engineering”?

Software quality engineering ensure the final deliverables meet the functional requirements and non-functional requirements defined in the software requirements specification (SRS). It include the selecting of appropriate quality standards, quality planning, quality assurance and quality control. It aims to develop a ‘quality culture’ and allowing all people who involve in the project have the responsibility to ensure the overall quality. Software quality engineering is the process to establish organizational procedures and standards for quality.

3. What is the difference between Quality Planning, Assurance, and Control in a softwaredevelopment environment?

Quality planning is a process to determine the standards, procedures, methods, tools and resources that used to execute a series of activities to ensure the software quality. It usually happens before the quality assurance and quality control process. Quality assurance periodically executed in the software development process. By contrast, quality control executing with software development process synchronously. Quality control monitor the process of development, while quality assurance examine the overall quality of a specific project or deliverable.

  1. Describe what is a “Software Requirement Specification”, what is it used for? What is itspurpose? (1 paragraph)

Software requirement specification (SRS) is a document that determine exactly what work is or is not included in a project (Schwalbe, 2012). There are two types of requirements: functional requirements and non-functional requirements. Functional requirements determine the function that a software need to provide. Non-functional requirements are the relevant restrictions of a software, such as performance, availability, robustness and usability. SRS provides a guideline that all the work and deliverables we need to produce during the software development process.

  1. What is the People Capability Maturity Model? How many stages does it contain? Where would that be relevant in a software development environment? (1 paragraph)

People Capability Maturity Model is a framework that used to improving the maturity of human resource and establish sustainable human resource development plan. It contains five stages:

Initial stage, Managed stage, Defined stage, Predictive stage and Optimizing stage.

  1. Suppose you hear about the quality measures that are being used at a competingcompany. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

It means the code that a programmer wrote should be inspected by two other people located at a different level. The level of inspectors probably higher or lower than the programmer who wrote the code that need to be inspected. Personally, the level of inspectors should be higher than the programmer.

  1. You also hear that the rival company has different “channels” in which different versionsof the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

Software testing has several stages: Unit test, integrated test, system test, pressure test, soak test, user acceptance test. I image the another two channels are ‘internal test channel’ (or alpha test channel) and ‘external test channel’ (or beta test channel). The internal test channel include the test that need to be done by insiders, it include unit test, integrated test, system test, pressure test and soak test. The external test channel include the test that need to be done by the people outside the development team, it include user acceptance test.

External Reference(s):


Schwalbe, K. (2012). Information Technology Project Management. Minneapolis, Minnesota, United States of America: Cengage Learning.

Hi there, here's my submission for How Quality is Implemented in Companies:

1. Software quality is the degree to which the characteristics and features of a software system fulfill requirements and the specifications of the customer (“What is software quality?”, Slide 1)

2. The purpose of software quality engineering is to ensure that the required degree of quality is achieved and maintained in a software product. The tasks involved in this revolve around defining quality standards and procedures and ensuring that they are met. The mechanisms of software quality engineering are quality planning, assurance, and control. The aim is to meet the conditions outlined in the software requirement specification. The means to this aim is a productive and safe work environment, a cohesive team, and an effective understanding of the requirements to be met and maintained (“What is software quality?”, Slides 1 and 2).

3. In a software development environment, quality planning involves identifying which quality standards are relevant to the project and how to satisfy them, quality assurance involves periodically evaluating overall project performance to ensure quality standards are satisfied, and quality control involves monitoring specific results and ensuring they comply with the relevant quality standards (“What is software quality?”, Slide 3).

4. A software requirement specification (SRS) is a document outlining the requirements a software system must fulfill in order to be of acceptable quality and fitness for use. The functional requirements of a software system make up most of the SRS. The external behaviour of the software and the constraints on software development are also specified in the SRS. The SRS serves as a guide to creating a quality software system that fulfills requirements (“What is software quality?”, Slides 5 and 6).

5. The People Capability Maturity Model (PCMM) is a framework for managing the growth of people involved in software development. The PCMM is a five-stage model: initial, repeatable, defined, managed, and optimising. The PCMM is relevant in any software development situation as the objectives of the PCMM are to improve organisation by improving workforce capability, to ensure that software development is not reliant on a small part of the team, to align the motivations of the individuals of the organisation, and to help retain people with critical knowledge and skills (“What is software quality?”, Slides 12, 13, and 14) (People Capability Maturity Model, Curtis, Hefley, Miller, 2001).

6. In the context of SQE, I think this means that adequate thought and effort has been placed into the mechanisms used for quality assurance in this competing organisation. I also notice that the project is being shared with multiple levels of the company hierarchy (a concept touched on in the PCMM) (“What is software quality?”, Slide 3) (People Capability Maturity Model, Curtis, Hefley, Miller, 2001).

7. I imagine these other three channels are used for verification (whether the product is being built correctly), validation (whether the right product is being built), and prototype quality


testing. The versions of the product being manipulated in these situations are prototypes (“What is software quality?”, Slide 15).

Hi Peter, here's my answers to the questions.

1. One sentence definition of “Software Quality”.

Software Quality: The degree to which a set of inherent characteristics for a piece of software fulfils its requirements; how well a software product meets its specifications (Reference: class_slides.pdf, 2018, slide 1)

2. What is the purpose, tasks, mechanisms, aims and means that are part of “Software

Quality Engineering”? (1 paragraph)

Software Quality Engineering's purpose/aim is to ensuring the required level of quality is achieved in a software product. Mechanisms and means to do this are mainly:

defining/ensuring appropriate quality standards/procedures are followed, developing quality culture where everyone takes responsibility, and using project management tools properly. The tasks it must achieve are quality planning, assurance and control, all which ensure the product meets specifications (Reference: class_slides.pdf, 2018, slide 2,3)

3. What is the difference between Quality Planning, Assurance, and Control in a softwaredevelopment environment?

Quality planning identifies relevant quality standard to the project and how to meet them. It also selects applicable procedures and standards for a particular project and modifies these as required. Quality assurance periodically evaluates overall project performance to ensure the project will satisfy the relevant quality standards. Quality control monitors specific project results to ensure that they comply with the relevant quality standards, and that the team is following these standards. (Reference: class_slides.pdf, 2018, slide 3)

4. Describe what is a “Software Requirement Specification”, what is it used for? What is itspurpose?

The SRS is a formal project document outlining all project specifications: the functional/nonfunctional requirements. This combination means the SRS contains what the software does and how it does this; as well as the external behaviour of the software and constraints on development (Reference: class_slides.pdf, 2018, slide 6)

5. What is the People Capability Maturity Model? How many stages does it contain? Where would that be relevant in a software development environment?

The PCMM is a framework for managing the development of people involved in software development. It has 5 stages: Initial, Repeatable, Defined, Managed and Optimising. This is

relevant in a software development environment as it emphasises knowledge management organisation-wide instead of focusing on invididuals, improving development across the board. (Reference: class_slides.pdf, 2018, slide 12)

6. Suppose you hear about the quality measures that are being used at a competingcompany. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

In SQE context, this means code is inspected by multiple different organisational levels in the company. For example code a developer inspects their own code, but it's also looked at by their manager. This inspection from a variety of people of different backgrounds ensures more rigourous testing before deployment, allowing for better chances of higher quality products.

7. You also hear that the rival company has different “channels” in which different versionsof the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

The 3 other channels could represent different tiers of modification/versions of products that are operated on - experimental, internal and external channels. An experimental channel is used for regular changes/updates and manipulates a prototype product. An internal/alpha test channel is used for product testing within the team (unit, integrated, system, etc) and manipulates a more finalised product than prototypes. An external/beta test channel is used for product testing outside the team (user acceptance, etc) and manipulates a product close to the final version.

1. One sentence definition of “Software Quality”.

It is the degree to which a system, product, or process satisfies the stated or desired quality requirements (class_slides.pdf, 2018)

2. What is the purpose, tasks, mechanisms, aims and means that are part of “SoftwareQuality Engineering”? (1 paragraph)

Its purpose is to ensure that software meets the defined quality requirements (functional and nonfunctional). It creates organisation procedures and quality standards. The tasks involved include quality planning, quality assurance and quality control. It aims to create ‘quality culture’ (class_slides.pdf, 2018)

3. What is the difference between Quality Planning, Assurance, and Control in a softwaredevelopment environment? (1 paragraph)

Quality planning stage establishes the quality standards relevant to the project and determines the process to satisfy them. Quality assurance stage ensures that the project will meet the requirements & standards set in the quality planning stage. Quality control stage monitors the project results against the set standards. (class_slides.pdf, 2018)

  1. Describe what is a “Software Requirement Specification”, what is it used for? What is itspurpose? (1 paragraph)

Software Requirement Specification (SRS) is a document used to lay out both Functional requirements and as Non-functional requirements relating to the software project. Its purpose is to ensure all members of the project team understand exactly what the project requires as well as the constraints on software development. (class_slides.pdf, 2018)

  1. What is the People Capability Maturity Model? How many stages does it contain? Wherewould that be relevant in a software development environment? (1 paragraph)

People Capability Maturity Model (P-CMM) is a framework used for managing and developing organization’s workforce. It consists of 5 stages: Initial, Repeatable, Defined, Managed, Optimizing. In a software development environment, P-CMM would help ensure that knowledge, processes and improvements are established across all levels in an organisation's workforce. It can also help retain individuals with expertise. (class_slides.pdf, 2018) (Curtis, Hefley & Miller 2001) (Cmmiinstitute.com, 2018)

  1. Suppose you hear about the quality measures that are being used at a competingcompany. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

For example, a senior test engineer and test team lead both are located at a different hierarchy in an organisation structure and may have different experience and expertise. Thus, they could both inspect the code for quality assurance.

  1. You also hear that the rival company has different “channels” in which different versionsof the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

I would imagine the three other channels to be “Experiment channel”, "Main channel" and "Test channel". The "Experiment channel" could be used for developing individual features for the product. It could also be used for bug-fixes and manipulating existing feature without affecting the main source code. For example, if you want to experiment a new feature, but you aren’t sure whether the experimental code will work or not. So, in this case you can work on this channel (which is like a branch of the main channel). If the newly developed feature doesn’t work, you can discard it without affecting the main channel. The “Main channel” could act like the master channel. Once, individual features are successfully developed they can be merged and pushed onto this channel. On "Test channel", test such as system test, acceptance test and other types of tests could be carried out on the fully developed product for quality assurance & to make sure that the requirements are meet. I think the version of the product being manipulated can only be released onto the “release channel” if it successfully passes the “test channel”.

Sources:

Cmmiinstitute.com. (2018). [online] Available at:

http://cmmiinstitute.com/sites/default/files/resource_asset/Which_Model_2017.pdf [Viewed 12 Mar.

2018].

Curtis, B., Hefley, B. and Miller, S., 2001. People Capability Maturity Model (P­CMM)-Version 2.0.

Software Engineering Institute. https://flip.ee.usyd.edu.au/elec5618/_downloads/class_slides.pdf [viewed 12 Mar. 2018].

1) one sentence definition of “Software Quality”.

The International Organization for Standardization (ISO) defines quality as “the degree to which a set of inherent characteristics fulfils requirements” (ISO9000:2000). It is the degree to which a functional requirement is met by the software and how a non-functional requirement adheres to the standards set out. (Refr: class_slides.pdf, 2018)

2)What is the purpose, tasks, mechanisms, aims and means that are part of “Software Quality Engineering”?

Software quality engineering ensure the final deliverables meet the functional requirements and non-functional requirements defined in the software requirements specification (SRS). It aim to develop a ‘quality culture’ where quality is seen as everyone’s responsibility. It establish organisational procedures and standards for quality. Software quality requires a condition or capacity needed by a user to solve a problem or achieve a quality objective. The requirements constitute a complete statement of what the software will do, without referring to how it will do it. (Refr: class_slides.pdf, 2018).

3) What is the difference between Quality Planning, Assurance, and Control in a software development environment? (1 paragraph)

Quality planning is identifying which quality standards are relevant to the project and how to satisfy them. Select applicable procedures and standards for a particular project and modify these as required.

Quality assurance is periodically evaluating overall project performance to ensure the project will satisfy the relevant quality standards.

Quality control is monitoring specific project results to ensure that they comply with the relevant quality standards. It ensure that procedures and standards are followed by the software development team. (Refr: class_slides.pdf, 2018).

4) Describe what is a “Software Requirement Specification”, what is it used for? What is its purpose? (1 paragraph)

A software requirement specification (SRS) is a document outlining the requirements a software system must fulfill in order to be of acceptable quality and fitness for use. The SRS combines the functional and non-functional requirements that define one hand side how a software should behave and on the other hand side how it should be implemented. This is used to clearly state the requirements so they can be enforced. (Refr: class_slides.pdf, 2018).

5) What is the People Capability Maturity Model (http://cmmiinstitute.com/resources/peoplecapability­maturity­model­p­cmm/) ? How many stages does it contain? Where would that be relevant in a software development environment? (1 paragraph)

PCM model is intended as a framework for managing the development of people involved in software development. The PCMM is relevant in any software development situation as the objectives of the PCMM are to improve organisation by improving workforce capability, to ensure that software development is not reliant on a small part of the team, to align the motivations of the individuals of the organisation, and to help retain people with critical knowledge and skills The five phases are: Initial, Repeatable, Defined, Managed, Optimizing. (Refr: class_slides.pdf, 2018).

6) Suppose you hear about the quality measures that are being used at a competingcompany. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

It means the code that a programmer wrote should be inspected by two other people located at a different level. The level of inspectors probably higher or lower than the programmer who wrote the code that need to be inspected. For example code a developer inspects their own code, but it's also looked at by their manager. This inspection from a variety of people of different backgrounds ensures more rigourous testing before deployment.

7) You also hear that the rival company has different “channels” in which different versionsof the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use threemore channels. Can you imagine what are those and what version of the product is manipulated?

The company might have different channels such as an experimental channel, a beta channel or a stable channel. These different channels would be updated on different schedules and have different levels of acceptable quality. The internal test channel include the test that need to be done by insiders, it include unit test, integrated test, system test, pressure test and soak test. The external test channel include the test that need to be done by the people outside the development team, it include user acceptance test. (Refr: class_slides.pdf, 2018).

Definition of Software Quality

Software quality can be defined as an inherent characteristic of a certain piece of software that describes how well it meets the functional and non-functional requirements defined in the initial stages of its development.

What is the purpose, tasks, mechanisms, aims and means that are part of “Software Quality Engineering”?

Software Quality Engineering deals with ensuring that any given software satisfies the quality constraints imposed on it in the beginning of its development through a series of explicitly stated quality procedures and standards to create a ‘quality culture’ so that all people involved in its creation realise they hold a collective responsibility in delivering a product that meets said quality standards. This is done through processes like quality planning, assurance and control throughout the lifecycle of the software development.

What is the difference between Quality Planning, Assurance, and Control in a software development environment?

Quality planning is carried out in the initial ‘planning’ stages of the project where appropriate quality standards for the final product are identified and recorded.

Quality assurance takes place throughout the development cycle of the product to make sure the project and its various activities meet the previously stated quality standards.

Quality control is used to ensure that distinct results of the project conform to relevant quality

Describe what is a “Software Requirement Specification”, what is it used for? What is its

The SRS is an important document created during the development of a piece of software that records the various functional and non-functional requirements that the final delivered product must conform to. It is used as a reference to make sure the functional requirements are met while adhering to the set non-functional requirements.

What is the People Capability Maturity Model? How many stages does it contain? Where would that be relevant in a software development environment?

The ‘People Capability Maturity Model’ is essentially a system for managing the people working together under a project. It is a well established set of processes to ensure that the people’s motivation to work on the project fits right with the organisation’s motivation to do the same. It makes sure that not just a handful of people working in the project do the bulk of the work and that the people with relevant skill sets are retained. The framework consists of five stages and is relevant in organisations with different ‘levels’ of employees.

Suppose you hear about the quality measures that are being used at a competing company. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

In context of SQE, code inspections being done by employees at two different hierarchical levels in the organisation would leverage the difference in their experiences, knowledge levels and assessment strategies to the fullest extent. The same piece of code would undergo inspection from completely different perspectives and hence the efficiency of quality assurance processes would significantly go up.

You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated? One of these channels could possible be used for testing purposes. To make sure that the deployed version meets various specified non-functional requirements. One could be used for testing out new releases/ new features still in the development process. The last one could be used for beta testing i.e. testing by making select few users use it and getting their feedback for further improvement.

Source: https://flip.ee.usyd.edu.au/elec5618/_downloads/class_slides.pdf

One sentence definition of “Software Quality”

Software Quality measures the degree to which a product conforms to its specification and how effectively it can be used for its intended purpose.

What is the purpose, tasks, mechanisms, aims and means that are part of “Software Quality Engineering”?

“Software Quality Engineering” aims to create a “quality culture” where all employees feel responsible for ensuring the quality of a product. This can be achieved by establishing organisational procedures and standards that define an appropriate level of quality. The mechanisms to foster quality engineering include quality planning, quality assurance and quality control. Ultimately, this ensures that a project will meet its defined set of functional and nonfunctional requirements.

What is the difference between Quality Planning, Assurance, and Control in a software development environment?

Quality planning is the initial stage of identifying quality standards for a project and a plan to satisfy them. Quality Assurance is the ongoing evaluation of the overall performance of a project to ensure that it is on track to satisfy quality standards. Quality control involves monitoring a specific project and ensuring that it meets the standards set out.

Describe what is a “Software Requirement Specification”, what is it used for? What is its purpose?

The “Software Requirement Specification” (or SRS) defines not only the work that will be included in a project, but also that which will be excluded. It specifies the behaviour and implementation of software as well as the constraints on software development. It achieves this by laying out two types of requirement: Functional/Behavioural requirements which determine the required functionality and non-functional requirements which place restrictions on the software related to e.g. performance, availability, robustness and security.

What is the People Capability Maturity Model? How many stages does it contain? Where would that be relevant in a software development environment?

The People Capability Maturity Model (or PCMM) is a framework for managing the development of employees. It aims to improve the capability of the workforce, align the goals of an individual with those of the organization, encourage the development of critical knowledge and skills and ensure that development is not reliant on a small subset of the workforce. It contains five stages: Initial, Repeatable, Defined, Managed and Optimizing.

Suppose you hear about the quality measures that are being used at a competing company. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think this means in the context of SQE?

This quality measure requires code inspection by team members from different hierarchical levels. Engineers from different levels will have different backgrounds and possibly a different understanding of the requirements of the code. This policy encourages discussion, the sharing of knowledge and the development of consistent quality standards which all contribute to creating a SQE environment.

You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what those are and what version of the product is manipulated?


I can imagine three more channels: an alpha channel, a beta channel and an experimental channel. The alpha channel would manipulate the most up to date version of the product. Here tests such as unit, integration, regression and pressure tests would take place before the product is released to users. The beta channel would contain a product that is released to users and would be used for user acceptance testing. The experimental channel would have a lower level of acceptable quality and would be used for experimental changes. This channel would manipulate a prototype product.

1. One sentence definition of "Software Quality".

The degree of which software reflects written quality specifications or requirements. ("What is software quality?", Slide 2)

1. What is the purpose, tasks, mechanisms, aims and means that are part of "Software Quality

Engineering"? (1 paragraph)

The purpose of SQE is to ensure the software product achieves the required level of quality. The tasks that are part of SQE include defining appropriate standards and strategies of quality and guaranteeing that these are followed. The

ms and means involved in SQE include Quality Planning, Quality Assurance, and Quality Control. SQE aims to build up a 'quality culture' where quality is the responsibility of all participants in the project. ("What is software quality?", Slide 3)

1. What is the difference between Quality Planning, Assurance, and Control in a software development environment? (1 paragraph)

Quality planning involves identifying which standards of quality are relevant and the procedures used to verify the quality of the product. Quality Assurance focuses on preventing defects in the project while Quality Control focuses on identifying these defects. Quality Assurance is Proactive and involves processes managing the quality of software. Quality Control is reactive and is used to verify the quality of the software. ("What is software quality?", Slide 4)

1. Describe what is a "Software Requirements Specification," what is it used for? What is its purpose? (1 paragraph)

A Software Requirements Specification (SRS) document which specifies the requirements of the software product in order to be accepted. It is used to outline the Function and Non-Functional Requirements of the system. Is also should specify the external behaviour of the software as well as constrained on software development. The purpose of the document is to inform the developers of what to build. ("What is software quality?", Slide 7)

1. What is the People Capability Maturity Model? How many stages does it contain? Where would that be relevant in a software development environment? (1 paragraph)

PCM Model is a framework for managing the development of people involved in developing software in an organisation or project. It contains 5 stages which are Initial, Repeatable, Defined, Managed,

Optimizing. It is relevant in software development environment so that knowledge and development capability is shared across the organisation. i.e. the project won't stop if a single developer is unable to fulfil their duties as they are the only one knows about a certain aspect of the project. ("What is software quality?", Slide 13, 14)

1. Suppose you hear about the quality measures that are being used at a competing company. One of them is "Code inspections must be done at least at two different levels of hierarchy". What do you think these means in the context of SQE?

In SQE context, this means that code is inspected by at least two other developers. This can include senior developers or QA testers in the same team, the head of the team, or head of the department. This level of inspection assures and controls the quality of the code.

1. You also hear that the rival company has different "channels" in which different versions of the product are manipulated. One of them "release channel", which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

The other three channels can include:

Development Channel: Sees the most changes to the product as developers merge in their code. Used to test if the product can be built or compiled as well as automated testing. Once a build has been produced, it can be promoted to Sandbox or Performance for further testing.

Sandbox Channel: Used for extensive testing in various scenarios.

Performance Channel: Used to test the performance of a version of the product.

1. one sentence definition of “Software Quality”.

Software quality is the degree of excellence of how well software meets its functional and nonfunctional requirements.

2. What is the purpose, tasks, mechanisms, aims and means that are part of “Software Quality Engineering”? (1 paragraph)

Software Quality Engineering ensures that the software meets and fulfils the quality standards set during the quality planning phase of the software development cycle. It creates a “quality culture” that encourages all personnel involved in the software project to be responsible for its quality. Quality planning, assurance and control are used to ensure that the quality standards and procedures are followed so that it meets the needs for which it was undertaken.

3. What is the difference between Quality Planning, Assurance, and Control in a software development environment? (1 paragraph)

Quality planning is stage in the beginning of the project that involves identifying all the quality standards that are relevant to the project and how to satisfy them. During the development cycle, quality assurance is executed continuously to ensure that the quality standards identified are being met. The results of the software are monitored regularly so that it complies with the relevant quality standards identified in the planning stage. This stage is known as quality control.

4. Describe what is a “Software Requirement Specification”, what is it used for? What is its purpose? (1 paragraph)

Software Requirement Specification describes the software that is to be developed. It mainly consists of functional requirements which are the services provided for the user. It also includes nonfunctional requirements, which requirements impose constraints and restrictions on the software to ensure that it achieves goals such as performance, reliability etc. This document includes the requirements of the project as well as any items that will be excluded – to prevent scope creep.

  1. What is the People Capability Maturity Model(http://cmmiinstitute.com/resources/peoplecapability­maturity­model­p­cmm/) ? How many stages does it contain? Where would that be relevant in a software development environment? (1 paragraph)

The People Capability Model is a framework that can be used for managing all personnel involved in the software development project. It contains five stages that lays out goals and policies to improve organizational capability and ensuring that software development capability isn’t reliant on only a small number of people. It is relevant in the software development because the capability of the software isn’t distributed to only a small subset of people. This framework prevents issues such as if these people are no longer available to work, the project won’t stop functioning. Suppose you hear about the quality measures that are being used at a competing company. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

  1. Suppose you hear about the quality measures that are being used at a competing company. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

I think this means that the code published to the repository from certain developers will need to be reviewed by higher authority to ensure that the code doesn’t contain any known bugs, issues or vulnerabilities. Furthermore, by seeing the code through the eyes of different developers, these “code inspections” can also find solutions that the current developers may not have thought to use, which can lead to performance or security goals.

  1. You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

The other channels can include development channels or feature channel. The development channel can include a version of the software that, for example, sacrifices speed to ensure that it is working correctly. For example, the compiler for a certain programming language can enable debugging or back trace mode. This is great for debugging common software development problems such as memory leaks but will also mean that performance will degrade. This is not optimal for the release channel as the end users will want something fast and stable.

The feature channel can be used to test new or different features to ensure that it works will with the current release version. If no errors or significant defects occur when adding these features, they can easily be merged into the release channel with minimal problems.

References

Stepien, D. P. (2018, March 13). Questions about how quality is implemented in companies.

Retrieved from School of Electrical and Information Engineering Server:

https://flip.ee.usyd.edu.au/elec5618/Material/Overview/Quality_in_a_company/questions_on_quali ty_in_a_company.html

Edited by Saleem Gagguturu (https://sydney.instructure.com/courses/2463/users/44235) on Mar 13, 2018 at 20:57

1. Software quality refers to the extent to which a software project is able to fulfil its defined functional and nonfunctional requirements.

2. The purpose of “Software Quality Engineering” is to ensure that software is delivered to the quality standards that align with the requirements defined in the Software Requirement Specification. SQE is made up of a number of tasks to manage software quality including quality planning, assurance and control. Software Quality Engineering. These tasks can be performed through mechanisms such as defining software quality requirements, measuring software quality and reviewing the cost of quality.

3. Quality Planning, Assurance, and Control are all quality management activities in software development. Quality planning involves choosing the quality standards and procedures most suited to the software project. Quality assurance involves regularly reviewing that these quality standards (identified during quality planning) will continue to be met throughout the overall project itself. On the other hand, quality control involves reviewing that specific project results adhere to applicable quality standards, rather than the overall project performance like QA.

4. A “Software Requirement Specification” (SRS) is used to define the functional and nonfunctional requirements of a software application. Its purpose is to explain what value the software will provide to users (functional requirements) and any constraints in the project, including in the scope of the project and in the software development process (non functional requirements).

5. People Capability Maturity Model (P-CMM) is a framework for managing ‘critical people issues’ in software development projects. There are 5 P-CMM levels - Initial, Repeatable, Defined, Managed and Optimising. PCCM is relevant in a software development environment because it ensures software development capability is across the organisation rather than limited to a few people.

6. In the context of SQE, this means that code inspections must be carried out by at least two people in different roles and/or seniority e.g. tech leads vs. junior/senior software engineer vs. QA engineers vs. other engineers across teams. The more eyes on the code, the better quality control as different people may notice different issues in the code. Furthermore, an engineer inspecting their own code is likely biased and less likely to spot any issues.

7. One channel might be the “development channel” which manipulates the in development version of the product to be used internally only for development and testing purposes. Another channel could be a “canary channel” which is a pre-release version of the product that has been tested and is intended to be released next to production. It would be rolled out to a small

number of users with its purpose to ensure the product is running stabally and bugs are fixed before a full release. Finally, there could also be a “beta channel” which is a released version but with experimental features. It is only available to users who opt in to use the beta version of the product.

Sources:

‘What is software quality?’ class slides

Curtis, Hefley, and Miller. “The People Capability Maturity Model”. 2001 Sato, Danilo. “Bliki: CanaryRelease.” Martinfowler.com, 25 June 2014, martinfowler.com/bliki/CanaryRelease.html.

“The People Capability Maturity Model.” P-CMM, ifs.host.cs.standrews.ac.uk/Books/SE9/Web/Management/P-CMM.html.

Edited by Janette Chiu (https://sydney.instructure.com/courses/2463/users/27174) on Mar 13, 2018 at 21:28

1. one sentence definition of “Software Quality”.

Software Quality depends on whether it conforms to requirements, including both user and developer’s requirements, and uses as what they intend to do. Reference: (class_slides.pdf, 2018, slides 2)

2. What is the purpose, tasks, mechanisms, aims, and means that are part of “Software Quality Engineering”?

Software Quality Engineering is trying to set up applicable procedures and standards to ensure the project will satisfy the requirements and bring convenient for the following extension. It means that quality processing requires each involver will take the responsibility of its products which could establish a “quality culture”. Furthermore, Software Quality Engineering could also accelerate group working.

Reference: (class_slides.pdf, 2018, slides 3-9)

3. What is the difference between Quality Planning, Assurance, and Control in a software development environment?

Quality Planning happens before the project process. It is going to identify the procedures and standards as a requirement. Quality Assurance is a periodic check for the maintenance of the standards. It is during the whole process. Quality Control is just like a final assessment to ensure each part of project abide by the procedures and standards.

Reference: (class_slides.pdf, 2018, slides 4)

  1. Describe what is a “Software Requirement Specification”, what is it used for? What is its purpose?

Software Requirement Specification is a regulation of requirements which defines that not only functional requirements but also non-functional requirements are the essential part of SRS. The combination of these two requirements allows SRS could consider both external behaviour and internal constraints.

Reference: (class_slides.pdf, 2018, slides 7)

  1. What is the People Capability Maturity Model? How many stages does it contain? Where would that be relevant in a software development environment?

P-CMM is a framework which let the people’s developing management involved in software development. It is trying to improve the organizational capability and avoid a small group of people holds the key technique. It also helps retain people with knowledge and skills and align the motivation.

P-CMM is a five-stage model. These are the details:

  1. Initial
  2. Repeatable
  3. Defined
  4. Managed

P-CMM could establish mature flow about workforce development lead to organizational improvement which stimulates workforce motivation.

Reference: (class_slides.pdf, 2018, slide 13, 14, 15)

Curtis, B., Hefley, B., & Miller, S. (2009). People capability maturity model (P-CMM) version 2.0 (No. CMU/SEI-2009-TR-003). Carnegie-Mellon Univ Pittsburgh Pa Software Engineering Inst.

  1. Suppose you hear about the quality measures that are being used at a competing company. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

It is just like a double insurance. Different level means the two inspecting persons have different observation angles, and it could minimize the flaw probability. It is also easy to fulfill both external behaviour and internal constraints.

  1. You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

If there are three more channels, they must have a testing channel which includes black-box testing, white-box testing and pressure testing and so on. The remaining two channels may be the functional channel and compatibility channel. The functional channel will be the first version of the product which implemented all functional requirements. The compatibility channel may sacrifice some performance to gain compatibility for different situation, and it will develop whilst the testing channel.

  1. Software quality describes to which extend the software product meet the specifiedrequirements (functional and non-functional requirements).
  2. The purpose of software quality engineering is to ensure that a software product meetsa certain level of quality. This involves the following tasks of determining quality standards and procedures, as well as making sure that those are followed. The mechanisms are quality planning, quality assurance and quality control.
  3. Quality planning involves identifying the quality standards and the process to meet thosestandards. Quality assurance involves periodically assessing the overall project performance to ensure that it satisfies the quality standards. Quality control involves monitoring specific results (milestones?) to ensure that quality procedures are followed and results comply with the quality standards.
  4. A software requirements specification (SRS) is a document that details the externalbehaviour of the software (functional requirements) and the constraints on software development (non-functional requirements). The SRS describes to the developers what they are expected to produce.
  5. The People Capability Maturity Model (PCMM) is a framework which is used to manage thedevelopment of the people involved in software development. It contains 5 stages: initial, repeatable, defined, managed and optimising. It is relevant to software development environment as it ensures that the software development capability involves the organisation and not only a subset of individuals.
  6. “Code inspections must be done at least at two different levels of the hierarchy”. I think this means that they are focus on SQE, as the code is checked twice. The fact that two different people with different levels of the hierarchy are reviewing the code lowers the chance of having mistakes, as people with different background (different levels of expertise and speciality) are controling the code to ensure that it comply to the requirements. Therefore they are participating in quality assurance and quality control.
  • The three other channels could be the prototype channel, the beta channel, and the stablechannel. The prototype channel would be the one with the latest features from the developers, it may contains a lot of bugs. The beta channel is an improved version of the prototype channel as the realeased features have been improved from the earlier version and represent lower risks. The stable channel would be the version with the new features that have pass all the previous tests. This channel would be tested again as a whole, and once all the tests passed, it would be able to be release.

1. One sentence definition of “Software Quality”.

Software Quality is the degree to software’s fulfils functional requirements, and non-functional requirements and specification. (Ref: class_slides.pdf, 2018, p1)

2.What is the purpose, tasks, mechanisms, aims and means that are part of “Software Quality Engineering”? (1 paragraph)

The purpose of software Quality Engineering ensures the required level of quality is achieved in software product, which could make sure the project’s process and products meet specifications and the fitness use of products. The task involves defining appropriate quality standards, procedures. It aims to develop procedures and standards for quality. The mechanisms and means are some processes, such as quality planning, assurance and control.(Ref: class_slides.pdf, 2018, p1­p3)

3. What is the difference between Quality Planning, Assurance, and Control in a software development environment? (1 paragraph)

Quality Planning refers to identify the relevant quality standard and applicable produces to project; they can modify these as required and then fulfil them.

Quality Assurance refers to evaluating project performance to ensure the project satisfies the relevant quality standards.

Quality Control refers to monitoring specific project results to ensure they satisfy the quality standards, especially, to make sure that procedures and standards are followed by the software development team.

The differences of above are different evaluating objects to fulfil their quality standards.(Ref:

class_slides.pdf, 2018, p4)

4.Describe what a “Software Requirement Specification” is, what is it used for? What is its purpose? (1 paragraph)

The Software Requirement Specification is a document refers a description of a software system to be developed. It involves functional and non-functional requirements. It purposes is to provide a detailed overview of software product and specify the external behaviour of the software as well as the constraints on software development.(Ref: class_slides.pdf, 2018, p7)

5.What is the People Capability Maturity Model (http://cmmiinstitute.com/resources/peoplecapability­maturity­model­p­cmm/) ? How many stages does it contain? Where would that be relevant in a software development environment? (1 paragraph)People Capability Maturity

Model is a framework for managing the development of people that involved in software development. There are five stages which involves Initial, Repeatable, Defined, Managed and Optimizing. It improves organizational capability by workforce capability and ensures software development capability not depend on a small number of individuals. Furthermore, It aligns the motivation of individuals with that of the organization and help retain people with critical knowledge and skills.(Ref: class_slides.pdf, 2018, p12) (Ref: People­CMM.pdf, 2018, p18)

  1. Suppose you hear about the quality measures that are being used at a competing company. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

The means of code inspection need two people who come from two different levels take part in the process. For example, a developer and a manager can satisfy the quality measures. And, the quality measure could ensure the code fulfill the quality standards and requirements.

  1. You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what those are and what version of the product is manipulated?

As far as I am concerned, the three more channels could be testing channel, improvement channel and evaluation channel. The testing channel can ensure the product in service. The test can be done by developers or users. The improvement process can improve product features.


Then, evaluation channel could help developer maintain the products.

(https:// Even Guo

(h ps://sydney.instructure.com/courses/2463/users/57694)

Mar 14, 2018

1. One sentence definition of “Software Quality”.

Software quality is the degree that software product would meet the requirement and be utilized as it was intended to fulfil its specification.

Reference: (class_slides.pdf, 2018, slides 2)

2. What is the purpose, tasks, mechanisms, aims and means that are part of “Software Quality Engineering”? (1 paragraph)

Software quality engineering is concerned with the required level of quality by defining appropriate quality standards and procedures, which is aimed to create a ‘quality culture’. It contains three parts. They are quality planning, quality assurance and quality control. The first one is establishing standards and procedures, then followed by the evaluation and monitoring results.

Reference: (class_slides.pdf, 2018, slides 3, 4, 5)

3. What is the difference between Quality Planning, Assurance, and Control in a software development environment? (1 paragraph)

In quality planning, identifying quality standards and procedures is the first step, which is relevant to the project. Next, selecting the best applicable one as the practical one. After that, periodically evaluating the project performance as the feedback to check whether project suits the quality standards. Finally, by monitoring specific project results to ensure the procedures and standards could be followed by the software development team.

Reference: (class_slides.pdf, 2018, slide 4)

4. Describe what is a “Software Requirement Specification”, what is it used for? What is its purpose? (1 paragraph)

Software requirement specification is constituted by functional and non-functional requirement. The functional requirement is used for the requirements specification document. The other one is regarded as constrains and restrictions. Both of requirements all work for the specification and imposed document. They all are regarded as a kind of guidance for software to do well. They just make sense in different ways.

Reference: (class_slides.pdf, 2018, slide 6, 7)

  1. What is the People Capability Maturity Model (http://cmmiinstitute.com/resources/peoplecapability­maturity­model­p­cmm/) ? How many stages does it contain? Where would that be relevant in a software development environment? (1 paragraph)

People capability maturity model seems like a roadmap used for improving the capability of an organization’s workforce constantly. It has five stages. They are initial, repeatable, defined, managed and optimizing. It could improve staffs with continuous critical knowledge and skills. Besides, it could also avoid software development only based on the small group of individuals.

Reference: (Curtis, Hefley and Miller, 2001), (class_slides.pdf, 2018, slide 13, 14, 15)

  1. Suppose you hear about the quality measures that are being used at a competing company. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?


“Code inspection must be done at least at two different levels of the hierarchy”, I think it means, in order to produce good quality code, every code need be evaluated or inspected by more than one staffs who come from different departments. This method is similar with quality assurance in SQE. Periodically evaluating project performance is essential to ensure the project will satisfy relevant quality standards.

  1. You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use threemore channels. Can you imagine what are those and what version of the product is manipulated?

The three channels could be relevant about testing, such as internal, external and experimental testing. For example, using think-aloud to have an experimental testing with users. And using SUS to get the feedback in external testing. In addition, using SSCW to have an internal testing with staffs in organization.

(https:// Mingfeng Huang

(h ps://sydney.instructure.com/courses/2463/users/130992)

Mar 14, 2018

Q1:Definition of Software Quality.

A1:Software Quality is the measurement of how a software could meet the functional and nonfunctional requirements set up by SRS(class_slides.pdf, 2018, slides 6).

Q2:What is the purpose, tasks, mechanisms, aims and means that are part of Software

Quality Engineering?

A2:The main purpose of establishing SQE is to supervise the process of software development to achieve the defined standard. SQE includes the planning, assurance and control, which means that it should be working before, during and after the software development.Providing a appropriate working environment affects software quality in a positive way so it is also considered. All the works are aiming to build up a conception of “quality culture”(class_slides.pdf, 2018, slides 2) that make sure everyone can devote themselves to it and ensuring that the project meets the defined specifications.

Q3:What is the difference between Quality Planning, Assurance and Control for software development?

A3:Quality planning have to be done before the start of software development, because it contains the quality standards which are needed for starting the project.Then quality assurance acts the role of supervisor and ensures that the process of software development will obey the specifications defined by Quality planning. Quality control are responsible for the maintaining works of the project, to make sure it works in a correct way and adhere the requirements in Quality planning. So, in my point of view, the difference of those three parts of software development is that they take different responsibilities of the whole process in different time.

Q4:Describe what is a Software Requirement Specification, what is it used for and what is its purpose?

A4:SRS is the document includes both functional and non functional requirements which are especially significant for the software development. Functional requirements defines the purpose of the system, and they are mostly discussed and decided by customers. The other aspects of functions, like reliability, security and portability, are described as non functional requirements(class_slides.pdf, 2018, slides 6). In order to ensure the whole system will meet the planned performance, non functional requirements have to be represented as clear and detailed as possible. As the SRS have been set up, the project will start with the guide of SRS and will obey the rules mentioned in SRS.

Q5:What is the People Capability Maturity Model? How many stages does it contain? Where would that be relevant in a software development environment?

A5:PCMM is the tools for helping manage and organize employees in a team, aiming at improving the team’s workforce(People-CMM-01mm001.pdf, 2018, slides 10).

It includes 5stages, they are : initial, Repeatable, Defined, Managed and Optimizing(class_slides.pdf, 2018, slides 12).

It could be used in various industries. In the environment of software development, it could ensure that everyone in the team will participate into the process, not just particular members do the most part of jobs(class_slides.pdf, 2018, slides 12).

Q6:Suppose you hear about the quality measures that are being used at a competing company. One of them is Code inspections must be done at least at two different levels of the hierarchy. What do you think these means in the context of SQE?

A6:Inspections from different people is an effective way to ensure that code structure is wellorganized enough. In SQE, code inspections must be done by at least two people in different levels, in order to improve the quality of system.


Q7:You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

A7:In my point of view, one of them is the one have more functions or better quality than the “release channel” but it still have some intolerable bugs so it could be released, I call it the “nextbeta channel”. Another one is only used by developer, which means that users have higher permission to operate the product, let’s call it “admin channel”. The last one is like a “plan-B channel”, which is similar with the released version but still different in system structure. If the “release channel” gets some trouble in the market, such as shutting down without any reason or confusion of database, then we could re-release the “plan-B channel” to fix this problem.

(https:// Jiahui Dai

(h ps://sydney.instructure.com/courses/2463/users/65060)

Mar 14, 2018

1.one sentence definition of “Software Quality”.

Software quality is the degree to fulfil the functional requirements and non-functional requirements. (source: slide 1,7)

2.What is the purpose, tasks, mechanisms, aims and means that are part of “Software Quality Engineering”? (1 paragraph)

It will build some mechanisms such as the quality planning, assurance, control to define appropriate quality standards and procedures. It also aims to develop a ‘quality culture’ where quality is seen as everyone’s responsibility. (slide 3 4)

3.What is the difference between Quality Planning, Assurance, and Control in a software development environment? (1 paragraph)

The difference is that planning stresses to identify and select the standards, whereas assurance stresses to evaluate the performance and the control stresses to monitor the results.

(slide 4)

4.Describe what is a “Software Requirement Specification”, what is it used for? What is its purpose? (1 paragraph)

A software requirements specification (SRS) is a description of a software system to be developed. It lays out functional and non-functional requirements and may include a set of use cases that describe user interactions that the software must provide. It is used for software quality management including set some standards. (slide 7,3,4)

5.What is the People Capability Maturity Model? How many stages does it contain? Where would that be relevant in a software development environment? (1 paragraph)

The People Capability Maturity Model is a roadmap for implementing workforce practices that continuously improve the capability of an organization’s workforce. It has five stages:1. Initial 2. repeatable 3. defined 4. managed 5. optimizing. (slide 14; Bill Curtis, William E. Hefley, Sally A.

Miller July 2001)


6.Suppose you hear about the quality measures that are being used at a competing company. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

It means that this company has strict quality management and do much better in quality assurance and control. It can ensure the code has less bugs if it is released on the market.

7.You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

Dev channel: users can see what's happening quickly. It shows what engineers are working on right now

Beta channel: it releases the software with new features which has the minimal risks.

Stable channel: This channel has gotten the full testing and blessing of the test team and is the best bet to avoid crashes and other issues. (source: https://www.chromium.org/gettinginvolved/dev-channel)

(https:// Syed Ali

(h ps://sydney.instructure.com/courses/2463/users/56568)

Mar 14, 2018

1. Software Quality can be defined as the degree to which a software meets its functional and nonfunctional requirements set out during the planning phase of the project.

2.The purpose of Software Quality Engineering is to ensure that the quality achieved in a software product is at the required level and that it meets all the functional and non-functional requirements

set out. The tasks involved in SQE include defining quality standards and procedures and ensuring they are followed. It aims to create ‘quality culture’

  1. Quality Planning involves choosing quality standards relevant to the project and how they can be satisfied. Whereas Quality Assurance involves the evaluation of overall project performance periodically to make sure it meets the the quality standards set out during quality planning. Quality Control on the other hand involves monitoring specific results to make sure they meet the relevant quality standards.
  1. The Software Requirement Specification (SRS) outlines the functional and non-functional requirements of the software which describe what the system should do and how the system should behave respectively. This document is used during development so that all requirements are satisfied to an acceptable degree.

  • The People Capability Maturity Model is intended as a framework to allow for the development and growth of people involved in software development. It contains five stages: Initial, Repeatable, Defined, Managed and Optimising. This would be relevant in a software development environment to allow for a team to work better together and improve overall efficiency.
  1. In the context of SQE this means the code is looked at 2 different people, in different levels in the organisational structure. One could be a software developer while another could be their manager. Both these people have different amounts of experience and it allows for the code to go through more rigorous testing and increase the chance of higher quality code.
  1. They could have channels for beta, experimental and a features channel. The beta channel where versions of the product are tested that are intended for the release version sometime in the future. The experimental channel is a channel where there is a lot more product manipulation done and is used to test ideas that normally would not have been implemented. The features channel is where new features intended for the release version are designed and tested to be later merged with the main release version.

(https:// Iris Wang

(h ps://sydney.instructure.com/courses/2463/users/142411)

Mar 14, 2018

1. one sentence definition of “Software Quality”.

Software Quality is the degree that the software meet its specifications and the software can be used as it was intended. (class_slides.pdf, page 2)

  1. What is the purpose, tasks, mechanisms, aims and means that are part of “Software Quality Engineering”? (1 paragraph)

The purpose of Software Quality Engineering is ensuring that the required level of quality is achieved in a software product. The tasks in Software Quality Engineering are defining appropriate quality standards and procedures and ensuing that these are followed. And the aim is to develop a ‘quality culture’ where quality is seen as everyone’s responsibility. It usually includes the quality planning, quality assurance and quality control process. (class_slides.pdf, page 3, 4)

  1. What is the difference between Quality Planning, Assurance, and Control in a software development environment? (1 paragraph)

The processes occur at different stage during software development. For Quality Planning, it mainly happens at the initial planning stage while Quality Assurance could happen throughout the whole development period. Quality Control will get involved in the final stage of the development. And the aims for these processes are different. The purpose of Quality Planning is to identify the relevant quality and decide how to satisfy them. The aim of Quality Control is to ensure the project satisfy the relevant quality standards and Quality Control is to ensure procedures and standards are followed by the software development team. (class_slides.pdf, page 4)

  1. Describe what is a “Software Requirement Specification”, what is it used for? What is its purpose? (1 paragraph)

Software Requirement Specification (SRS) defines both functional and non-functional requirements that the software need to meet. And it should specify the external behaviour of the software as well as the constraints on software development. It is used as the baseline for validation and verification. The purpose of SRS is to identify what is the software going to do. (class_slides.pdf, page 7)

  1. What is the People Capability Maturity Model? How many stages does it contain? Where would that be relevant in a software development environment? (1 paragraph)

People Capability Maturity Model (P - CMM) is a framework for managing the development of people involved in software development. It contains five stages which are initial, repeatable, defined, managed and optimizing. P – CMM is relevant in software development environment. One of the objectives of P – CMM is to ensure that software development capability is not reliant on a small number of individuals. (class_slides.pdf, page 12, 13)

  1. Suppose you hear about the quality measures that are being used at a competing company. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

In the context of SQE, it means that code is inspecting by different group of people. In other words, it means that the code can be verified from different perspectives, for example for developer, their major concern would be does the product meet the requirement while for the clients, they can check whether the product is user-friendly or easy to use.


  • You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

In my opinion, the 3 channels would be development channel, verification channel and validation channel. For development channel, it is for the product which is still under development and developers in the organisation can apply the most recent code into this channel. For verification channel, it is for the product which the development is finished. Testers can use this channel to verify the product to see if it meets with the client’s requirement. For the validation channel, it is for the product which is ready to be released. Testers can go into this channel to see if the product addresses the real-world need.

(https:// Chuyue Xiao

(h ps://sydney.instructure.com/courses/2463/users/61447)

Mar 14, 2018

1. One sentence definition of “Software Quality”.

Software quality is to reach standards in all aspects of inherent characteristics of the software, such as the reliability, security, availability and etc.

2. What is the purpose, tasks, mechanisms, aims and means that are part of “Software Quality Engineering”? (1 paragraph)

The purpose of software quality engineering should be helping a product meet the standards of its inherent characteristics. Tasks of software quality engineering involve establishing quality standards and procedures and make sure these are followed, aims at developing a ‘quality culture’ where everyone can be responsible for quality. The whole processes will go through quality planning, assurance, control and measuring the final results of the software by using software quality management.

Reference: (class_slides.pdf, 2018, slides 3, 4, 5, 8)

3. What is the difference between Quality Planning, Assurance, and Control in a software development environment? (1 paragraph)

Quality planning refers to identifying related standards and figure out how to meet them, and decide the needed procedures and standards from the requirements. Quality assurance refers to evaluating the whole process to ensure the project will meet the standards, quality control refers to monitoring the results of the project to ensure it goes as the plan we made at the beginning.

Reference: (class_slides.pdf, 2018, slide 4)

  1. Describe what is a “Software Requirement Specification”, what is it used for? What is its purpose? (1 paragraph)

Software Requirement Specification (SRS) constitute a complete statement of what the software should be and included functional and non-functional two parts of requirements so that it can help assess whether the software meets the requirements or not.

Reference: (class_slides.pdf, 2018, slide 6)

  1. What is the People Capability Maturity Model? How many stages does it contain? Where would that be relevant in a software development environment? (1 paragraph)

The People Capability Maturity Model (PCMM) is a framework used for managing people who involved in the software development process, aims at helping people better cooperated in the project so that the software they worked on will be qualified. There are five stages in this framework, which are initial, repeatable, defined, managed and optimizing, and the relevant part in a software development environment are initial and defined, since they need to decide the standards and specifications of people management, just like the quality planning stage needs to set the standards and requirements of a specific software.

Reference: (class_slides.pdf, 2018, slide 13, 14)


  • Suppose you hear about the quality measures that are being used at a competing company. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

In order to ensure the software quality, the code must be evaluated by at least two groups of people that from the different level in the project hierarchy. For instance, the IT programmer and IT manager may both needed in the case to ensure the software quality.

  1. You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

The three channels can be development channel, monitor channel and test channel. Development channel needs to make a plan to decide what the standards the product must meet and how to achieve them, after that the monitor channel needs to control and evaluate whether the product developed as the plan made from development channel or not, in order to ensure the whole progress is in the right direction towards the standards, the test channel is to test the result of the product and correct anything goes wrong before releasing.

(https://

Gladys Wong

(h ps://sydney.instructure.com/courses/2463/users/37451)

Mar 14, 2018

  1. Software quality the satisfactory level of the product in terms of meeting its functional and nonfunctional requirements.
  2. The purpose of software quality engineering is to make sure products developed meets thedefined requirements, specifications and standards in the SRS. It involves quality planning, assurance and control and aims to develop a ‘quality culture’ within the organisation.
  3. Quality planning is selecting applicable procedures for the project before software is developed. Quality assurance is regularly assess the project performance during development and make changes to the plan if required. Quality control is observe and check whether the project result is in accordance to the quality standards after the project is finished.
  4. The Software Requirement Specification (SRS) is a document that specifies the functional andnon-functional requirements of a product in details. With both requirements listed in SRS, it allows project manager (or any relevant stakeholders) to measure how the constraints (non-functional requirements) could affect the software development of the external behaviour (functional requirements).

  • The People Capability Maturity Model (P-CMM) is a 5-stage framework that are used to improvethe capability of the involved software development workforce as a whole. The stages are initial, repeatable, defined, managed and optimising. It is relevant in all stages of a software development environment as it is essentially the “HR” of project management and making sure the project will still succeed even with staff turnover.
  1. In the context of SQE, it means this competing company have put efforts into their softwarequality. Performing code inspections at two different levels not only improves the validity of the inspections, it also motivates individuals in the lower hierarchy to consider code quality while performing software development and ensure the code quality is being considered from different opinions in various backgrounds.
  2. I would imagine the other three channels would be a “previous release channel” “developmentchannel”, and a “testing channel”. The “previous release channel” is the channel that stores older versions of the product, this channel allows the company to roll back to working (quality) older releases according to client’s requests or if the current release from the “release channel” suffers from major external failure. The “development channel” is a channel where software developers manipulate potential future releases, it would potentially include extra functionalities that have not been tested or still under development and therefore not ready for a market release. The “testing channel” is where software developers or the quality assurance team test for internal failures and defects before the product reaches customer. It might also include regression testing on products of the current release if software developers had rectified external failures.

(https:// Anirudh Sharma

(h ps://sydney.instructure.com/courses/2463/users/73068)

Mar 14, 2018

Hi Peter, these are my answers to the given questions.

1. One sentence definition of “Software Quality”.

Answer: It is the degree to which the inherent characteristics of a software meets both the functional requirements (i.e. the actual services provided to the user) as well as non-functional requirements (such as reliability, usability, availability etc).

Reference: (class_slides.pdf, 2018)

  1. What is the purpose, tasks, mechanisms, aims and means that are part of “Software QualityEngineering”?

Answer: The purpose and the aim of Software Quality Engineering is to ensure that a desired level of quality is present in a software product (such that it meets the functional and the non-functional requirements). It also aims in building a quality culture in the organization such that quality is seen as everyone's responsibility within. The mechanisms/processes it includes are Quality planning, Quality assurance, and Quality control.

Reference: (class_slides.pdf, 2018)

  1. What is the difference between Quality Planning, Assurance, and Control in a software development environment?

Answer: Quality planning includes identifying the quality standards that need to be adopted and selecting appropriate procedures and standards for the project. Quality assurance involves constantly evaluating the overall performance of the project to make sure that the project satisfies the adopted quality standards. Quality control includes the monitoring of the results of the project to ensure that they meet with the predefined standards.

Reference: (class_slides.pdf, 2018)

  1. Describe what is a “Software Requirement Specification”, what is it used for? What is itspurpose?

Answer: SRS is formal project document that exactly specifies all the project requirements and specifications relating to the software project. The SRS specifies 1) Functional requirements: i.e. the services which are provided to the customer as an end result of the project and is mostly contains the bulk of the requirements. 2) Non­Functional requirements: which are generally the constraints imposed on the software such as reliability, security, availability of the software etc.

Reference: (class_slides.pdf, 2018)

  1. What is the People Capability Maturity Model? How many stages does it contain? Where would that be relevant in a software development environment?

Answer: The P-CCM is a framework which is used to manage the development and enhancement of the employees involved in the development of a project. It emphasis on improving the overall capability of the organization by enhancing the capability of the workforce and also aligns the individual motivation to that of the whole organization. It contains the following five stages: Initial, Repeatable, Defined, Managed, and Optimizing. In a software development environment, the PCCM will help in improving the knowledge of the people at all levels and also will ensure that improvements in the processes are communicated and managed at all the levels of the organization.

Reference: (class_slides.pdf, 2018), (Curtis, Hefley & Miller 2001)

  1. Suppose you hear about the quality measures that are being used at a competing company.

One of them is “Code inspections must be done at least at two different levels of the hierarchy”.

What do you think these means in the context of SQE?

Answer: This means that a code which is generated by a person within the organization will atleast be reviewed by different people within the organization sitting at two different levels of hierarchy. For instance: A code written by a developer will be reviewed by his senior manager and someone who is at a lower position than the developer. This will eventually help in minimizing the quality issues and help in figuring out any bugs present in the code before deploying the software.

  1. You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?


Answer: The additional three more channels can be development channel, beta channel, and stable channel. All these three channels can have different levels of quality acceptance, For instance: The development channel could be edited/updated more frequently during the developing stage of the product and some bugs/errors are acceptable which can be further rectified here. This channel can be updated once or twice weekly. The beta channel would include the beta version of the product which would again be tested by the people in the company to fix any bugs or such. It could also be used to view any latest upcoming changes in the product. This channel can be updated roughly every week. The Stable channel is the one which is fully tested by the team to avoid any crashes and problems. It can be updated once every 3-4 weeks for some minor changes and also every 6 weeks for some major changes.

Reference: http://support-us.samsung.com/cyber/popup/iframe/pop_troubleshooting_fr.jsp?

from_osc=&homeid=408000&idx=711023&modelcode=XE303C12A01US&modelname=XE303C12&

(https:// Hongliang Pan

(h ps://sydney.instructure.com/courses/2463/users/55535)

Mar 14, 2018

1. One sentence definition of “Software Quality”

Software Quality describes the degree of how the system satisfies the requirements (including both functional requirements and non-functional requirements) Reference: Slides 1

  1. What is the purpose, tasks, mechanisms, aims and means that are part of “software quality engineering”

The purpose is to ensure the required level of quality is achieved in a software product. The aim is to develop a “quality culture” where quality is seen as everyone’s responsibility

Tasks includes establishing organisational procedures and standards for quality.

Reference: Slides 1

  1. What is the difference between Quality planning, Assurance, and Control in a software development environment?

Quality planning: identifying which quality standards are relevant to the project and how to satisfy them.

Quality assurance: periodically evaluating overall project performance to ensure the project will satisfy the relevant quality standards.

Quality control: monitoring specific project results to ensure that they comply with the relevant quality standards.

Reference: Slides 1

  1. Describe what is a “software requirement specification”, what is it used for? What is itspurpose?

SRS is used to specify the external behaviour of software as well as the constraints on software development. Its purpose is to provide a detailed overview of our software product, its parameters and goals.

Reference: Slides 1

  1. what is the People Capability Maturity Model? How many stages does it contain? Where would that be relevant in a software development environment?

P-CMM is intended as a framework for managing the development of people involved in software development. It contains 5 stages. Its objectives include improving organizational capability by improving workforce capability. Ensuring that software development capability is not reliant on a small number of individuals, aligning the motivation of individuals with that of the organization, helping retain people with critical knowledge and skills.

Reference: Slides 1

  1. Suppose you hear about the quality measures that are being used at a competing company. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

In the context of SQE, this means code inspections should be done by at least two people with different background.


  • You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

It may include product developing channel, product testing channel and pre-release channel. At the beginning, the developers should work on the product developing channel. After that, the testers will work on the product testing part. At the end, a pre-release version should be manipulated on pre-release channel.

(https:// Te Han

(h ps://sydney.instructure.com/courses/2463/users/60748)

Mar 14, 2018

1 one sentence definition of “Software Quality”.

Software quality can be defined that the degree to which a set of inherent characteristics fulfils software requirements.

2 What is the purpose, tasks, mechanisms, aims and means that are part of “Software Quality Engineering”? (1 paragraph)

The purpose of software quality engineering is to ensures that the required quality standards are being achieved for the software product. The tasks of software quality engineering are including following these three tasks: define properly requirements and procedures and ensure these standards. It aims to ensures that the project will satisfy the needs for which it was undertaken and to develop a ‘quality culture’ where quality is seen as everyone’s responsibility. Last but not least, that means establishing organizational procedures and standards for quality.

3 What is the difference between Quality Planning, Assurance, and Control in a softwaredevelopment environment? (1 paragraph)

Quality Planning is the stage that to identify which quality standards are relevant to the project which is being done at the beginning of the whole software development environment. But quality assurance is the stage which happened during the period. And the quality control is the stage which experienced in the end of software development.

  • Describe what is a “Software Requirement Specification”, what is it used for? What is itspurpose? (1 paragraph)

Software Requirement Specification illustrates the software that is to be developed. It mainly consists of functional requirements which provided for the user and nonfunctional requirements which impose constraints on the software, and the restrictions put on the software development project. This document specifies the external behavior of the software as well as the constraints on software development.

  • What is People Capability Maturity Model? How many stages does it contain? Where would that be relevant in a software development environment? (1 paragraph)

The People Capability Model is a framework that can be utilized for measuring stuffs involved in the software development project.

It includes five stages: initial, repeatable, Defined, Managed, Optimizing.

  • Suppose you hear about the quality measures that are being used at a competingcompany. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

I think this means that the code published should be reviewed and tested by different code developers, and they should ensure the code contains no bugs, issues or vulnerabilities. Furthermore, the higher-level colleague need to do the task again for better software security.

7 You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

The other channels can include development channels. The development channel can include a version of the software that, for example, sacrifices speed to ensure that it is working correctly. For example, the compiler for a certain programming language can enable debugging or back trace mode. This is great for debugging common software development problems such as memory leaks but will also mean that performance will degrade. This is not optimal for the release channel as the end users will want something fast and stable.

(http Te Han

(h ps://sydney.instructure.com/courses/2463/users/60748)

Mar 15, 2018

is that post correctly?

(http Peter Stepien

(h ps://sydney.instructure.com/courses/2463/users/109940)

Mar 18, 2018

Yes, very good.

(https:// Bohan Li

(h ps://sydney.instructure.com/courses/2463/users/41152)

Mar 14, 2018

1. one sentence definition of “Software Quality”.

The degree to which a set of inherent characteristics fulfils requirements.

2. What is the purpose, tasks, mechanisms, aims and means that are part of “Software Quality Engineering”? (1 paragraph)

The SQE aims to ensure that the required level of quality is achieved in a software product, including functional requirements and non-functional requirements. SQE includes quality planning, quality assurance and quality control.

3. What is the difference between Quality Planning, Assurance, and Control in a software development environment? (1 paragraph)

Quality planning is identifying which quality standards are relevant to the project and how to satisfy them. Select applicable procedures and standards for a particular project and modify these as required. Quality assurance is to periodically evaluate overall project performance to ensure the project will satisfy the relevant quality standards. Quality control is monitoring specific project results to ensure that they comply with the relevant quality standards. Ensure that procedures and standards are followed by the software development team.

  1. Describe what is a “Software Requirement Specification”, what is it used for? What is its purpose? (1 paragraph)

Software requirements specifications (SRS) includes functional requirements and non-functional requirements. Functional requirements are the services provided for the user and usually make up the bulk of the requirements specification document. Non-functional requirements are the constraints imposed on the software, and the restrictions put on the software development project. They include reliability, security, performance, usability, availability and portability constraints. The purposes for the SRS is to ensure the software quality and enable the companies and clients have the same understanding of the project.

  1. What is the People Capability Maturity Model(http://cmmiinstitute.com/resources/peoplecapability­maturity­model­p­cmm/) ? How many stages does it contain? Where would that be relevant in a software development environment? (1 paragraph)

The People Capability Maturity Model is intended as a framework for managing the development of people involved in software development. There are five stages including, initial, repeatable, defined, managed and optimizing. It is used to improve organisation capability, to ensure that software development by improving workforce capability, to align the motivation of individuals with that of the organisation, and to help retain people with critical knowledge and skills.

  1. Suppose you hear about the quality measures that are being used at a competing company. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

I think this refers to the verification tier and validation tier. Verification tier is to ensure that the software should conform to its specification which means: Are we building the product right? Validation tier is to ensure the software do what the user really requires which means that: are we building the right product?

  1. You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use threemore channels. Can you imagine what are those and what version of the product is manipulated?

I think the other three more channels are quality planning, quality assurance and quality control. Quality planning is to identify which quality standards are relevant to the project and how to satisfy them. That is, select applicable procedures and standards for a particular project and modify these as required. Quality assurance is to periodically evaluate overall project performance to ensure the project will satisfy the relevant quality standards. Quality control is to monitoring specific project results to ensure that they comply with the relevant quality standards. That is, ensure that procedures and standards are followed by the software development team.

References:

class_slides.pdf. (2018).

Curtis, B., Hefley, W. and Miller, S. (2001). The People Capability Maturity Model. 2nd ed.

Pitsburg,


PA: Carnegie Mellon, Software Engineering Inbstitute, pp.3-14.

(https:// Xiao Xiang

(h ps://sydney.instructure.com/courses/2463/users/137771)

Mar 15, 2018

1. One sentence definition of “Software Quality”.

Software quality can reflect the product's ability to fulfill functional as well as nonfunctional requirements of customers.

2. What is the purpose, tasks, mechanisms, aims and means that are part of “SoftwareQuality Engineering”? (1 paragraph)

Software Quality Engineering use the engineering and management which effectively combines quality control, quality assurance and quality management to ensure and improve software quality.

3. What is the difference between Quality Planning, Assurance, and Control in a softwaredevelopment environment? (1 paragraph)

Quality Planning determines the quality standards that are relevant for the project and decide how to meet them.Quality assurance can examine the results of the project to determine whether it meets the relevant quality standards and formulate effective programs to eliminate the quality problems.Quality assurance is aim to ensure that all necessary processes in the project meet the expectations of project.The difference between these three is that they are at different stage of the project.

4. Describe what is a “Software Requirement Specification”, what is it used for? What is itspurpose? (1 paragraph)

The Software Requirements Specification defines the functional and non-functional requirements that the software needs to satisfy.This document acts as a representation of software that enables the users to review whether it is according to their requirements. Furthermore, it includes user requirements for a system as well as detailed specifications of the system requirements.

5. What is the People Capability Maturity Model? How many stages does it contain? Wherewould that be relevant in a software development environment?

PCMM is a framework for managing the development of people involved in software development. It includes 5 stages: Initial, Repeatable, Defined, Managed and Optimizing. It is related to the software development environment since it ensures that the software development ability lies in the organization not just the individual.

6. Suppose you hear about the quality measures that are being used at a competingcompany. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

I think this means that they need technicians of at least two different levels to check the code, because different levels of people tend to have different sensitivity to the code. It will reduce errors as much as possible to ensure the quality of the project, which is consistent with the purpose of software quality engineering.


  1. You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

The three channels include development channels, monitoring channels, and test channels. Because the development channel can formulate programs to know and realize product requirements. The monitoring channel can monitor the realization of the entire plan during the development process and ensure that it is developing in the right direction. The test channel can fix vulnerabilities before the product is launched in order to give users the best user experience.

(https:// Wolfe Lee

(h ps://sydney.instructure.com/courses/2463/users/18112)

Mar 15, 2018

1. One sentence definition of Software Quality

Software quality refers to how it achieves non-functional requirements which support the delivery of the functional requirements.

2. What is the purpose, tasks, mechanisms, aims and means that are part of Software Quality Engineering?

Software quality engineering is to ensure that the required level of quality is achieved in a software product and this involves defining appropriate quality standards and procedures and ensuring that these are followed. ‘Quality culture’ where quality is everyone’s responsibility is the aim to be developed and to ensure that the project will satisfy the needs for which it was undertaken.

3. What is the difference between Quality Planning, Assurance and Control for software development?

Quality planning is to identify which quality standards are relevant to the project and how to satisfy them. Quality assurance is to evaluate overall project performance periodically. Quality control is monitoring specific project results to ensure that they comply with the relevant quality standards.

4. Describe what is a Software Requirement Specification, what is it used for and what is its purpose?

Software requirement specification (SRS) has functional requirements which are the services provided for the user and non-functional requirements which are the constraints imposed on the software and the restrictions put on the software development project. The SRS should specify the external behaviour of the software as well as the constraints on software development.

  1. What is the People Capability Maturity Model? How many stages does it contain? Where would that be relevant in a software development environment?

People capability maturity model (P-CMM) is a five-stage model (initial, repeatable, defined, managed, and optimising) which intended as a framework for managing the development of people involved in software development. It is to improve organisational capability by improving workforce capability and make sure software development capability is not reliant on a small number of individuals. Also, the motivation of individuals with that of the organisation is aligned and people are helped retain with critical knowledge and skills.

  1. Suppose you hear about the quality measures that are being used at a competing company.

One of them is Code inspections must be done at least at two different levels of hierarchy.

What do you think these means in the context of SQE?

It means that the code developed and written by a code developer should be checked by two inspectors which are from two different levels of hierarchy in the organisation or company.

  1. You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

In my opinion, the other three channels could be planning, evaluation, and development channels. Planning channel is to plan for developing the product from the beginning to the end, and for the channel of evaluation, this would evaluate any situations and problem which may be met when developing the product. Then the channel for development is to start creating and developing the framework of product including any test on the product.

Edited by Wolfe Lee (https://sydney.instructure.com/courses/2463/users/18112) on Mar 15, 2018 at 2:37

(http Lang Deng

(h ps://sydney.instructure.com/courses/2463/users/71938)

Mar 15, 2018

Here is my answer to the questions:

1.Definition of Software Quality

It is the degree to which a set of inherent characteristics fulfils requirements.(side1, page2)

  1. What is the purpose, tasks, mechanisms, aims and means that are part of Software QualityEngineering?

Software Quality Engineering aims to meet the project written specifications. It ensures that the required level of quality is achieved in a software product, and involves defining appropriate quality standards and procedures and ensuring that these are followed.(Side1, page2,3)

  1. What is the difference between Quality Planning, Assurance and Control for softwaredevelopment?

Quality planning is identifying the project quality standards and how to meet them. Quality assurance is ensuring the project will satisfy the relevant quality standards. Quality control is ensuring the project team follow the schedule and products meet the requirments.(Side 1, page 4)

  1. Describe what is a Software Requirement Specification, what is it used for and what is itspurpose?

SRS is used for constrainting the software development with external behaviour, which includes functional requirements and non functional requirements. It aims to achiving the standard of project required.(Side 1 ,page 7)

  1. What is the People Capability Maturity Model? How many stages does it contain? Wherewould that be relevant in a software development environment?

People Capability Maturity Model is a framework for managing people involved in software development. It relevant to software development environment as it continuously improve the capability of an organization’s workforce which divided in 5 stages:Initial,Repeatable,Defined,Managed,Optimizing.(Side 1, page13,14,15 &Curtis, Hefley and Miller, 2001)

  1. Suppose you hear about the quality measures that are being used at a competingcompany. One of them is Code inspections must be done at least at two different levels of the hierarchy. What do you think these means in the context of SQE?

This means the code has to be reviewed at least by the developer and the leader of developer. It can increase the reliability and performance of SQE.

  1. You also hear that the rival company has different channels in which different versions ofthe product are manipulated. One of them is called the release channel, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

I think three more channel might be development channel , test channel, the fixed channel. Firstly, the development channel is the vasion just finished. Then, the test chanel check whether it meet all the requirements. The fixed channel is ensure the problem all fixed.


(https:// Luke Lee

(h ps://sydney.instructure.com/courses/2463/users/49421)

Mar 15, 2018

1. One sentence definition of “Software Quality”.

Software quality is the extent to which functional and non-functional requirements are met, and its fitness for intended use.

(class_slides.pdf, slides 1, 6)

2. What is the purpose, tasks, mechanisms, aims and means that are part of “Software

Quality Engineering”? (1 paragraph)

The purpose of Software Quality Engineering is to ensure that the required level of quality is achieved in software. To do this, a quality standard is first established which specifies the quality goals of the project. Then to meet these standards, procedures are put in place for the development team. Checks are put in place to ensure the standards and procedures are followed. Finally, software quality engineering aims to foster a culture where everyone shares the responsibility for the quality of the final software.

(class_slides.pdf, slide 2)

3. What is the difference between Quality Planning, Assurance, and Control in a software development environment? (1 paragraph)

Quality Planning establishes the standards a project needs to meet. This is also where you determine what procedures to take to meet these standards.

Quality Assurance is where you periodically evaluate the project performance to determine whether it is meeting the standards established in Quality Planning.

Quality Control ensures that the team is following the procedures and standards and measures specific metrics to make sure the standards are met.

(class_slides.pdf, slide 3)

4. Describe what is a “Software Requirement Specification”, what is it used for? What is its purpose? (1 paragraph)

A Software Requirement Specification (SRS) is a project documentation that specifies what requirements should be fulfilled by the project. It serves as a guide for what the software should be capable of doing (functional requirements) and under what constraints the software should be able to perform (non-functional requirements).

(class_slides.pdf, slide 6)

5. What is the People Capability Maturity Model (http://cmmiinstitute.com/resources/peoplecapability­maturity­model­p­cmm/) ? How many stages does it contain? Where would that be relevant in a software development environment? (1 paragraph)

The People Capability Maturity Model (P-CMM) is a framework for managing the development of people involved in software development that strives to improve, motivate and retain people. There are five stages (initial, repeatable, defined, managed, optimising). It ensures that developers are capable, not over-reliant on few key individuals and aligns their motivation with the organisation.

(class_slides.pdf, slides 12, 13)

6. Suppose you hear about the quality measures that are being used at a competing company. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

The quality measure is a repeatable procedure to ensure verify quality. It gives an opportunity for developers lower in the hierarchy to review and learn from more experienced developers. This not only improves the quality of the software but also encourages transfer of skills and knowledge.

(class_slides.pdf, slides 12, 13, 14, 15)

7. You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

One channel could be a beta channel which is mostly stable and is waiting for final checks and user tests etc. before release.

Another channel could be an experimental channel where specific new features are tested for feedback.

Finally, the last channel could be a development channel which the developers could currently be working on.

(https:// Melissa Handaja

(h ps://sydney.instructure.com/courses/2463/users/26822)

Mar 15, 2018

1. Software quality refers to how well software conforms to requirements including specifications from both the customer and the developer.

2. Software Quality Engineering attempts to meet the requirements of a software product following certain guidelines in both the development and maintenance stages. It aims to define the relevant quality standards, involve everyone in the responsibility of ensuring these standards are met, and establish procedures in order to meet these needs.

3. Quality planning refers to figuring out the relevant standards how to satisfy them, assurancerefers to the ongoing evaluation of the project progress to ensure to meet the standards mentioned

above, whereas control refers to the making sure that the results follow these standard, and that the procedures were followed by the development team.

  1. The software requirement specification includes the functional requirements (how software should behave) and non-functional (how it should be implemented) requirements of a piece of software. It allows for overall evaluation of the software quality.

  • The People Capability Maturity Model is a framework managing people involved in a softwaredevelopment project. It contains 5 stages namely initial, repeatable, defined, managed and optimizing. It is relevant in a software development environment, in particular agile environments, improving productivity and capability across the organisation as a whole.
  1. ”Code inspections must be done at least two different levels of the hierarchy” in the context ofSQE would refer to projects is being monitored by at least two levels of hierarchy. This would ensure that the project is being overlooked by possibly someone more experienced, or more aligned to the product area who can monitor and give suggestions in regards to the quality of the product before deployment.
  1. These three “channels” may have a different level of quality assurance which allows for a moreclear idea of how the product will behave within the system, such that the correct improvements implemented and the fixing of bugs done in a timely manner. The “release channel” I imagine would be when the product behaves expectedly in the other channels.

(https:// Jinhe Li

(h ps://sydney.instructure.com/courses/2463/users/55534)

Mar 15, 2018

1. One sentence definition of “Software Quality”.

The degree to which a set of inherent characteristics fulfils requirements.

2. What is the purpose, tasks, mechanisms, aims and means that are part of SoftwareQuality Engineering?

Purpose: ensure that required level of quality is achieved in a software product

Tasks: defining appropriate quality standards and procedures and ensuring that these are followed.

Mechanisms: establish organisational procedures and standards for quality.

Aim: to develop a ‘quality culture’ where quality is seen as everyone’s responsibility.

Means: Quality planning, Quality assurance, Quality control

3. What is the difference between Quality Planning, Assurance and Control for software development?

Quality planning: identifying which quality standards are relevant to the project and how to satisfy them. Select applicable procedures and standards for a particular project and modify these as required.

Quality assurance: Periodically evaluating overall project performance to ensure the project will satisfy the relevant quality standards.

Quality control: Monitoring specific project results to ensure that they comply with the relevant quality standards. Ensure that procedures and standards are followed by the software development team.

  1. Describe what is a Software Requirement Specification, what is it used for and what is itspurpose?

Software Requirement Specification (SRS) consists of Functional and Non-functional requirements. Functional requirements are the services provided for the user and usually make up the bulk of the requirements specification document. Non functional requirements are the constraints imposed on the software, and the restrictions put on the software development project, They include reliability, security, performance, usability, availability and portability constraints.

Software Requirement Specification should specify the external behaviour of the software is well as the constraints on software development. SRS constitute a complete statement of what the software will do, without referring to how it will do it.

  1. What is the People Capability Maturity Model? How many stages does it contain? Wherewould that be relevant in a software development environment?

The People Capability Maturity Model is intended is a framework for managing the development of people involved in software development.

Five stage model:

Initial. Ad-hoc people management

Repeatable. Policies developed for capability improvement

Defined. Standardised people management across the organisation.

Managed. Quantitative goals for people management in place.

Optimizing. Continuous focus on improving individual competence and workforce motivation

  1. Suppose you hear about the quality measures that are being used at a competingcompany. One of them is Code inspections must be done at least at two different levels of the hierarchy. What do you think these means in the context of SQE?

To improve the code quality, code inspections must be done by others at different technical levels to offer different suggestions. It serves as one kind of quality assurance in the context of SQE. Becasuse a product with high code quality will be more competitive, code inspections is essential in the process of development.

  1. You also hear that the rival company has different channels in which different versions of the product are manipulated. One of them is called the release channel, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

Development channel: New features are built based on currently released product. The product in this channel is feature-rich and innovative.


Revision channel: Some bugs existing in the currently released version should be fixed in revision channel.

Testing channel: Several tests are operated on products in the testing channel.

Reference: (class_slides.pdf, 2018)

Edited by Jinhe Li (https://sydney.instructure.com/courses/2463/users/55534) on Mar 15, 2018 at 11:32

(https:// Jiarui Li

(h ps://sydney.instructure.com/courses/2463/users/141987)

Mar 15, 2018

1. One sentence definition of “Software Quality”.

Software quality is the degree to which the software characteristics fulfill the requirements of the customer and how well the software meets its desired specification.

(class_slides.pdf, 2018)

2. What is the purpose, tasks, mechanisms, aims and means that are part of “Software Quality Engineering”? (1 paragraph)

The purpose of software quality engineering is to ensure the software product meet the desired requirements. The task of it is to define appropriate quality standards, as well as quality procedures, such as quality planning, assurance and control, and ensure these are followed during each stage of the process. It aims to build a ‘quality culture’ and ensure everyone sees quality as responsibility. Software quality engineering includes quality planning, quality assurance and quality control.

(class_slides.pdf, 2018)

3. What is the difference between Quality Planning, Assurance, and Control in a software development environment? (1 paragraph)

From the perspective of quality planning, it not only uses procedures, methods, tools and resources that can meet the determine standards, but also executes a series of activities to meet the quality. It usually happens before the other two processes. Once standards are established, quality assurance evaluates overall project performance to ensure the project will satisfy the relevant quality standards. Quality control monitors specific project and ensure that they follow the relevant quality standards, and that the team follows these standards.

(class_slides.pdf, 2018)

  1. Describe what is a “Software Requirement Specification”, what is it used for? What is its purpose? (1 paragraph)

A Software Requirement Specification (SRS) defines the external behavior of the software and constraints on software development, it contains both functional requirements which are the services and the bulk requirements specification document, and non-functional requirements which are constraints and restrictions during the software development. It is used to define the desired specifications of developing software. The purpose is to completely state the requirements of expected actions of a software without reference. (class_slides.pdf, 2018)

  1. What is the People Capability Maturity Model? How many stages does it contain? Where would that be relevant in a software development environment? (1 paragraph)

The People Capability Maturity Model (PCMM) is intended as a framework for employers to manage the development of each people involved in software development. It aims to improve organizational capability and ensure the software development capability does not rely on the minority of the development team, also it aligns the individual motivation and helps retain individual with certain skills. PCMM contains five stages, which are initial, repeatable, defined, managed, and optimizing. One possible application of PCMM in a software development environment is that should any individual be unable to complete or be lack of motivation, the whole software development process will not get negatively affected.

(class_slides.pdf, 2018)

  1. Suppose you hear about the quality measures that are being used at a competing company. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

In the context of SQE, this means the programmed code are to be inspected by multiple different levels of people across the company. For example, a programmer in a project team finishes his coding part, then this code is to be firstly inspected by the team leader, then to be inspected by the project manager. This procedure ensures the software quality in a competing environment.

  1. You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

I imagine that these three channels are development channel, pre-released channel and beta/demo channel.

For development channel, it is used within the company only for software development and initial tests among the development team.


For pre-released channel, it is used for final test for the software before its release. It also tests any optimized updates of the software and ensure majors bugs are fixed.

For beta/demo channel, it is used for a small number of external users who intended to test the beta/demo version of the software. This channel collects feedback from these external users for functional optimizations and minor bug fixes.

(https:// Emma Suen

(h ps://sydney.instructure.com/courses/2463/users/71993)

Mar 15, 2018

1. One sentence definition of “Software Quality”.

Software Quality refers to the degree to which a set of inherent characteristics fulfills requirements in the software development environment. (The International Organization for Standardization –

ISO)

2. What is the purpose, tasks, mechanisms, aims and means that are part of “Software Quality Engineering”? (1 paragraph)

SQE aims to ensure the software product achieving required quality level. It helps to establish organizational procedures and standards for quality. Its procedures involve defining appropriate quality standards and procedures and ensure these are being followed throughout software development. Its main processes include quality planning, quality assurance and quality control in different stages.

3. What is the difference between Quality Planning, Assurance, and Control in a software development environment? (1 paragraph)

They are the different steps in maintaining software quality. First, quality planning is required to select relevant quality standards of the project and modify them to the project and identify ways to satisfy them. Then quality assurance as a periodical evaluation of the overall project performance is needed to ensure the project satisfy relevant quality standards. At last, quality control would be used to monitor specific project results to ensure software development is complying with the relevant standards.

4. Describe what is a “Software Requirement Specification”, what is it used for? What is its purpose? (1 paragraph)

“Software Requirement Specification” is a description of the software system to be developed. It is used for specifying the external behaviour of the software and constraints on software development. There are two kinds of requirements. The functional requirements state the services provided for the user and takes up most part of the SRS, The non functional requirements impose the constraints on the software as well as restrictions on the software development project, which include reliability, security, performance, usability, availability and portability constraints.

5. What is the People Capability Maturity Model (http://cmmiinstitute.com/resources/peoplecapability­maturity­model­p­cmm/) ? How many stages does it contain? Where would that be relevant in a software development environment? (1 paragraph)

PCMM is a framework for managing the people development in software development which aim to improve the organizational capability by improving workforce capability, and ensure the software development capability is not rely on a small number of individuals, to align individual motivation as well as helping retain people with critical knowledge and skills. There are five stages in the model. It is used as a guide for improvement which could also help with the software development.

6. Suppose you hear about the quality measures that are being used at a competing company. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

Code inspections may refer to checking out faulty or redundant software codes that help to monitor the software quality, improve the software performance and ensure the software is meeting the quality standard requirement throughout development.

7. You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

The other three channels could be ‘pre-alpha channel’, ‘alpha channel’, ‘beta channel’ before ‘release channel’. The “pre-alpha channel” is used for manipulating the first version of the product and look for improvement through requirement analysis, software design and software development activities. The “alpha channel” manipulates the testing version of the product to ensure meeting quality standards. The “beta channel” manipulates the beta version of the product which is a pre-release product that is given out to a large group of users to try under real condition before public release.

Reference:

Class slides – What is software quality

Curtis, B., Hefley, W.E., and Miller, S.A., People Capability Maturity Model (P-CMM) Version 2.0, (CMU/SEI-2001-MM-01), Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, July 2001.

Wikipedia

(https:// Josh Wilson

(h ps://sydney.instructure.com/courses/2463/users/27343)

Mar 15, 2018

1. One sentence definition of “Software Quality”.

Quality, with regards to software, is the degree to which software fulfills the requirements set out for it and the software can be used as intended. (slide 1)

  1. What is the purpose, tasks, mechanisms, aims and means that are part of “SoftwareQuality Engineering”?

Software Quality Engineering has the purpose of ensuring that a software product achieves the desired quality and aims to create a "quality culture" (slide 2) where the quality of the software released is seen as everyone's responsibility. The mechanisms for achieving these goals is through a series of tasks such as quality planning, assurance and control as well as mechanisms and procedures regarding team dynamics.

  1. What is the difference between Quality Planning, Assurance, and Control in a softwaredevelopment environment?

Quality planning is done before any development has started as it involves the definition of the quality standards of the software project and the procedures/standards that are required. Neither quality assurance or quality control can be adequately done without the standards and procedures for doing these taks have been defined by the quality planning process.

Quality Assurance and Quality control are related as they involve the evaluation and monitoring of these quality standards. However,Quality assurance is typically performed on the Software making sure that it will achieve the desired quality level while Quality Control is the monitoring of the project procedures and standards used by teams to ensure that the project quality outcomes will be achieved.

  1. Describe what is a “Software Requirement Specification”, what is it used for? What is itspurpose?

A software requirement specification (SRS) is a document which captures the behaviour requirements and constraints of software being developed in the form of a list of functional and non-functional requirements. It is often used as contract, between stakeholders/clients and development teams, to specify what software will be delivered at the end of a project.

  1. What is the People Capability Maturity Model? How many stages does it contain? Where would that be relevant in a software development environment?

The People Capability Maturity Model (P-CMM) is a frame work for addressing people issues in organizations such as workforce capability, workforce capability distribution, motivation alignment and retainment. It is made up of five stages:

  1. Intial
  2. Repeatable
  3. Defined
  4. Managed
  5. Optimizing

This would be releveant to software development environments as it is common for people to specialize and hence have isolated knowledge in products making them unmaintainable.

  1. Suppose you hear about the quality measures that are being used at a competingcompany. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

In a software quality engineering context, this means that code inspections are done at different levels of organisation level such as a manager inspecting the code of a developer. This suggests that two things will occur in this organisation, managers of developers will have a better understanding of the product giving them a better idea of the software's quality. Additionally, with the additional backgrounds looking over code (possibly a non-technical one where more needs to be explained) a more rigourous code inspection is achieved.

  1. You also hear that the rival company has different “channels” in which different versionsof the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

I believe the three other channels would be:

  1. Experimental Channel: This channel would consist of features that are not fully worked out and would have rapid changes in features. Bugs would not neccesarily be a problem on this channel but they would be noted for future development.
  2. Feature Development: This channel would consist of the features that the product team would be currently developing. Bug fixing, finetuning, refactoring and unit testing would be occuring in this channel.
  3. Test Channel: This channel would consist of features that have already been developed but are going through rigourous testing standards to ensure that they are satisfactory for release.

Would include user acceptance testing and functional tests.

(http Chih Jung Liao

(h ps://sydney.instructure.com/courses/2463/users/53030)

Mar 15, 2018

  1. One sentence definition of “Software Quality”.

Software Quality is how well the product met its project requirement in terms of its efficiency, reliability, and maintainability

  1. What is the purpose, tasks, mechanisms, aims and means that are part of “SoftwareQuality Engineering”? (1 paragraph)

Software Quality Engineering ensures organisational procedures are taken while defining the right level of quality standards for its products and services. Software quality should be planned, monitored and evaluated while completing its functional and non-functional requirements.

  1. What is the difference between Quality Planning, Assurance, and Control in a

software development environment? (1 paragraph)

Quality planning identifies the quality standards and procedures to follow during the development and should satisfy the project’s end goal. Quality Assurance suggests that project performance should be evaluated periodically to ensure the defined quality standards are followed. Quality Control ensures that specific project results comply with the planned quality standards.

  1. Describe what is a “Software Requirement Specification”, what is it used for? What isits purpose? (1 paragraph)

Software Requirement Specification is usually identified in the project’s planning stage. It defines the project’s scope, constraints, and includes a listing of functional/non-functional requirements to be fulfilled in a document.

  1. What is the People Capability Maturity Model

(http://cmmiinstitute.com/resources/people­capability­maturity­model­p­cmm/) ? How many stages does it contain? Where would that be relevant in a software development environment? (1 paragraph)

People CMM is a strategy that aims to continuously improve the capability of workforce in an organization, and ensures overall software development quality does not rely on a small number of individuals. There are five stages of PCMM – initial, repeatable, defined, managed, and optimizing.

  1. Suppose you hear about the quality measures that are being used at a competingcompany. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

This means the code should be inspected by people in two different levels in the company, say a code developer, manager, or the director of the projects are in different hierarchy levels.

  1. You also hear that the rival company has different “channels” in which differentversions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

In my opinion, I would imagine the other channels could have features, develop, and stable. Each channel has a different objective, it starts with an initial feature and then expands/develop more options to the feature, and finally make the feature mature to deliver to the customers.

This is similar to how Windows 10 development works, once they develop some new features, they will first tease them out to the people subscribed to the ‘fast ring’ of the insider previews. As the features become stable, they will release them to the ‘slow ring’. Finally, more debugging and integration of features are done, they will release them as an update to the customer, known as the ‘red stone’ update currently.

Edited by Chih Jung Liao (https://sydney.instructure.com/courses/2463/users/53030) on Mar 15, 2018 at 13:52

(https:// Jie Yang

(h ps://sydney.instructure.com/courses/2463/users/58220)

Mar 15, 2018

1.one sentence definition of “Software Quality”.

Software Quality is how the processes of project and products meet written specification and a project can be used as it was planned.

Reference: class slides, 1

  1. What is the purpose, tasks, mechanisms, aims and means that are part of “Software Quality Engineering”? (1 paragraph)

The purpose is to ensure that the required level of quality is achieved in a software product. It involves defining appropriate quality standards and procedures and ensuring that these are followed. And SQE aims to develop a ‘quality culture’ where quality is seen as everyone’s responsibility by means of establishing organizational procedures and standards for quality.

Reference: class slides, 3

3.What is the difference between Quality Planning, Assurance, and Control in a software development environment? (1 paragraph)

Planning is done before the project starts. It identifies the appropriate quality standards and applicable procedures for projects. Assurance is done during the whole process of projects as it will track the project performance periodically. Eventually, the quality control compare project results with standards at the final stage to ensure that the project meets the requirements and the team follows the procedures and standards.

Reference: class slides, 4

4.Describe what is a “Software Requirement Specification”, what is it used for? What is its purpose? (1 paragraph)

The SRS specify the external behavior of the software as well as the constraints on software developments and lays out the functional requirements and non-functional requirements. The former one describes the services that users can get from the product, while the later one includes reliability, security, performance, usability, availability and portability constraints. Reference: class slides, 6,7

5.What is the People Capability Maturity Model (http://cmmiinstitute.com/resources/peoplecapability­maturity­model­p­cmm/) ? How many stages does it contain? Where would that be relevant in a software development environment? (1 paragraph)

It works as a framework for managing the development of people involved in software development. It includes five stages: initial stage, managed stage, defined stage, predictive stage and optimizing stage. In a software development environment, PCMM is needed to improve organisational capability by improving workforce capability, to ensure that software development capability is not reliant on a small number of individuals, to align the motivation of individuals with that of the organization and to help retain people with critical knowledge and skills.

Reference: class slides, 13,14,15; People Capability Maturity Model, 18

6.Suppose you hear about the quality measures that are being used at a competing company.

One of them is “Code inspections must be done at least at two different levels of the hierarchy”.

What do you think these means in the context of SQE?

It means that the code will be reviewed by multiple levels of the organisation since that difference levels may have different angles when inspecting the contribution of codes to different function.

Reference: class slides, 16

7.You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?


Develop channel: The version of product in this channel might contain the newest features but most of them are still in development. Based on that, this kind of version is not appropriate to be released to the public but this develop channel provide a chance for users to try out the new features and give their feedback on that, which is also good for team to realize how they can optimize the performance or user experience of their product.

History channel: For many different reasons, a user might choose not to move to the latest version, but obviously they still want the product to be maintained. History channel offer the maintenance to old versions.

Test channel: Before any new versions are published, it has to pass both internal test and external test. This channel could publish those untested version and implement a beta test among the users.

(https:// Jun Zhang

(h ps://sydney.instructure.com/courses/2463/users/62925)

Mar 15, 2018

Here are my answers for questions described in 1.4.3

Q1: Definition of Software Quality

A: Software Quality is the degree to which a set of inherent characteristics fulfils requirements and how the product(software) can meet its specification.

Q2: What is the purpose, tasks, mechanisms, aims and means that are part of Software Quality Engineering?

A: Software Quality Engineering should aim to develop a ‘quality culture’ where quality is seen as everyone’s responsibility and establish organisational procedures and standards for quality. Furthermore, project quality management ensures that the project will satisfy the needs for which it was undertaken.

Q3: What is the difference between Quality Planning, Assurance and Control for software development?

A: Planning is to indentify which quality standards are relevant to the project and how to satisfy them; assurance is to evaluate overall project performance; control is to monitor specific project results.

Q4: Describe what is a Software Requirement Specification, what is it used for and what is its purpose?

A: The Software Requirement Specification(SRS) is divided into functional requirements and non functional requirements. Functional requirements are the services provided for the user and make up the bulk of the requirements specification document; Non functional requirements are the constraints imposed on the software, and the restrictions put on the software development project.

SRS aims to specify the external behaviour of the software.

Q5: What is the People Capability Maturity Model? How many stages does it contain? Where would that be relevant in a software development environment?

A: The People Capability Maturity Model is intended as a framework for managing the development of people involved in software development. It contains five stages, they are Initial, Repeatable, Deined, Managed, Optimizing.

Q6: Suppose you hear about the quality measures that are being used at a competing company.

One of them is Code inspections must be done at least at two different levels of the hierarchy.

What do you think these means in the context of SQE?

A: It means that each code should be inspected by two other people located at a different level so that it can be allowed to be deployed into the production version of the software.

Q7: You also hear that the rival company has different channels in which different versions of the product are manipulated. One of them is called the release channel, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels.

Can you imagine what are those and what version of the product is manipulated?


A: I think there might be three different channels - experimental channel, internal testing channel and a external testing channel. The internal testing channel is used for product testing within the team (unit, integrated, system, etc) . The external testing channel is used for product testing outside the team (user acceptance, etc) and manipulates a product close to the final version. Reference: https://flip.ee.usyd.edu.au/elec5618/_downloads/class_slides.pdf

(https:// Sarthak Sachdeva

(h ps://sydney.instructure.com/courses/2463/users/41287)

Mar 15, 2018

How Quality is Implemented in Companies?

1. Software quality is the degree of conformance to explicit or implicit business/product/softwarerequirements and end-user expectations. Alternatively, The totality of functionality and features of a software product that bear on its ability to satisfy stated or implied needs.

2. Software Quality Engineering concerns itself with ensuring that the explicit, as well as theimplicit need of the software in question, are met, this is carried out using several submethodologies: Planning, Assurance, and Control, all of which are Software quality management tools.

3. Quality Assurance: Establishing Organisational procedures and standards that lead to highquality software.

Quality Planning: Selecting appropriate procedures and standards, tailored for the specific software project in question.

Quality control: Making sure that the procedures as discussed in the planning stage are followed by the development team.

4. An SRS is a description is of a software system which has to be developed. It lays out the functional as well as the non-functional requirements, and may or may not include a set of use cases that describe user interactions that the software must provide.

The SRS is a communication tool between stakeholders and software designers. it aims to: Facilitate reviews, describe the scope of work, a reference to software designers, a framework for testing use cases, customer requirements.

5. P-CMM is a five-stage management framework for managing the development of all parties involved in the software development. main objectives include: improving workforce capability, reducing project failures based on reliance issues. keeping the motivations in check, retaining people with critical knowledge and skills.

The five stages of it are: Initial, Repeatable, Defined, Managed, Optimising.

Mostly for large-scale projects, or projects involving large companies/strong hierarchal organizations.

6. A direct translation would be that, suppose a team of developers, develop a software for the stakeholders, in this case, at least 2 people who are placed in the parent company’s organisational hierarchy should inspect the software developed by the developer team, maybe an IT operations manager and/or a team of senior developers as a whole.


  1. Maybe an example of this can be expressed using a Git repository, in an end to end software development project, we have multiple branches, A Maser branch which would be the “release channel” - infrequent updates and on the most part bugless. a template branch - which lays out an initial idea of what the software would do - mostly low fidelity. A development branch, which is where all code is merged prior to release and a testing branch where the code from the dev branch is tested. Once tested this branch is merged into master for final release.

Sources: Lecture Slides, 2 Documents from the released resources, common sense and

Wikipedia

(https:// Sagar Srinivas

(h ps://sydney.instructure.com/courses/2463/users/72388)

Mar 15, 2018

A1:Software Quality is the measurement of how a software could meet the functional and nonfunctional requirements set up by SRS.

A2: It will build some mechanisms such as the quality planning, assurance, control to define appropriate quality standards and procedures. It also aims to develop a ‘quality culture’ where quality is seen as everyone’s responsibility.

A3 :Quality Planning is the process for identifying which quality standards are relevant to the project and determining how to satisfy them Quality planning means planning how to full fill process and product (deliverable) quality requirements. It is important for an organisation to agree on what the meanings of Quality Assurance and Quality Control. Both form an integral part of the organisation's quality management plan, and the effectiveness of delivery teams relies on the differences being well understood by all stakeholders, including management. Effective quality systems can contribute enormously to the success of projects, but the counterpoint is that, when poorly understood, the quality systems are likely to be weak and ineffective in ensuring that the delivered system is delivered on time, built by the team within their allocated budget, and satisfies the customer’s requirements

A4 : SRS is the document includes both functional and non functional requirements which are especially significant for the software development. It is used for software quality management including set some standards.

A5: The People Capability Maturity Model is a roadmap for implementing workforce practices that continuously improve the capability of an organisation’s workforce. It has five stages:1. Initial 2. repeatable 3. defined 4. managed 5. optimising

A6 : It means that this company has strict quality management and do much better in quality assurance and control. It can ensure the code has less bugs if it is released on the market

A7: Release channel but it still have some intolerable bugs so it could be released, I call it the

“next-beta channel”. Another one is only used by developer, which means that users have higher


permission to operate the product, let’s call it “admin channel”. The last one is like a “plan-B channel”, which is similar with the released version but still different in system structure. If the “release channel” gets some trouble in the market, such as shutting down without any reason or confusion of database, then we could re-release the “plan-B channel” to fix this problem.

(https:// Tianrui Guo

(h ps://sydney.instructure.com/courses/2463/users/69959)

Mar 15, 2018

1. One sentence definition of “Software Quality”.

the degree to which a set of inherent characteristics fulfils requirements

Conformance to requirements: The project’s processes and products meet written specifications.

Fitness for use: A product can be used as it was intended. (p1, class_slides)

2. What is the purpose, tasks, mechanisms, aims and means that are part of “SoftwareQuality Engineering”? (1 paragraph)

It includes 5 different parts (p2, class_slides) :

1. ensuring that the required level of quality is achieved in a software product.

2. ensuring quality standards and procedures are followed.

3. aim to develop a ‘quality culture’

4. Establish organizational procedures and standards for quality.

5. ensures that the project will satisfy the needs for which it was undertaken.

3. What is the difference between Quality Planning, Assurance, and Control in a softwaredevelopment environment? (1 paragraph)

Quality planning: Identifying which quality standards are relevant to the project and how to satisfy them. Select applicable procedures and standards for a particular project and modify these as required.

Quality assurance: Periodically evaluating overall project performance to ensure the project will satisfy the relevant quality standards.

Quality control: Monitoring specific project results to ensure that they comply with the relevant quality standards. Ensure that procedures and standards are followed by the software development team.

(p3..4, class_slides)

difference: those apply to the different process, planning is to identify quality standards at the beginning; assurance is in the executing process, to ensure the project has based the standards; the control is focused on monitoring the project results.

  1. Describe what is a “Software Requirement Specification”, what is it used for? What is itspurpose? (1 paragraph)

The SRS is a formal project document outlining all project specifications: the functional/nonfunctional requirements. This combination means the SRS contains what the software does and how it does this; as well as the external behavior of the software and constraints on development (p6, class_slides)

  1. What is the People Capability Maturity Model(http://cmmiinstitute.com/resources/peoplecapability­maturity­model­p­cmm/) ? How many stages does it contain? Where would that be relevant in a software development environment? (1 paragraph)

The People Capability Maturity Model (P-CMM) is Intended as a framework for managing the development of people involved in software development. Its to improve organizational capability by improving workforce capability, ensure that software development capability is not reliant on a small number of individuals, align the motivation of individuals with that of the organization, and help retain people with critical knowledge and skills. It has five phases: Initial, Repeatable, Defined, Managed, Optimizing. (p12..14, class_slides)

  1. Suppose you hear about the quality measures that are being used at a competingcompany. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

In SQE context, this means the code is inspected by multiple different organizational levels in the company. This inspection from a variety of people of different backgrounds ensures more rigorous testing before deployment, allowing for better chances of higher quality products.

  1. You also hear that the rival company has different “channels” in which different versionsof the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

In my opinion, those channels include the software features, ensuring the software could be used as normal; extended modules, to test if those extended features could operate well and could it connected to the whole software well; the last is user experience, to test if your user like your functions or not.

(https:// Mayur Rajput

(h ps://sydney.instructure.com/courses/2463/users/71195)

Mar 15, 2018

1) One sentence definition of “Software Quality”.

Software Quality can be defined as the degree to which a set of inherent characteristics for a piece of software fulfils its requirements. In addition, how well a software product meets its specifications (class_slides.pdf, slide 1)

2) What is the purpose, tasks, mechanisms, aims and means that are part of “SoftwareQuality Engineering”?

Purpose of SQE is to ensure that the required level of quality is achieved in a software product. The task involved are defining appropriate quality standards and procedures and ensuring that these are followed.The mechanisms of software quality engineering are quality planning, assurance, and control. The aim is to meet the conditions outlined in the software requirement specification. The means to this aim is a productive and safe work environment, a cohesive team, and an effective understanding of the requirements (Reference lecture Slide 3)

3) What is the difference between Quality Planning, Assurance, and Control in a softwaredevelopment environment?

Quality planning deals with identifying which quality standards are relevant to the project and how to satisfy them whereas Quality assurance is periodically evaluating overall project performance to ensure the project will satisfy the relevant quality standards.Finally, Quality control is monitoring specific project results to ensure that they comply with the relevant quality standards. (Reference Lecture slide 4)

4) Describe what is a “Software Requirement Specification”, what is it used for? What is itspurpose?

A software requirement specification (SRS) is a document outlining the requirements a software system must fulfil in order to be of acceptable quality and fitness for use. The functional requirements of a software system make up most of the SRS. The external behaviour of the software and the constraints on software development are also specified in the SRS. The SRS serves as a guide to creating a quality software system that fulfils requirements (Refrence Lecture

Slide 5,6)

The People Capability Maturity Model (or PCMM) is a framework for managing the development of employees.

It contains five stages: Initial, Repeatable, Defined, Managed and Optimizing.

It aims to improve the capability of the workforce, align the goals of an individual with those of the organization, encourage the development of critical knowledge and skills and ensure that development is not reliant on a small subset of the workforce. (Refrence Lecture slide 13)

  • Suppose you hear about the quality measures that are being used at a competingcompany. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

Since the code is being inspected at two level by people at different hierarchies. This process takes into account both verification and validation which are two important part of quality process. Also, this can lead to more discussion , reviews, opinion, and making sure that they all have same understanding of requirements and building the right product. If inspection is being done at senior level they can provide their own expertise which can lead greater quality.

  • You also hear that the rival company has different “channels” in which different versionsof the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

3 other channels could be Production channel, Stable Channel and Beta Channels.

Development Channels- This channel delivers the latest fully tested release

Stable Channel- This channel delivers the latest feature releases ready for most users at minimal risk

Beta Channel- Betas and release candidates are the versions of choice for testers in preparation for an product release.They provide a short-term-stable point to report bugs. (Reference https://nextcloud.com/release­channels/ (https://nextcloud.com/release­channels/) )

Shreya Nayak

(h ps://sydney.instructure.com/courses/2463/users/71196)

Mar 15, 2018

1). one sentence definition of “Software Quality”.

Software Quality is the measurement of how a software could meet the functional and nonfunctional requirements set up by SRS(class_slides.pdf, 2018, slides 6).

2.What is the purpose, tasks, mechanisms, aims and means that are part of “Software

Quality Engineering”? (1 paragraph)

The purpose of Software Quality Engineering ensures the required level of quality is achieved in a software product, which could make sure the project’s process and products meet specifications and the fitness use of products. The task involves defining appropriate quality standards, procedures. It aims to develop organization procedures and standards for quality. The mechanisms and means are some processes, such as quality planning, assurance and control. (Ref: class_slides.pdf, 2018, p1-p3)

3.What is the difference between Quality Planning, Assurance, and Control in a software development environment? (1 paragraph)

Quality planning is process of Identifying which quality standards are relevant to the project and how to satisfy them. Whereas Quality assurance is periodically evaluating overall project performance to ensure the project will satisfy the relevant quality standards.Quality control is Monitoring specific project results to ensure that they comply with the relevant quality standards.

(Ref: class_slides.pdf, 2018, p4)

4.Describe what is a “Software Requirement Specification”, what is it used for? What is its purpose? (1 paragraph)

A software requirements specification (SRS) is a description of a software system to be developed. It lays out functional and non-functional requirements and may include a set of use cases that describe user interactions that the software must provide. It is used for software quality management including set some standards. (Class_SLides, 2018, slide 7)

5.What is the People Capability Maturity Model? How many stages does it contain? Where would that be relevant in a software development environment? (1 paragraph)

The People Capability Maturity Model is framework for managing the development of people involved in software development. It has five stages:1. Initial 2. repeatable 3. defined 4. managed 5. optimizing. it aims to improve organisational capability by improving workforce capability,To ensure that software development capability is not reliant on a small number of individuals,To align the motivation of individuals with that of the organisation,To help retain people with critical knowledge and skills. (Class_SLides, 2018, slide 13)

6.Suppose you hear about the quality measures that are being used at a competing company. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

From the SQE context it means that the code will be reviewed at two different levels having high expertise and knowledge about the product.This way it would ensure that there is no biassed decision and project is being overlooked by possibly someone more experienced, or more aligned to the product.


7.You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

They might have different channel. Development channel: users can see what's happening quickly. It shows what company is working on right now. Beta channel: it releases the software with new features at the minimal risks. Stable channel: This channel delivers the latest feature releases ready for most users.That does not imply that these releases are bug free. The issues are known and can be worked around

Source: https://www.chromium.org/getting­involved/dev­channel

(https://www.chromium.org/getting­involved/dev­channel)

(https:// Kai Liu

(h ps://sydney.instructure.com/courses/2463/users/83408)

Mar 15, 2018

1. One sentence definition of “Software Quality”:

Software quality is a level and degree to satisfy customer demand and specification and the characteristic of software system.

2. What is the purpose, tasks, mechanisms, aims and means that are part of “Software Quality Engineering”?

Software quality engineering aim at making sure go up to the required quality level during the software products.

Mechanisms and means are define the standards of quality and make sure the programs are followed.

The task is to try to achieve plan of software quality and make sure it is under control.

3. What is the difference between Quality Planning, Assurance, and Control in a software development environment?

Quality planning is a plan that identify and satisfy customers and standards of software quality,

Quality assurance is to make sure the software safety and reach to quality standards.

Quality control is to ensure the programs and the relevant standards of software quality. It is followed by the team of software quality development.

  1. Describe what is “Software Requirement Specification”, what is it used for? What is its purpose?

Software Requirement Specification(SRS) is a document that make sure software product’s requirements and try to let it be received. It is used for explain the value which the software can give to customers. Its purpose is to describe developers who try to produce.

  1. What is the People Capability Maturity Model? How many stages does it contain? Where would that be relevant in a software development environment?

People Capability Maturity Model(PCMM) is a framework that can manage customers’ development which is included in the software development. There are 5 stages: Initial, Repeatable, Defined, Managed and Optimizing. It can use their knowledge and software development skills to improve their staffs.


  • Suppose you hear about the quality measures that are being used at a competing company. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

For different kinds of customers, their inspections is different and this is an effective way for us to make sure the structure and the code procedure is under control and wellorganized. In additions, code inspections usually be finished by more than 2 staffs with different levels in SQE. This can also improve the software quality system.

  1. You also hear that the rival company has different “channels” in which different versions of the product are One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

The 3 channels must be development channel, monitor channel and test channel. The release channel is the one that can store all versions of different kinds of products. This channel can help the company go back to software quality older releases and it can also manipulate the potential future quality releases. Testing channel is the test for failures and some effects before customers receive the products.

(https:// Alex Mueller

(h ps://sydney.instructure.com/courses/2463/users/49422)

Mar 15, 2018

How quality is implemented in companies

  1. One sentence definition of “Software Quality”.

Software Quality is describes how well a particular piece of software meets predefined customer requirements. [1]

  1. What is the purpose, tasks, mechanisms, aims and means that are part of “Software

Quality Engineering”? (1 paragraph)

The purpose of SQE is to ensure both internal and external quality of software.[2] This includes creating a plan, regularly assessing project performance, and correcting project behaviors as necessary. These are known as quality planning, quality assurance, and quality control, respectively. The aim of these mechanisms is to meet functional and non-functional requirements.[1]

  1. What is the difference between Quality Planning, Assurance, and Control in asoftware development environment? (1 paragraph)

Quality Planning is the processes of fitting applicable “procedures and standards” to a project.[1] Quality Assurance is the process of auditing the “overall project performance”[1] against the quality standards to help management and customers be confident of the project quality.[3] Quality Control is “set of measures and procedures to follow” in order to assess quality and improve processes to meet quality standards.[4]

  1. Describe what is a “Software Requirement Specification”, what is it used for? Whatis its purpose? (1 paragraph)

An SRS (Software Requirement Specification) details the scope of a project, including functional and non-functional requirements of a software project, and “the constraints on software development.”[1] According to project management blog, Elementaltool.com (http://Elementaltool.com) , it “provides the basis for all subsequent project planning, design, coding, and testing.”[5] It helps improve communication between your team, and provides a written record to the client of the product you have agreed to develop. Finally, it provides a baseline with which to assess the quality of the product.[5]

  1. What is the People Capability Maturity Model

(http://cmmiinstitute.com/resources/people­capability­maturity­model­p­cmm/) ? How many stages does it contain? Where would that be relevant in a software development environment? (1 paragraph)

The PCMM (People Capability Maturity Model) is a framework for systematically maturing a workforce in order to improve the capability of workers, increase redundancy of worker expertise, and to “align the motivation of individuals with that of the organisation.”[1] The framework has five stages: Initial, repeatable, defined, managed, and optimised.[1] Since the world of software is primarily knowledge-based and there is a lack of software talent, it is important to invest in the management of people rather than just technology through frameworks like PCMM [6, p.13-14].

Suppose you hear about the quality measures that are being used at a competing company. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

The two noun phrases to look at here are “code inspections” and “levels of the hierarchy”. I assume the former is a akin to a code review. That is, a third party assesses the quality of code in development before it is brought into the stable code base. The latter likely pertains to the design hierarchy of the code base and the different levels of abstraction within it. Taking these together, this saying that code reviews must be done for both the low-level and the high-level components in the software system.

You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

Besides the release channel, the rival company may have:

A “dev channel” for manipulating the bleeding edge version of the product

A “beta channel” from which to obtain versions of the product that beta-testers can use, and in which to patch bugs

A “feature channel” where experimental features can be added to the product without affecting normal development

References

[1] https://flip.ee.usyd.edu.au/elec5618/_downloads/class_slides.pdf (https://flip.ee.usyd.edu.au/elec5618/_downloads/class_slides.pdf)

[2] https://www.softwareengineerinsider.com/careers/software­quality­

engineering.html (https://www.softwareengineerinsider.com/careers/software­qualityengineering.html)

[3] http://asq.org/learn­about­quality/quality­assurance­quality­

control/overview/overview.html (http://asq.org/learn­about­quality/quality­assurancequality­control/overview/overview.html)

[4] https://www.techopedia.com/definition/12191/quality­control­qc (https://www.techopedia.com/definition/12191/quality­control­qc)

[5] https://www.elementool.com/blog/index.php/2012/04/05/learn­how­to­create­srsdocuments­in­10­seconds/ (https://www.elementool.com/blog/index.php/2012/04/05/learnhow­to­create­srs­documents­in­10­seconds/)

[6] https://flip.ee.usyd.edu.au/elec5618/_downloads/People­CMM­01mm001.pdf

(https://flip.ee.usyd.edu.au/elec5618/_downloads/People­CMM­01mm001.pdf)

Edited by Alex Mueller (https://sydney.instructure.com/courses/2463/users/49422) on Mar 15, 2018 at 13:55

Nelson Liu

(h ps://sydney.instructure.com/courses/2463/users/45780)

Mar 15, 2018

one sentence definition of “Software Quality”.

A:Software Quality can be defined as the degree that the software fulfill the functional requirements and non-functional requirements and how well a software product meets its specifications.(Reference: class_slides.pdf, 2018, slide 1)

What is the purpose, tasks, mechanisms, aims and means that are part of “Software Quality

Engineering”? (1 paragraph)

A: The purpose of software Quality Engineering is to ensuring the required level of quality is achieved in a software product. The means and mechanisms involves defining/ensuring appropriate quality standards/procedures are followed, developing quality culture that everyone takes responsibility. Software quality engineering ensure the product meet the functional requirements and non-functional requirements defined in the software requirements specification and meets its specifications.(Reference: class_slides.pdf, 2018, slide 2,3)

What is the difference between Quality Planning, Assurance, and Control in a software development environment? (1 paragraph)

A:Quality planning is a process to identifies relevant quality standard to the project and how to meet them. It also selects applicable procedures and standards for a project and modifies these as required. It was usually done before the quality assurance and quality control process. Quality assurance periodically executed to evaluate overall project performance. Quality control monitor the specific project results , and ensure that procedures and standards are followed by the software development team. (Reference: class_slides.pdf, 2018, slide 3)

Describe what is a “Software Requirement Specification”, what is it used for? What is its purpose? (1 paragraph)

A:Software requirement specification (SRS) is a document which was be used to outline all the functional and nonfunctional requirements and ensure the product meet all specification. The Software requirement specification (SRS) help ensure that all the work and deliverables in the software development process are what we plan and specify the external behaviour of the software.Reference: (class_slides.pdf, 2018, slide 7)

What is the People Capability Maturity Model (http://cmmiinstitute.com/resources/peoplecapability­maturity­model­p­cmm/) ? How many stages does it contain? Where would that be relevant in a software development environment? (1 paragraph)

A:The PCMM is a framework for managing the development of people involved in software development. It involves 5 stages which are Initial, Repeatable, Defined, Managed and Optimising. It usually used to improve organizational capability by improving workforce capability, ensure that software development capability is not reliant on a small number of

individuals, align the motivation of individuals with that of the organization, and help retain people with critical knowledge and skills.(Reference: class_slides.pdf, 2018, slide 13,14)

Suppose you hear about the quality measures that are being used at a competing company. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

A:This measures means the code must be inspected by two people who was at two different levels of the hierarchy. It could avoid more mistake and bug during the development process and improve the software quality.

You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use threemore channels. Can you imagine what are those and what version of the product is manipulated? A:In my view, the other three channels may be 'development channel', 'test channel' and 'stable channel'.

'development channel': It account for developing the product and ensuring the progress.

'test channel': It account for testing the code and find bugs to improve the quality of the software.

'stable channel':After testing, the stable can be released in this channel and allow users use it and receive more feedback.

(https:// Xinyu Zheng

(h ps://sydney.instructure.com/courses/2463/users/55539)

Mar 15, 2018

Hi Peter, this is my answer:

1. one sentence definition of “Software Quality”.

Software Quality measures the degree to which a product conforms to its specification and how effectively it can be used for its intended purpose containing customer quality requirement (efficiency, reliability, etc) and developer quality requirements (maintainability, reusability, etc).

Reference: (class_slides.pdf, 2018, slides 1)

2. What is the purpose, tasks, mechanisms, aims and means that are part of “SoftwareQuality Engineering”?

The purpose of Software Quality Engineering is to ensure that the project will satisfy the needs for which it was undertaken. This process includes quality planning that identifies which quality standards are relevant to the project and how to satisfy them, quality assurance evaluating overall project performance, quality control Monitoring specific project results. The requirements of

Software Quality Engineering are separated into functional or behavioural requirements and nonfunctional requirements. One of measuring software quality is software reliability, the other is robustness and portability.

Reference: (class_slides.pdf, 2018, slides 2, 3, 4)

  1. What is the difference between Quality Planning, Assurance, and Control in a softwaredevelopment environment?

Quality Planning is to identify which quality stardard are relevant to the project and how to satisfy them. This should be done as the first step. Quality assurance is to evaluate overall project performance once you set up the program. Quality control is to monitor specific project results to ensure that they obey the relevant quality stardards.

Reference: (class_slides.pdf, 2018, slides 4)

  1. Describe what is a “Software Requirement Specification”, what is it used for? What is itspurpose?

Software Requirement Specification combines functional requirements and non functional requirements which are used for specifying the external behaviour of the software as well as the constraints on software development. Also, software requiremnt specification can guarantee the quality objective of a program.

Reference: (class_slides.pdf, 2018, slides 5)

  1. What is the People Capability Maturity Model(http://cmmiinstitute.com/resources/peoplecapability­maturity­model­p­cmm/) ? How many stages does it contain? Where would that be relevant in a software development environment?

People Capability Maturity Model is intended as a framework for managing the development of people involved in software development. It contains five stages: initial, repeatable, defined, managed and optimizing. It is revelant in a software development environment because it manages organisational growth in workforce capability and establish competency-bases teams, otherwise, it also improve methods for developing personal and organisational competence.

Reference: (class_slides.pdf, 2018, slides 12, 13, 14)

  1. Suppose you hear about the quality measures that are being used at a competingcompany. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

The hierarchy means that the code should be monitored and maintained by developers in the different level.

  1. You also hear that the rival company has different “channels” in which different versionsof the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?


The three channels can be regraded as development channel, monitor channel and test channel. Development channel can define the development planning and development version and predicted development delivery. Monitor channel can evaluate and control the quality of products based on the development standards. Test channel can be used to test the reaults of products and correct the mistakes before published.

Edited by Xinyu Zheng (https://sydney.instructure.com/courses/2463/users/55539) on Mar 15, 2018 at 14:07

(https:// Binghua He

(h ps://sydney.instructure.com/courses/2463/users/61651)

Mar 15, 2018

1. One sentence definition of “Software Quality”.

Software quality is the degree to which a set of inherent characteristics (functional and nonfunctional requirements) are meet.

Reference: (class_slides.pdf, slides 1, 6, 7)

2. What is the purpose, tasks, mechanisms, aims and means that are part of “Software Quality Engineering”? (1 paragraph)

The purpose of “Software Quality Engineering” is to ensure the product developed meets a set of defined specifications. Its tasks are quality planning, quality assurance and quality control. Its mechanism is establishing procedures. It aims at quality control.

Reference: (class_slides.pdf, slides 3, 4, 6, 7, 8) 3. What is the difference between Quality Planning, Assurance, and Control in a software development environment? (1 paragraph)

As for the quality planning, it identified which quality standards are relevant to the project and how to satisfy them. Select applicable procedures and standards for a particular project and modify these as required. For quality assurance, it evaluates overall project performance to ensure the project will satisfy the relevant quality standards. And for quality control it monitors specific project results to ensure that they comply with the relevant quality standards. Ensure that procedures and standards are followed by the software development team.

Reference: (class_slides.pdf, slide 4)

4. Describe what is a “Software Requirement Specification”, what is it used for? What is its purpose? (1 paragraph)

Functional requirements are the services provides for the user and usually make up the bulk of the requirements specification document. Non-functional requirements are the constraints imposed on the software, and the restrictions put on the software development project. They include reliability, security, performance, usability, and portability constraints. The SRS should specify the external behaviour of the software as well as the constraints on software development. Reference: (class_slides.pdf, slide 7)

  1. What is the People Capability Maturity Model(Links to an external site.)Links to an external site. (http://cmmiinstitute.com/resources/people­capability­maturity­model­p­cmm/) ? How many stages does it contain? Where would that be relevant in a software development environment? (1 paragraph)

People capability maturity model Intends to management people doing software development.

The five stages in the model:

  1. Initial
  2. Repeatable
  3. Defined
  4. Managed
  5. Optimizing

Reference: (class_slides.pdf, slide 13, 14, 15)


  • Suppose you hear about the quality measures that are being used at a competing company. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

Code inspections are done at least two level that means the code will be reviewed at least twice and in different level to check them quality. It would improve the software quality in this company.

  1. You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use threemore channels. Can you imagine what are those and what version of the product is manipulated?

The channel may be alpha, beta and release channels. These channels are used for testing the product. After collected testing result, they can move to next channel. This process can minimize the problems and improve the quality of the software.

(https:// Max Chen

(h ps://sydney.instructure.com/courses/2463/users/61668)

Mar 15, 2018

1. Definition of Software Quality.

Software quality is to meet the stated functional and performance requirements, the development standards that are clearly described in the documentation, and all professionally developed software should have and implied.

  1. What is the purpose, tasks, mechanisms, aims and means that are part of Software Quality Engineering?

The purpose of software quality is that ensuring the project will satisfy the needs for which it was undertaken. It aims to build and develop a 'quality culture'. It involves every members to join with. I think the main task of software quality is establishing the standard of inspecting the produce and the quality. Most of time, it must meet the functional and non-functional requirements, however, the standard will be changed in different environment.

  1. What is the difference between Quality Planning, Assurance and Control for software development?

They are go forward one by one, which means different stages, but still related. Planning is just the initial stage, to identify the standard and the method to satisfy the standard. Assurance is to evaluate the project performance periodically, which ensures the process match the plan. Quality control must base on the planning and assurance. It can adjust the real project meet the standard overall.

  1. Describe what is a Software Requirement Specification, what is it used for and what is its purpose?

The software requirement specification is a specification of the software system requirements. It includes functional and non-functional requirements that impose limitations on design and implementation, such as performance requirements, quality standards, or design limitations.

It used for providing a principle line for software development.

  1. What is the People Capability Maturity Model? How many stages does it contain? Where would that be relevant in a software development environment?

The People Capability Maturity Model is a tool that helps you successfully address the critical people issues in your organization. There are five stages: Initial, Repeatable, Define, Managed and Optimising. It will be used in human capital development planning, setting up priority programs, integrating human capital development and business process management, and creating an excellent organizational culture atmosphere.

  1. Suppose you hear about the quality measures that are being used at a competing company. One of them is Code inspections must be done at least at two different levels of the hierarchy. What do you think these means in the context of SQE?

Is to reduce risk and ensure quality. That means there are at least two people, except the coder, to check the final code before deploying or releasing, which will protect the code under the standard. It also the basic assurance in SQE.

  1. You also hear that the rival company has different channels in which different versions of the product are manipulated. One of them is called the release channel, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

In real project, there are three channel normally. Internal, external and experimental channel respectively. Internal channel is a test version for programmer to test from the perspective of the developer which external channel is also a test version for users except from

developers, especially the client. And the experimental channel is built for version iteration when releasing new update.

Reference:


  • What is software quality?

https://flip.ee.usyd.edu.au/elec5618/_downloads/class_slides.pdf

(https://flip.ee.usyd.edu.au/elec5618/_downloads/class_slides.pdf)

  1. People Capability Maturity Model (P-CMM) https://flip.ee.usyedu.au/elec5618/_downloads/People­CMM­01mm001.pdf

(https://flip.ee.usyd.edu.au/elec5618/_downloads/People­CMM­01mm001.pdf)

(https:// Ma hew Strasio o

(h ps://sydney.instructure.com/courses/2463/users/37877)

Mar 15, 2018

one sentence definition of “Software How well the piece of software matches the

Quality”. specification/requirements of both the customer and developer.

Reference (Flip, 1.4.2, What is software quality, 2018, Slide 2)

What is the purpose, tasks, mechanisms, The purpose/aim is the assurance that the aims and means that are part of “Software developed product meets its requirements/if of Quality Engineering”? (1 paragraph) sufficient quality.

To achieve this, quality standards and protocols need to be defined, and companies should aim to engage members in a culture where the responsibility of quality is shared, to ensure these protocols are followed.

Reference: (Flip, 1.4.2, What is software quality,

2018, Slide 2-3)

Mechanisms/Processes include:

Quality planning

Quality Assurance Quality Control

Reference: (Flip, 1.4.2, What is software quality, 2018, Slide 4)

Quality planning is the implementation What is the difference between Quality

Planning, Assurance, and Control in a software development environment? (1 paragraph)

of the previously mentioned standards/protocols that employees should engage with.

Describe what is a “Software Requirement Specification”, what is it used for? What is its purpose? (1 paragraph)

Involves identifying which standards of quality apply to the project, and how to achieve these. Quality Control is a means to achieve the quality plan, and involves monitoring of specific deliverables to ensure they are consistent with quality aims set out in the plan, and that procedures to achieve these aims are being carried out by development team.

Quality Assurance is the appraisal of the project's performance as a whole, to ensure that it is meeting its quality aims/following the relevant standards.

Reference: (Flip, 1.4.2, What is software quality,

2018, Slide 4)

Details how the software should interact with the end user, and features are required of the software by the user (Functional requirements).

What is the People Capability Maturity

Model

(http://cmmiinstitute.com/resources/people ­capability­maturity­model­p­cmm/) ? How many stages does it contain? Where would that be relevant in a software development environment? (1 paragraph) As well as what limitations are placed on the software that need to be worked within/around by developers to produce the features the user requires (Non-functional requirements), includes performance aims, security constraints, possible maintainability aims.

Aims to give developers specific aims to follow in order to produce software of an acceptable quality.

(Flip, 1.4.2, What is software quality, 2018, Slide

6-7)

The P-CMM is a framework for improving the attitudes, skills, and motivation of people engaged with software development.

It entails 5 stages, whose purposes are to allow the increment implementation of people management procedures (Curtis, Hefley and Miller, 2001).

Suppose you hear about the quality measures that are being used at a competing company. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

Its relevance to software development is that is attracts competent individuals, develops practices that improve individuals existing skills, and team-work within organizations to help retain skilled employees, and ensure critical knowledge of development practices and methods is dispersed (What is software quality, 2018).

Reference: (People Capability Model, Curtis, Hefley and Miller, 2001), (Flip, 1.4.2, What is software quality, 2018, Slide 13-14)

This means that when code is being inspected for quality, an extra layer of redundancy is added to reaching the decision that the code is of appropriate quality, meaning that both the developer and their manager must agree that it is acceptable.

Additionally, this may have the benefit of

You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use threemore channels. Can you imagine what are those and what version of the product is manipulated?

improving overall communication and understanding of the project's code - Instead of essential knowledge pertaining to maintenance and continued development of this aspect of the product belonging solely to the developer that produced this code, now the manager has an understanding of this that may be useful in conveying to other members of the development team.

There may be a "beta" channel, where versions of the product with extra features, but with less confidence in reliability is worked on, there may be channels in which specific features are implemented, for example, a new interface, a new feature is added, or a change to an existing feature, which may not function with the overall project until completed is worked on, which can be committed to the beta channel once functional.

There may also be a further intermediary channel to the beta, that is updated with a relative high frequency, as feature development channels are merged into it continually, whose changes are periodically merged into the beta which can then be tested for quality/reliability before being committed to the release channel.

(http Ma hew Strasio o

(h ps://sydney.instructure.com/courses/2463/users/37877)

Mar 15, 2018

Just to expound on this point, based on what other students are saying, it seems that there are formal definitions for these branches/channels I described,

The "feature" channel describes the channel in which development/implementation/refactoring of individual modules/features occurs.

The "development master" describes the frequently updated channel in which features are added/changed, and some bugs may be introduced.

The "testing" channel refers to the beta, which is periodically merged from the development channel, and rigorously tested before being merged with the release channel.

Source: Other student's comments, incl. Yannis Bott

(https:// Shubhkaran Singh

(h ps://sydney.instructure.com/courses/2463/users/46680)

Mar 15, 2018

1. One sentence definition of “Software Quality”.

Software quality is a concept that aims to measure how thoroughly the software fulfils its functional requirements whilst also satisfying the non-functional requirement. (class_slides.pdf)

2. What is the purpose, tasks, mechanisms, aims and means that are part of “Software

Quality Engineering”? (1 paragraph)

Software Quality Engineering’s (SQE) intention is to make sure the software achieves its functional and non-functional requirements set out by the software requirement specification (SRS). It attempts this by defining appropriate quality standards and procedures where the aim is to achieve ‘quality culture’ within the organisation. This is done through using various processes such as quality planning, quality assurance and quality control. (class_slides.pdf)

3. What is the difference between Quality Planning, Assurance, and Control in a software development environment? (1 paragraph)

Quality planning aims to recognize which quality standard is important for the project and ways to achieve them, whereas quality assurance tries to evaluate the project performance periodically making sure that the previously identified quality standards will be achieved. Quality control makes sure that project results comply with the relevant quality standards. It aims to enforce the procedures and standard to the software development teams. (class_slides.pdf)

4. Describe what is a “Software Requirement Specification”, what is it used for? What is its purpose? (1 paragraph)

Software Requirement Specification (SRS) is a document that includes both the functional and non-functional requirements of a software. It also specifies the external behaviour of the software as well as the constraints on software development. The goal of an SRS is to help in creating quality software. (class_slides.pdf)

5. What is the People Capability Maturity Model? How many stages does it contain? Where would that be relevant in a software development environment? (1 paragraph)

The People Capability Maturity Model(P-CMM) is a framework used to help manage the development of people involved in software development. It has 5 stages; Initial,

Repeatable, Defined, Managed and Optimized. The primary aim of P-CMM is to improve the capability of the workforces, that is in terms of the level of knowledge and the skill of the workforce. Therefore, in software development environment, P-CMM helps improve workforce capability across the board instead of focusing on individuals. (class_slides.pdf) (Curtis, Hefley & Miller 2001)

6. Suppose you hear about the quality measures that are being used at a competing company. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

In the context of SQE, this statement this signifies that the code review should be done by at least 2 people of different levels in the company i.e. Once by junior software engineer and then by a senior software engineer. This assures that the code gets looked from different perspectives to ensure quality standards.

7. You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

There could be a testing channel right behind the release channel, whilst on the release channel the released product is being manipulated, the testing channel could be used for fixing major issues that are in the currently released product. There could also be an experimental channel in which the product contains new features that are experimental for now. Adding on to the experimental channel, there could be a beta-testing channel in which new feature from the experimental channel is released to the select few customers to see how the new feature performs.

(https:// Damian Siderides

(h ps://sydney.instructure.com/courses/2463/users/34305)

Mar 15, 2018

1. One sentence definition of “Software Quality”.

Software Quality is the degree to which software fulfils its specification.

2. What is the purpose, tasks, mechanisms, aims and means that are part of “Software Quality Engineering”? (1 paragraph)

The purpose of Software Quality Engineering is to ensure that there is a sufficient level of quality achieved by the software and also that it meets the requirements of the “Software Requirement Specification” such as its functional and non-functional requirements.

3. What is the difference between Quality Planning, Assurance, and Control in a software development environment? (1 paragraph)

Quality planning is deciding what requirements will be relevant to the project and monitoring these requirements as the project moves forward. Quality assurance is checking that the performance of the development environment is going to fulfil its quality requirements. Quality control is making sure that the end result of the project meets the original quality specifications.

  1. Describe what is a “Software Requirement Specification”, what is it used for? What is its purpose? (1 paragraph)

A Software Requirement Specification is a document which details the requirements that the software must meet. It is composed of functional and non-functional requirements. Functional requirements are services which need to be implemented. Non-functional requirements are limitations that are imposed on the software such as security, performance etc.

  1. What is the People Capability Maturity Model (http://cmmiinstitute.com/resources/peoplecapability­maturity­model­p­cmm/) ? How many stages does it contain? Where would that be relevant in a software development environment? (1 paragraph)

It is a model to help manage people who are involved in developing a software project. It contains 5 stages. It would be relevant in a software development environment where it is necessary to organise a large number of people.

  • Suppose you hear about the quality measures that are being used at a competing company. One of them is “Code inspections must be done at least at two different levels of the hierarchy”. What do you think these means in the context of SQE?

It means that software needs to be reviewed by 2 different people of different levels of experience. This is good because as more people look at a piece of software, they can improve upon things that may have been overlooked by others.

  1. You also hear that the rival company has different “channels” in which different versions of the product are manipulated. One of them is called the “release channel”, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

Testing – The latest version of the software but not fully tested yet. May be prone to bugs and other errors.

Stable – This version is more reliable then the latest release as it has been tested more thoroughly and is at a point that it is reliably usable.

Development – A version of the product which is designed with tools that make it easier for developers to improve upon the product but these tools will probably not be useful to consumers of the product.

Mar 15, 2018

  1. Definition of Software Quality.

The degree to which the software’s inherent characteristics fulfills both of the functional requirements and non-functional requirements.

  1. What is the purpose, tasks, mechanisms, aims and means that are part of Software Quality Engineering?

The purpose of SOE is to ensure that the required level of quality is achieved in a software product, and the tasks Involve defining appropriate quality standards and procedures and ensuring that these are followed. The mechanisms of it include quality planning, assurance, and control. SOE should aim to develop a ‘quality culture’ where quality is seen as everyone’s responsibility by establishing organizational procedures and standards for quality.

  1. What is the difference between Quality Planning, Assurance and Control for software development?

Quality planning is to identify which quality standards are relevant to the project and how to satisfy them and select applicable procedures and standards for a particular project and modify these as required. Quality assurance is periodically evaluating overall project performance to ensure the project will satisfy the relevant quality standards. And quality control is to monitor specific project results to ensure that they comply with the relevant quality standards and the procedures and standards are followed by the software development team as well.

  1. Describe what is a Software Requirement Specification, what is it used for and what is its purpose?

A software requirements specification (SRS) is a description of a software system to be developed and it includes two parts, functional requirements and nonfunctional requirements. The SRS should specify the external behavior of the software as well as the constraints on software development.

  1. What is the People Capability Maturity Model? How many stages does it contain? Where would that be relevant in a software development environment?

The People Capability Maturity Model is a framework for managing the development of people involved in software development. It contains five stages: Initial, Repeatable, Defined, Managed and Optimizing. It helps to improve organizational capability by improving workforce capability in a software development environment and ensure that software development capability is not reliant on a small number of individuals.

  1. Suppose you hear about the quality measures that are being used at a competing company. One of them is Code inspections must be done at least at two different levels of the hierarchy. What do you think these means in the context of SQE?

I think it means the codes should be checked by two different people from different hierarchies to ensure the quality of the code. Because in this way, the code can be inspected twice like a double check, and different people can check the code from different perspectives to ensure the software can fulfill the needs from most of the people.

7. You also hear that the rival company has different channels in which different versions of the product are manipulated. One of them is called the release channel, which is the one in which the released version of the product is manipulated. They tell you that they use three more channels. Can you imagine what are those and what version of the product is manipulated?

I think the three channels are design channel (collect the user needs from the end users, think about the functions of the products and create the prototype of the products), develop channel (develop the products by the prototype which is created before) and the test channel (test the product after it been developed and record the mistakes which are needed to improve before releasing.)

Reference: class_slides.pdf, 2018

Curtis, B., Hefley, B., & Miller, S. (2009). People capability maturity model (P-CMM) version 2.0 (No. CMU/SEI-2009-TR-003). Carnegie-Mellon Univ Pittsburgh Pa Software Engineering Inst.

citation generator
citaion generator
make money online