You are on page 1of 32

Ministry of Education of Republic of Moldova

Technical University of Moldova


Department of Software Engineering and Automatics

Theme: UTM Social Network

Students:
Pavel Cerlat
Piciriga Bogdan
Balan Victor
INDEX OF CONTENTS:
1. Project Initiation Activities
● 1.1 Business Problem
● 1.2 Software Project Objectives
● 1.3 Target audience/ market segment
● 1.4 Competitive and SWOT analysis
● 1.5 KPI and SDLC
● 1.6 Software Delivery Approach
● 1.7 Project Roles
2. Scope Management
● 2.1 Scope Management
● 2.2 Work Breakdown Structure (WBS)
● 2.3 Use Cases
● 2.4 Epics
● 2.5 DoR and DoD
● 2.6 Non Functional Requirements
● 2.7 Scope creep and how the Agile PM prevent it
● 2.8 Need of Change Control procedure and Change control board
3. Estimates, Time & Schedule management
● 3.1 Estimation technique
● 3.2. Activity List for 4 deliverables as per WBS
● 3.3 Gantt Chart
● 3.4 Project Duration Review
● 3.5 Critical Path and slack time for 2 activities.
● 3.6 Schedule Optimization Technique
● 3.7 Estimation of the project in the context of AGILE methodology. 2
● 3.8 Anchor stories.
● 3.9 Imaginary velocity chart and Release Schedule.
4. Cost Management
● 4.1 Costs for the project broken by key categories.
● 4.2. Estimation methods for the project relying on the Agile approach.
● 4.3 Track, record and agree the costs.
● 4.4 Responsible to monitor & track all costs and budget some expenses on various project
support activities
5. Quality Management
● 5.1. Quality documentation
● 5.2. Quality parameters
● 5.3. Quality tools, metrics, statistics, reports
● 5.4. Functional Test Strategy
● 5.5. Non-functional Test Strategy
● 5.6. Levels of bug Severity and Priority
● 5.7. Defect template
● 5.8. Cost of Software Quality
● 5.9. Preventive and corrective actions
Project initiation activities

1.1 Business Problem

Studying and learning are processes which an individual does not perform on his/her own.
Learning is always embedded in a community. Even if a person is collecting knowledge from
a book, he/she is asynchronously communicating with the writer of the book who transfers
his/her knowledge by means of the “medium” book. Learning at university means for
students first of all acquiring knowledge and competences, as well as becoming part of the
scientific society.

With respect to gaining knowledge in a university context, learning is to be described as


knowledge transfer from the scientist to the student. The scientist as part of a community
transfers his/her knowledge to students, which makes them a part of this community. But It is
not only the scientific community students are involved in. They are a part of the community
of learners, part of a social network of students, where knowledge is also acquired.
As learning always takes place in a social setting, it takes place in relationships between
people and the environment. The course instructor “works to establish communities of
practice in which conversation and participation can occur”.

Numerous studies indicate that stable social networks among students are a key factor for
students' achievement in the course of the studies and prevent drop outs. Furthermore,
engineering is usually performed cooperatively, where, in addition to technical skills,
interpersonal competencies play an essential role in getting a job done. Various studies have
shown that employers think of communication and teamwork competencies as being very
important and regard them as desired competencies of engineering graduates . Thus, the
facilitation of interpersonal competence in order to build stable social networks can be seen
as an important aspect in computer science education.

Social Media is a set of applications and websites that provide users a platform for sharing
anything and increasing their social networking. Apart from posting photos and updating
status, social media also provides an interactive computer-mediated technology where one
can share various ideas, information, career interests, and other forms of expression through
apparent communities & worldwide networks.

The popularity of Social Networking sites has rapidly increased over the past decade. Social
networks provide many kinds of services and benefits to their users like helping them to
connect with new people, share opinions with likeminded people, and stay in touch with old
friends and colleagues. Some of the reasons for the popularity of social networking sites are:

Social media sites have become invaluable tools in education, marketing and communication,
for your personal brand and your future employer(s).Social media plays an important role in
every student’s life. It is often easier and more convenient to access information, provide
information and communicate via social media. Tutors and students can be connected to each
other and can make good use of these platforms for the benefit of their learning and teaching.
1.2 Software Project Objectives
Objective 1 instant online discussions
Social media is the go to medium for people to interact. Current staff and students,
prospective staff and students, alumni, stakeholders and the wider community can all
communicate with like-minded individuals and have their questions answered, make friends
and network.

Objective 2 relationships
The University, and its staff, can use social media to connect to students, prospective
students, researchers and other organizations, but at its heart, social media is about creating
relationships with people like you. Students can connect to:
● Students on your course
● Students studying in the same field at other institutions
● Experts in your field

Objective 3 knowledge sharing


Social media provides a platform where you can share your knowledge and gain credibility in
your chosen field(s) or specialism(s). Within an online community, you can also acquire
information and insights from others who have already been where you are now or have
completed similar research.

● 1.3 Target audience/ market segment

A Social Networking service is an online platform developed for people to build social
networks with other people who share similar personal interests, career goals, activities, or
even real-life relationships. It is an internet-based service that requires the user to create a
profile of his own. Such profiles contain their personal information along with the areas of
interest.

However, every person may choose as to what must be included in the profile. Most people
display stuff that makes them impressionable rather than stuff they actually like and admire.
Users can also choose whom they wish to connect with and also manage their privacy
settings as to how much they wish to reveal about their activities and to which sort of
audience. Of-course, each SNS platform has its own methodology of functioning and
operations, but its sole purpose is to build a network.
What social media sites does the Technical University of Moldova use?
While there are many types of social media sites available for use, the Technical University
of Moldova has established an official university presence on seven sites: Facebook,
Instagram, LinkedIn, Snapchat, TikTok, Twitter, and YouTube. These university social media
are all used by students from Technical University of Moldova.

1.4 Competitive and SWOT analysis

Strengths:

● Allows integration with UTM email


● The user experience is excellent
● Understands what the users need and want

Weaknesses:

● Lacks some features like video chats, group chats, dislike buttons, etc.
● No major source of revenues
● Lack of website customization
● Weak protection of users’ information

Opportunities:

● Number of users who access the social media via mobile devices are increasing
● Expansion to other universities
● Add more sources of revenue
● Open a homework trading page

Threats:
● Users have ad-block extensions
● Slow growth rate
● Privacy issues like identity theft
● Weak business model

1.5 KPI and SDLC

The four main KPIs are:

● Customer Satisfaction,
● Internal Process Quality,
● Employee Satisfaction, and
● Financial Performance Index

Here are the reasons why these KPIs are picked time and time again:

Customer Satisfaction: It’s simple, without customers your organization wouldn’t be here. Any
organization has customers it has to satisfy..Any business, government or not-for-profit organization
has to ensure it delivers to their customers.

Internal Process Quality: Companies need to make sure their services and products are to the expected
standards and that they optimize the way these products or services are delivered. It doesn’t matter
whether you are Apple, the FBI or a shared services function, all of them have to ensure their
processes are as efficient and effective as possible and deliver the quality their customers expect.

Employee Satisfaction: We all know that companies don’t do well if their employees are not happy
and this again applies to all enterprises.
Financial Performance Index: Money matters to any enterprise as it needs to ensure it satisfies
shareholders by delivering turnover growth and healthy profits.

● 1.6 Software Delivery Approach

The Delivery approach chosen is driven by the Waterfall methodology due to the fact that
changes are progressive and incremental rather than revolutionary, it can be beneficial in
supporting cultural transformation, which would be essential for most transformation
projects' success.

1. Uses clear structure

When compared with other methodologies, Waterfall focuses most on a clear, defined set of
steps. Its structure is simple—each project goes through these steps:

● Requirement gathering and documentation


● System design
● Implementation
● Testing
● Delivery/deployment
● Maintenance

Teams must complete an entire step before moving onto the next one, so if there are
roadblocks to completion, they’re brought to light right away. Half-finished projects are less
likely to get pushed aside, leaving teams with a more complete, polished project in the end.

In addition to being clear, the progression of Waterfall is intuitive. Unlike Six Sigma or
Scrum, Waterfall does not require certifications or specific training for project managers or
employees. If you visually outline the process at the beginning using Lucidchart and explain
the methodology, team members will be able to jump into the Waterfall system without a
steep learning curve slowing their progress.

2. Determines the end goal early

One of the defining steps of Waterfall is committing to an end product, goal, or deliverable at
the beginning, and teams should avoid deviating from that commitment. For small projects
where goals are clear, this step makes your team aware of the overall goal from the
beginning, with less potential for getting lost in the details as the project moves forward.

Unlike Scrum, which divides projects up into individual sprints, Waterfall keeps the focus on
the end goal at all times. If your team has a concrete goal with a clear end date, Waterfall will
eliminate the risk of getting bogged down as you work toward that goal.

3. Transfers information well

Waterfall’s approach is highly methodical, so it should come as no surprise that the


methodology emphasizes a clean transfer of information at each step. When applied in a
software setting, every new step involves a new group of people, and though that might not
be the case at your company, you still should aim to document information throughout a
project’s lifecycle. Whether you’re passing projects off at each step or experience unexpected
personnel changes, Waterfall prioritizes accessible information so new additions to the team
can get up to speed quickly if needed.

● 1.7 Project Roles


The strategic importance and project budget for your web efforts will largely determine
the size and skill depth of your web site development team. Even for a smaller project,
however, you’ll need to cover the core team disciplines. In most small to medium
projects one person may handle multiple tasks or someone with specialized expertise
(graphic design, for instance) is hired for specific assignments. Many managers who are
assigned the responsibility of creating a web site don’t have the luxury of picking
specialist team members. Inventory the skills and aptitudes in the team you assemble,
and consider careful outsourcing to supply any expertise your team lacks.

The core skill sets needed in a web site development team are:

● Strategy and planning


● Project management
● Information architecture and user interface design
● Graphic design for the web
● Web technology
● Site production
In larger web projects each role may be filled by a separate person, although in more
specialized skill areas those contributors are not likely to be full-time team members for
the duration of the project.

Web team roles and responsibilities

Core web team roles and extended secondary team roles in larger web projects are:

● Project stakeholder or sponsor


● Web project manager

○ Quality assurance tester


● Usability lead
● Information architect
● Art director
○ Web graphic designer
○ Interactive designer (Flash, JavaScript, Ajax)
● Web technology lead
○ Web application programmer (.Net, Java, php/Perl, Ruby)
○ Web page engineer (xhtml, css, JavaScript, Ajax)

2. Scope Management

2.1 Scope Management

Piciriga Bogdan / Group Leader Back-end of the project.

Measure and verify project scope .

Validate scope change requests.

Participate in impact assessments of scope


change requests.

Communicate scope change requests to


the team .

Facilitate team level change review


process.

Cerlat Pavel Android Implementation of the project.

Participate in defining change resolutions.

Evaluate the need for scope changes and


communicate them to the project manager if
necessary.

Victor Balan Front-end of the project.

Participate in defining change resolutions.

Evaluate the need for scope changes and


communicate them to the project manager if
necessary.

In-Scope:

Connect to Other People.


Share Content.
Any UTM student Can Join.
Easy to Find People With Similar Interests.
Network Building.

Out of Scope:

Network, servers, and hardware required for the developed application.


Management, development, and testing tools.
2.2 Work Breakdown Structure (WBS)

2.3 Use Cases


2.4 Epics

Epic 1: Write Post

Epic 2: Search

Epic 3: Add Friends

Epic 4: Messaging

Epic 5: User Profile

2.5 DoR and DoD


The DoD is usually a short document in the form of a checklist, that defines when a product

backlog item (i.e. user story) is considered “done”.

● Automated tests are written and all tests are green

● Code is refactored and reviewed

● Code is integrated with master branch

● Deployed to staging environment

DoR:

● PO and Dev Team need to have talked about the story at least once

● Story must have clear business value

● Effort needs to be estimated

● Story must be broken down enough to fit a single sprint

● Story needs at least one acceptance criterium

2.6 Non Functional Requirements


2.7 Scope creep and how the Agile PM prevent it

How to Avoid Scope Creep

1. Document the Project Requirements:

The single most important thing to avoid scope creep is to document your project
requirements. A clear definition of the project requirements allows you to define the scope of
your project.

2. Set up Change Control Processes

It is unrealistic to think that nothing will change. What you need to prevent scope creep is
managed, controlled change on your project.

3. Create a Clear Project Schedule

The project schedule is the result of knowing what your project will deliver; it should show all
the requirements and how they will be achieved, in the form of tasks, activities and
milestones.

4. Engage the Project Team Members

Sometimes project team members want to be helpful and will agree to change something
without applying the formal change management process. Explain that they cannot say yes
to changes without the change being approved because that would affect the project plan
and could cause scope creep.

2.8 Need of Change Control procedure and Change control


board

Software implementation is a risky and complex task, and to avoid any


implementation failures, every organization must consider the following action items:

● The scope of the implementation project: After conducting a need


assessment, list out the required features & integrations need. Narrow your
research down to top vendors suited according to the budget.
● Create a data migration & implementation Plan: Create a multi-functional
team with the required expertise to create a backup plan and initiate data
migration. Additionally, put together an employee training program to bridge
the skill gap post-implementation.
● Pilot testing: Create a sandbox environment to test the software for any bugs
and configuration requirements. Before you launch the new application to the
entire company, choose one or two teams to run a soft launch with. This will
help you identify any early bugs before you launch the new tool for the entire
organization.
● Launch & integration: Launch & integrate the new software. Create new
account logins and send training materials to end-users.
● Feedback: Collect regular feedback to identify any issues or common
questions that can be added to your application support documentation

3. Estimates, Time & Schedule management

3.1 Estimation technique


What-If Analysis

This project estimation technique uses assumptions based on varying factors like
scope, time, cost, resources, etc., to evaluate the possible outcomes of the project by
doing impact analysis. The project may be detailed into the smallest chunk that can
be measured.
The following activities are done during the workshop:

● Break down the scope into smallest work package, components or


activities (WBS)
● Sequence the activities in the order in which they will be performed
● Identify the effort required to complete each activity
● Identify the resource estimate to complete each task or activity
● Identify the dependencies to complete each activity

3.2. Activity List for 4 deliverables as per WBS

The three most important deliverables in a social media strategy are the
following:

Social Media Listening and Monitoring Report


A kick-off meeting will be held with the client to agree on keywords, hot topics,
conversations, events, competitors and trends they are interested in monitoring. Once these
are identified and set into the Listening Tool, you can generate a comprehensive report.

Social Media Objectives and KPI Document

Once you have done your homework (listening part), you can set another meeting to discuss
the findings, key issues, threats, and opportunities. During this meeting, you can start setting
goals and objectives, creating content pillars and themes, and setting the metrics, tags or
KPIs for later performance measurement.

Editorial Calendar

Once the above are all set, you are ready to flesh out a detailed content calendar for each
social platform. Get it signed off by the client, and your campaign is ready to launch on social
media. Good luck!

3.3 Gantt Chart


A Gantt chart, commonly used in project management, is one of the most popular and useful
ways of showing activities (tasks or events) displayed against time. On the left of the chart is
a list of the activities and along the top is a suitable time scale. Each activity is represented
by a bar; the position and length of the bar reflects the start date, duration and end date of
the activity.

3.4 Project Duration Review


Many factors can impact your project and task duration estimates. Some of the major ones
include:
Project scope: If a past project didn’t include user training, but your new one does, then your
estimate needs to take into account that difference, or you won’t have enough time planned.
Experience: The level of experience your team members have will impact how long it takes
them to complete tasks.

Availability: Work hours, holidays, and vacations all need to be factored into your estimates.
If your company always shuts down for a week at Christmas, make sure your project
duration accounts for that lost time.

Uncertainty: If there are things you cannot accurately estimate, you should factor in a
contingency or buffer to help cover these variables.

Governance requirements: The level of oversight and control in your organization can impact
how long a project takes. Any reports, meetings, and reviews must be accounted for in your
duration estimates.

Estimation biases: If the person performing the work has provided the estimate, they may
have been motivated to increase the duration. It’s important to compare estimates against
past actuals and question potential biases.
Project priority: If your project isn’t strategically important for your company, you could find
yourself facing delays whenever projects conflict. For instance, if a vital project runs into
trouble and needs your lead engineer to help, you could suddenly find yourself working
without them.

3.5 Critical Path and slack time for 2 activities.

Create a working backend ‘A’


Create a basic UI ‘D’
Create the posts system ‘B’
Create friends system ‘C’
Create messaging system ‘E’
3.6 Schedule Optimization Technique

1. Identify your priority


Before you get into the nitty-gritty of reorganizing your schedule, it’s important to identify
your main goal or goals. This could be as simple as cutting costs or delivering orders on
time. The more specific and focused your goal is, the easier it will be to optimize your
schedule.

2. Assess your to-do list


Look over your tasks (or orders) for the upcoming day, week, or month (however far out you
want to schedule). Use these questions to identify high-priority tasks as well as constraints
that will affect when/how a task can be scheduled.

● Will this task get me significantly closer to achieving my goal from step 1? If we think
of a parent creating an after school schedule for their child, doing homework is likely
to be the first thing scheduled. The reason for this is that getting good grades has the
biggest impact on their child’s success and future potential (a big priority for parents).
You want to look at your business scheduling the same way.
● Is this task urgent? An example of an urgent task would be a rush delivery where a
client paid extra for a quick turnaround.
● Does this task have specific requirements that need to be factored in? A service
request that requires a worker with a particular skillset is a good example.
● Can any of these tasks be grouped? For example, if you need to send a file to
someone, it might make sense to schedule this task during a time when you can also
check your email.

Once you’ve clarified any resource constraints, tasks that need urgent attention, and tasks
that can be combined to save time, you’ll be able to find balance and optimize each part of
your schedule.

3. Formulate your plan


When you’re putting your schedule together, the tasks that get you closer to achieving your
priority from step 1 should go on the calendar first (just like the parent scheduling time to do
homework first). After that, schedule urgent tasks. Finally, you can use open windows to fill
in remaining lower-priority tasks.

4. Reassess your plan


As you get closer to the day and time when tasks are scheduled to be completed, you’ll need
to reassess your plan. Orders (or their priority) may have changed, drivers may have
requested time off, and many other circumstances may have impacted tasks. Advance
planning will make it easier to adapt to these last-minute changes and help you spot
windows where additional orders or tasks can be easily incorporated into an existing plan.

3.7 Estimation of the project in the context of AGILE


methodology.
As said before, we'll stop at the same strategy - What-If Analysis

What-if analysis is used to explore and compare various plan and schedule alternatives
based on changing conditions. It can be applied in the primary project phases to try out
scenarios and optimize your plan. During execution, it is an important tool used to predict the
consequence of any event (late delivery etc.)

What-if scenario analysis can range from a simple evaluation of the effects of changing the
duration of one or more activities to a more complex analysis. This could include introducing
duration uncertainty, running project forecasts based on performance-to-date, all the way to
a schedule and cost risk analysis, taking identified project and enterprise risks into account.

3.8 Anchor stories.


For each epic will be selected a main anchor story. All anchor stories are listed
below.

Epic 1: Write Post


As for any other social network, creating posts is the vital part of communication en
mass.

Epic 2: Search
Searching, be it for other people specific groups or posts is a good way to ensure a
comfortable and user friendly social network.
Epic 3: Add Friends
Adding friends for easy communication is the main idea behind any social network.

Epic 4: Messaging
Messaging your friends is very important for networking with the people you chose,
be it sending memes or small talk.

Epic 5: User Profile


Being able to create and customize your user profile is a great benefit in other people finding
you.

3.9 Imaginary velocity chart and Release Schedule.


Assuming we have the following story points associated with user stories from 2.4., some
intuitive calculations will be done, for a possible velocity chart:
Epic 1: Write Post

US 1 8

US 2 8

US 3 5

US 4 3

Epic 2: Search

US 1 5

US 2 3

US 3 3

US 4 3

Epic 3: Add Friends

US 1 8

US 2 5

US 3 5

US 4 3

Epic 4: Messaging
US 1 8

US 2 8

US 3 3

US 4 3

Epic 5: User Profile

US 1 8

US 2 5

US 3 3

US 4 3

4. Cost Management

● 4.1 Costs for the project broken by key categories.

● 4.2. Estimation methods for the project relying on the Agile


approach.

T-shirt Sizing is one of the Story points sizing technique to estimate user story usually
used in agile projects. It's a relative Estimation Technique.
Rather than using a number of planning pokers, here, Items are classified into t-shirt
sizes: XS, S, M, L, XL.
The term originates from the way T-shirt sizes are indicated in the US. Rather than
having T-shirts in sizes 4, 5, 6 etc, there are just a few sizes: Small (S), Medium (M),
Large (L) and Extra Large (XL) and so on.

With T-shirt measuring, the development team is made a request to evaluate whether
they think a story is extra-small, small, medium, large, extra-large, or double
extra-large. By expelling the numerical score, the development team is allowed to
think in a more dynamic manner about the exertion associated with a story. The sizes
can, if necessary, be given numerical value after the estimation is finished.

● 4.3 Track, record and agree the costs.


Costs will be recorded weekly in Hive. Dashboards will be used for project team reporting.
● 4.4 Responsible to monitor & track all costs and budget some
expenses on various project support activities

The Team Lead reviews the expected costs for the team area for the current fiscal year. These cost
projections will be used to analyze the impact of the budget upon Parallel initiatives. The Project
Manager and the Cost Analyst meets with each team to review and document current and requested
Resource needs as well as financial and resource requests.

Project managers are responsible for cost project management. As part of their role, they must
estimate total costs, plan the budget, monitor spend, and prepare for potential risks. A project manager
must remain vigilant throughout the cost management process to ensure they stay within budget and
improve profitability.

5. Quality Management

● 5.1. Quality documentation


First, properly maintained documentation provides employees with the official "company way" of
performing their tasks as related to ensuring product quality. Next, documentation can be very useful
in simplifying complex (and, thereby, error-prone) processes. Documentation can be used to
supplement employee training.

It provides a basis for comparing what is required to what is actually done. Documentation, in other
words, can be audited to verify compliance. It is an excellent source of objective evidence for the
auditor. Documentation also provides a method of evaluating the quality system per-formance of
suppliers and sub-tier suppliers to ensure the best provider of quality material and products is selected.

Quality control plans generally include detailed information on:

● An overview or introduction of the project or process detailing the background, need, scope,
activities, and important dates or deadlines
● The organizational structure or org chart detailing necessary team members, including external
vendors
● Each team member’s responsibilities and qualifications necessary to fulfill stated duties
● Work verification (e.g., who is responsible for carrying out a task, as well as who is responsible for
checking the work)
● 5.2. Quality parameters

Quality parameter - the size characterizing the quality level of certain consumer and production goods
and processes leading to the production of a given good.

The quality is described by eight dimensions characterizing, in various respects, the data of good and
determining their essence and purpose, i.e.:

● functional features of the product, usability in accordance with the characteristics of the essence of
the object,
● features that complement the basic functional features of the product,
● reliability, ability to work trouble-free,
● practicality, adaptability of the product, ease of use and maintenance,
● compliance with the standard requirements,
● durability, the possibility of using the product for a limited time,
● aesthetics, product reception,
● perceived quality, closely related to the product's brand and supplier's reputation.

● 5.3. Quality tools, metrics, statistics, reports


SafetyCulture (formerly iAuditor) is a quality control app that aims to aid QC managers in every step
of the quality control process. With SafetyCulture, you can easily convert your paper checklists or
spreadsheets into mobile-ready inspection forms in minutes and ensure that the same template is used
by all your inspectors. With your quality control team using the same digital quality control templates
and having visibility for all actions, you can be sure that everyone is on the same paperless page.

Mockito is an open source testing framework for Java released under the MIT License. The
framework allows the creation of test double objects (mock objects) in automated unit tests for the
purpose of test-driven development (TDD) or behavior-driven development (BDD).

SonarQube (formerly Sonar) is an open-source platform developed by SonarSource for continuous


inspection of code quality to perform automatic reviews with static analysis of code to detect bugs and
code smells on 29 programming languages. SonarQube offers reports on duplicated code, coding
standards, unit tests, code coverage, code complexity, comments, bugs, and security
recommendations.
● 5.4. Functional Test Strategy

● 5.5. Non-functional Test Strategy


● 5.6. Levels of bug Severity and Priority

Types of SeverityIn Software Testing, Types of Severity of bug/defect can be categorized into the
following parts:

● Critical: This defect indicates complete shut-down of the process, nothing can proceed further
● Major: It is a highly severe defect and collapses the system. However, certain parts of the
system remain functional
● Medium: It causes some undesirable behavior, but the system is still functional
● Low: It won’t cause any major break-down of the system

Priority TypesTypes of Priority of bug/defect can be categorized into three parts :

● Low: The Defect is an irritant but repair can be done once the more serious Defect has been
fixed
● Medium: During the normal course of the development activities defect should be resolved. It
can wait until a new version is created
● High: The defect must be resolved as soon as possible as it affects the system severely and
cannot be used until it is fixed
● 5.7. Defect template
● 5.8. Cost of Software Quality

Basically, the costs of software quality (COSQ) are those costs incurred through both meeting and not
meeting the customer’s quality expectations. In other words, there are costs associated with defects,
but producing a defect-free product or service has a cost as well. Calculating these costs serves the
purpose of identifying just how much the organization spends to meet the customer’s expectations,
and how much it spends (or loses) when it does not.

Knowing these values allows management and team members across the company to take action in
ensuring high quality at a lower cost. While analyzing the COSQ at an organization may lead to the
revelation of uncomfortable truths about the state of quality management at the company, the process
is important for eliminating waste associated with poor quality. This often requires a mindset and
culture shift from viewing software quality defects as individual failures to seeing them as
opportunities to improve as a collective team.

● External failure costs – linked to defects the customer finds post-sale, e.g. costs to process
customer complaints, returns, warranty claims.
● Internal failure costs – linked to defects found before selling the product to customers, e.g.
re-work, re-testing, bug fixing, re-design.
● Appraisal costs – incurred to determine conformance to quality requirements, e.g.
measurements, audits, evaluations, inspections, testing.
● Prevention costs – incurred to prevent bad quality, e.g. quality planning, project management,
feature review, product review, Agile and process review, team training.

The issue of cost of quality in software development is about balance, as with many other aspects.
Quality management creates adds extra costs and time, and, if not addressed, could potentially
become a point of failure. A practical and beneficial COQ would be the one aligned with project
requirements and quality goals, preventing defects and not exceeding the budget.

This means, while quality is really crucial, it doesn’t need to be attained in every feature down to each
detail. In this quest to minimize costs without compromising quality, a good starting point is finding
the spot at which cost of control can ensure targeted results without going overhead.
● 5.9. Preventive and corrective actions

Preventive action is taken to fix the cause of a process problem before it can happen. In a management
system, a preventive action (PA) definition could be: “the activities taken by the organization to
eliminate the cause of a potential process nonconformity.” If you are identifying potential problems
that could happen in a process, assessing what could cause these problems, and taking action to
prevent the problem from occurring before it happens, then you are taking preventive action.

Corrective action (CA) is the activities taken to eliminate the cause of a process nonconformity.
Corrective action is the activity of reacting to a process problem, getting it under control through
containment actions, and then taking the action needed to stop it from happening again. Earlier
versions of ISO 9001 made the distinction that CA will prevent recurrence of a problem, but PA will
prevent the occurrence of the problem.

hen executing both there are some important considerations you should put in mind and these include:

● Properly define the non-conformance or risk, understand the details and don’t deviate.

Documentation of the issue in a fixed framework can be an essential part to do this.

● Assign the right people to deal with the issue is very important. The people charged with

overseeing the organization’s quality management systems should have a broader

understanding of the compliance economics of the organization. They should be in a position

to communicate easily on actions needed to handle non-conformities.

● Standardise to avoid conflicting procedures in the operational workflows. In other words,

the steps taken to deal with non-conformances should be very clear and straightforward

without confusing the organisations and teams involved.

● Enable tracking, reviewing and traceability of the entire process. This helps the

organization to analyze and understand if the measures implemented in the workflow are

correct and whether actions are performed and effectively working. Using a standard

monitoring and evaluation mechanism, the organization can achieve its target objectives and

mitigate risks that could arise from the occurrence of non-conformances.

You might also like