Skip to content

Commit

Permalink
merge fix (#612)
Browse files Browse the repository at this point in the history
  • Loading branch information
DinaLojpur authored Mar 20, 2024
2 parents a9d0b2a + 8259ccc commit 337e853
Showing 1 changed file with 30 additions and 8 deletions.
38 changes: 30 additions & 8 deletions Topics/Development_Process/Standards_For_Best_Practices.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,3 @@
# Utilizing Standards to Adopt Best-Practices in Software Engineering

## Table of Contents

### [What Is a Standard?](#what-is-a-standard-1)

### [Why Are Standards Important?](#why-are-standards-important-1)

### [How Are Standards Created?](#how-are-standards-created-1)

### [Sources](#sources-1)
Expand All @@ -22,10 +14,40 @@ In addition, adopting standards promotes compatibility between different softwar

### [How Are Standards Created?](#how-are-standards-created-1)

Aligned with the guidelines set forth by the Digital Governance Standards Institute (DGSI), a technical committee comprising of subject matter experts is established prior to the creation of a standard, particularly if there is not already a committee addressing the specific topic. These committees operate by consensus to ensure inclusivity and equal participation, access, and opportunity among interested parties.

The technical committees have the responsibility of developing, approving, interpreting, and periodically reviewing standards within their respective subjects, ensuring currency and relevance.

Any individual or organization, known as stakeholders, can suggest the creation, modification, or removal of a standard. Upon approval of a new standard, the technical committee initiates the standard development process, beginning with drafting the initial version.

Following the completion of the first draft, a public review period ensues. The public then has the opportunity to comment, provide feedback, and suggest improvements.

Following thorough consideration of public comments and necessary revisions, the committee reaches a consensus on the final version of the standard. Subsequently, it is then submitted for approval by relevant governing bodies or organizations before being officially published.

Overall, the standardization process ensures consistency, quality, and interoperability, benefiting stakeholders and facilitating innovation and growth in the respective field.

### [Why is This Relevant to CSC301 Students?](#why-is-this-relevant-to-csc301-students-1)

Understanding and learning about standards is crucial for CSC301 students for several reasons:

- Ensuring quality: Standards provide frameworks and guidelines that are easy to follow and ensure quality, reliability, and interoperability. For instance, a CSC301 student might find that adhering to CAN/CIOSC 101 would help ensure that their software project follows established protocols for data governance, enhancing its security and compliance measures.
- Agile development: In CSC301, students learn about agile development, which prioritize adaptability and collaboration in software development. Standards are essential in agile practices, ensuring consistency, quality, and ethical considerations throughout the iterative development process.
- Ethics integration: CSC301 includes ethical discussions and standards guide ethical conduct in software engineering.
- Industry preparation: Knowledge of standards is valued in the industry, preparing students for workforce expectations.
- Software quality enhancement: Adhering to standards promotes consistency and best practices, leading to higher quality solutions.

In addition to understanding software engineering standards, being aware of best practices and considering future AI rules and guidelines is also crucial for CSC301 students. As artificial intelligence (AI) continues to advance rapidly, integrating AI technologies into software engineering projects is becoming increasingly common. By staying informed about AI rules and guidelines, students can ensure that their software solutions align with ethical principles and emerging industry standards.

### [Examples of Standards of Relevance](#examples-of-standards-of-relevance-1)

#### Example of a AI Standard

As mentioned above, staying informed about relevant standards pertaining to AI is vital. One such standard, DGSI’s [CAN/CIOSC 101](https://dgc-cgn.org/standards/find-a-standard/standards-in-automated-decision-systems-ai/cisoc101/), "Ethical Design and Use of Automated Decision Systems," developed by technical committee 02: Ethical AI, is especially relevant for future software engineers.

CAN/CIOSC 101 focuses on ensuring ethical practices in AI-driven decision-making systems from design to deployment. As AI technologies are increasingly evolving, ethical considerations are becoming more and more prevalent. Adhering to CAN/CIOSC 101 ensures projects uphold human values, mitigate biases, and promote transparency.

DGSI offers all their standards for free download on their website, making them easily accessible to all. Similarly, CAN/CIOSC 101 is freely available and can be adopted and applied by aspiring software engineers.

#### Example of a Data Governance Standard

In addition to standards about AI, there are many standards about Data Governance that could be relevant for CSC301 students and their partner projects. One such standard is DGSI’s [CAN/CIOSC 100-4](https://dgc-cgn.org/standards/find-a-standard/standards-in-data-governance/remote-access-infrastructure/): Scalable Remote Access Infrastructure.
Expand Down

0 comments on commit 337e853

Please sign in to comment.