From 8259ccc62430c8b5dcc53aec86e958686f8d7644 Mon Sep 17 00:00:00 2001 From: Majda Lojpur Date: Tue, 19 Mar 2024 23:57:46 -0400 Subject: [PATCH] repushing me and dinas parts because of formating issues --- .../Standards_For_Best_Practices.md | 38 +++++++++++++++---- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/Topics/Development_Process/Standards_For_Best_Practices.md b/Topics/Development_Process/Standards_For_Best_Practices.md index 5d7951d4b..db002172d 100644 --- a/Topics/Development_Process/Standards_For_Best_Practices.md +++ b/Topics/Development_Process/Standards_For_Best_Practices.md @@ -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) ### [Why is This Relevant to CSC301 Students?](#why-is-this-relevant-to-csc301-students-1) @@ -30,10 +22,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.