4. High-Level Structured Methodology
The High-level structured methodology is a holistic approach to software development that covers all aspects of the process, from requirements gathering to deployment and maintenance. It is an iterative and systematic process designed to generate software that is dependable and of excellent quality.
The proposed high-level methodology is a hybrid of the Waterfall and Agile software development methods. Waterfall is a sequential method, requiring each stage to be completed before moving on. In contrast, Agile is iterative, gathering requirements and developing and testing software in short cycles. This hybrid approach harnesses the qualities of both methodologies and allows for developers to take advantage of Waterfall’s clarity of scope and Agile's adaptiveness to market demands
[13] | Osemeike Gloria Eyieyien, Courage Idemudia, Patience Okpeke Paul, & Tochukwu Ignatius Ijomah. (2024). Advancements in project management methodologies: Integrating agile and waterfall approaches for optimal outcomes. Engineering Science & Technology Journal, 5(7), 2216-2231. https://doi.org/10.51594/estj.v5i7.1312 |
[13]
.
Therefore,
Figure 1 shows a proposed high-level structured methodology for the development and introduction of AI systems. Developing and deploying effective and ethical AI systems can be a complex challenge. The proposed methodology offers a comprehensive and well-structured approach that guides organizations through every crucial stage, from initial requirements analysis to ongoing maintenance. This structure is crucial to ensure that AI systems are not only effective but also ethically sound
[8] | Konidena, B. K.., Malaiyappan, J. N. A., & Tadimarri, A. (2024). Ethical Considerations in the Development and Deployment of AI Systems. European Journal of Technology, 8(2), 41–53. https://doi.org/10.47672/ejt.1890 |
[8]
. By following this framework, organizations can significantly increase their chances of success in building AI systems that deliver real value.
Figure 1. A High-level Structured Methodology for Development/Introduction of AI Systems.
4.1. The Planning Phase
The planning phase is the initial stage of AI system development, encompassing critical steps to ensure the project's feasibility and alignment with organizational objectives. This phase comprises feasibility studies, new system development, existing system integration, business requirements analysis, user requirements elicitation, technical requirements definition, organizational requirements assessment, socio-cultural considerations, and data type or model selection.
Feasibility studies assess the project's viability while taking into consideration financial, technical, and resource restrictions. The 'New System' box represents the AI system being developed, while the 'Existing Systems' box highlights the introduction of existing AI systems into an organization, and the possible integration of the same with existing IT infrastructure and operational processes. This decision point determines whether to develop a new AI system from scratch or to adapt an existing system to meet the organization's specific needs.
The requirements analysis involves gathering and analyzing the requirements for the AI system. This entails determining the business and user requirements besides the functional and non-functional requirements. Business requirements define the high-level business-oriented objectives the AI system aims to achieve, while user requirements articulate the specific needs and expectations of the system's users. Technical requirements outline the hardware, software, and data specifications, while organizational requirements address governance structures, risk management, and security considerations. Socio-cultural or non-functional criteria include fairness, bias mitigation, and ethical concerns to make sure the AI system is in line with society values and does not inflict harm that is not intended. Data types or models represent the data types or models that will be used by the AI system. Besides machine learning models like neural networks or decision trees, this may also involve other data types, like text, photos, or videos. Refer to
Figure 1 for the arrows illustrating the information flow between these stages.
Algorithmic Representation of the Planning Phase with Integrated AI Considerations
With XAI concerns, fairness, human-in-the-loop decision-making, and data governance in mind, this algorithm illustrates the essential processes in the design phase of AI system development. The specific implementation details and control flow statements may vary depending on the platform or programming language used.
Algorithm: AI System Planning Phase
Start:
Inputs:
1) Project goals and objectives
2) Data sources and types
Outputs:
1) Non-functional requirements (including XAI considerations)
2) Data governance policies and procedures
3) Business, user, technical, and organizational requirements
Steps:
1) Define project goals and objectives: Identify the overall purpose and desired outcomes of the AI system.
2) Establish data governance policies and procedures: Define how data will be collected, stored, used, and shared throughout the system development lifecycle.
3) Choose data sources and types: Select the data sources and types that will be used to train and operate the AI system.
4) Apply bias detection techniques: Analyze the selected data for potential biases using appropriate tools and techniques.
5) Identify business, user, technical, and organizational requirements:
a. Business requirements: Define the high-level objectives the AI system aims to achieve.
b. User requirements: Specify the needs and expectations of the system's users.
c. Technical requirements: Outline the hardware, software, and data specifications needed for the system.
d. Organizational requirements: Address governance structures, risk management, and security considerations.
6) Incorporate XAI considerations into non-functional requirements: Specify the desired level of explainability, transparency, and interpretability for the AI model.
7) Consider human-in-the-loop decision-making scenarios: Identify potential points in the system where human intervention might be necessary or desirable.
End:
4.2. The Design Phase
The design phase translates the defined requirements into a detailed blueprint for the AI system. This phase encompasses three crucial stages: Requirements Specification, Functional Design, and Verification Testing. The 'Requirements Specification' stage documents the system's architecture, components, and interfaces, forming a comprehensive guide to the AI system's development. Functional Design involves crafting a visual representation of the AI system's functionalities and interactions, providing a clear roadmap for its implementation. Verification Testing takes the nonfunctional requirements of design into account. It serves as a rigorous quality control measure, ensuring that the design aligns with the established requirements and functions as intended. Some of these constraints are to ensure attributes such as fairness, transparency, privacy, security, or safety and are vital for maintaining the relevance and effectiveness of AI systems over time
[8] | Konidena, B. K.., Malaiyappan, J. N. A., & Tadimarri, A. (2024). Ethical Considerations in the Development and Deployment of AI Systems. European Journal of Technology, 8(2), 41–53. https://doi.org/10.47672/ejt.1890 |
[2] | Amershi, S., Chickering, M., Drucker, S., Lee, B., Simard, P., & Suh, J. (2014). ModelTracker: Redesigning Performance Analysis Tools for Machine Learning. In Proceedings of the 32nd Annual ACM Conference on Human Factors in Computing Systems (pp. 337-346). ACM. |
[8, 2]
. The arrows in
Figure 1 illustrate the flow of information between these levels.
Algorithmic Representation of the Design Phase with Integrated AI Considerations
This algorithm explains the key elements in the AI design phase, considering XAI, fairness, human-in-the-loop decision-making, and data governance to ensure the system's ethical and responsible development.
Algorithm: AI System Design Phase
Inputs:
1) System requirements (functional, non-functional, including XAI considerations)
2) Data governance policies and procedures
Outputs:
Detailed design document (including XAI, fairness, human-in-the-loop, and data governance considerations)
Steps:
1) Review system requirements: Analyze the provided functional, non-functional requirements, and XAI considerations for the AI system.
2) Define the system architecture: Design the overall structure of the AI system, including its components and their interactions.
3) Incorporate XAI techniques:
a. Identify specific XAI techniques: Select appropriate XAI techniques to achieve the desired level of interpretability and understandability of the AI model based on the defined requirements.
b. Integrate XAI techniques into design: Design how the chosen XAI techniques will be implemented within the system, including how explanations will be generated and presented to users or integrated into decision-making.
4) Implement fairness checks:
a. Define a fairness metrics: Based on data governance policies and the identified risks, define specific metrics to be used for evaluating potential bias in the model.
b. Design fairness checks: Design mechanisms within the system to monitor model predictions for bias using the defined metrics. Integrate procedures for mitigating any identified biases based on fairness considerations.
5) Design for human-in-the-loop decision-making:
a. Identify scenarios for human intervention: Based on the requirements and potential risks, identify specific scenarios where human involvement in the decision-making process might be necessary or desirable.
b. Design for human interaction: Design interfaces and functionalities that enable human review of AI decisions and incorporate human input into the decision-making process as needed.
6) Ensure data governance compliance:
a. Review data governance policies: Analyze the specified data governance policies and procedures relevant to the design phase.
b. Design for compliance: Integrate mechanisms into the design to ensure the system adheres to data governance requirements, such as data access control, data security measures, and data anonymization techniques.
7) Document the design: Create a comprehensive design document that captures the system architecture, functionalities, XAI integration details, fairness checks, human-in-the-loop considerations, and data governance compliance measures.
8) Prepare for verification testing: Prepare the design document and any relevant information for the verification and testing phase.
End:
4.3. The Implementation Phase
The implementation phase brings the design to life, transforming it into a functional AI system. This phase encompasses four key steps: Detailed Design, Data Types or Models, Build Model, and Verification and Validation Testing. Detailed Design meticulously outlines the algorithms, data structures, and code that will orchestrate the system's operation. Data Types or Models encapsulate the input data and the learning models that the AI system will use. The Build Model process meticulously constructs the AI model, employing the selected algorithms and data. Verification and Validation Testing rigorously assesses the implemented system, ensuring that it adheres to the specified requirements, functions as intended, and delivers accurate results. Refer to
Figure 1 for the arrows illustrating the information flow between these stages.
Algorithmic Representation of the Implementation Phase with Integrated AI Considerations
The essential phases in the implementation phase of AI development are outlined in this algorithm, which also considers data governance, fairness, human-in-the-loop decision-making, XAI, and other factors to guarantee the responsible creation and use of the AI system.
Algorithm: AI System Implementation Phase
Inputs:
1) Detailed design document (including XAI, fairness, human-in-the-loop, and data governance considerations)
2) Training data
3) Data governance policies and procedures
Outputs:
1) Trained and tested AI model
2) Documentation of implementation details
Steps:
1) Review the detailed design document: Analyze the detailed design document, paying particular attention to the sections outlining XAI integration, fairness checks, human-in-the-loop functionalities, and data governance compliance measures.
2) Prepare a development environment: Set up the necessary development environment, including tools, libraries, and frameworks required for implementing the chosen algorithms and data structures.
3) Implement system logic:
Develop the core functionalities of the AI system based on the detailed design document.
Integrate XAI techniques: Implement the chosen XAI techniques as specified in the design document, ensuring they generate explanations or insights as intended.
4) Pre-process data: Clean, pre-process, and prepare the training data according to the chosen model requirements.
Optionally, apply bias detection techniques: If not already done in the planning phase, apply bias detection techniques to identify potential biases in the training data and consider appropriate mitigation strategies.
5) Build and train the model: Train the AI model using the prepared data, adhering to data governance policies and procedures regarding data access, security, and privacy.
Implement fairness checks: Incorporate the designed fairness checks into the training process to monitor for bias and implement mitigation strategies if necessary.
6) Implement human-in-the-loop functionalities: Develop and integrate the user interface or other mechanisms for human intervention as designed, including functionalities for human review, input, and decision-making integration.
7) Perform verification and validation testing:
a. Conduct rigorous testing to ensure the system functions as planned, meets the specified requirements, and delivers accurate results.
b. Evaluate the effectiveness of the implemented XAI techniques in providing interpretability and understandability.
c. Test for potential biases using appropriate metrics and assess the effectiveness of the implemented fairness checks.
8) Document implementation details: Document the specific implementation details, including decisions made, challenges encountered, and solutions implemented throughout the process. This documentation should also capture the details of XAI integration, fairness mitigation strategies, and human-in-the-loop functionalities.
End:
4.4. The Deployment Phase
The deployment phase entails the seamless integration of the AI system into the organization's existing IT infrastructure and operational processes. This phase comprises two key steps: Implementation Strategy and implementation. Refer to
Figure 1 for the arrows illustrating the information flow between these stages.
Implementation Strategy involves developing a comprehensive plan for deploying the AI system into production. This includes:
1) Identifying the necessary resources
2) Anticipating potential risks and challenges
3) Establishing clear deployment objectives
Implementation involves the practical deployment of the AI system into production. This includes:
1) Preparing the deployment environment
2) Installing the AI system
3) Configuring the AI system to interact seamlessly with other systems and data sources
To ensure a smooth adoption and effective utilization of the AI system, comprehensive training and support are provided to users. This may involve:
1) Providing detailed documentation
2) Conducting hands-on workshops
3) Offering online training modules
Ongoing support is provided to users after the system has been deployed to:
1) Address any issues
2) Resolve bugs
3) Provide additional training as needed
Algorithmic Representation of the Deployment Phase with Integrated AI Considerations
The deployment phase of AI development is outlined in this algorithm, which also includes data governance, human-in-the-loop decision-making, fairness monitoring, and XAI concerns to guarantee the responsible and moral operation of the deployed AI system.
Algorithm: AI System Deployment Phase
Inputs:
1) Trained and tested AI model
2) Deployment environment details
3) User training materials
4) Data governance policies and procedures
Outputs:
1) Deployed AI system
2) User training materials (including XAI explanations)
3) Monitoring plan for fairness and bias
4) Procedures for human-in-the-loop decision-making
Steps:
1) Develop deployment strategy:
a. Define the resources required for deployment (hardware, software, personnel).
b. Establish clear objectives for the deployment, including performance metrics and expected outcomes.
c. Identify and analyze deployment-related risks.
2) Integrate XAI into training materials:
a. Review user training materials and incorporate explanations or insights generated by the chosen XAI techniques.
b. Develop specific training modules on interpreting XAI outputs and using them effectively in decision-making.
3) Define fairness monitoring plan:
a. Identify metrics to track fairness indicators relevant to the deployed system.
b. Establish procedures for investigating and addressing any identified biases during operation.
4) Define human-in-the-loop procedures:
a. Specify the scenarios and criteria for human intervention in the decision-making process.
b. Outline escalation procedures for complex or critical decisions requiring human review and approval.
5) Adapt and implement data governance:
a. Review data governance policies and procedures, adapting them to the specific requirements of the deployed system.
b. In the deployment environment, specify and put into place technological controls for data security and access.
6) Prepare deployment environment:
a. Configure the target environment (hardware, software, infrastructure) to meet the system's requirements.
b. Ensure compatibility and secure communication between the AI system and other relevant systems and data sources.
7) Deploy the AI system:
a. Install the trained AI model and associated components in the prepared environment.
b. Configure the system parameters to ensure proper interaction with other systems and data sources.
8) Implement fairness monitoring:
a. Integrate tools or mechanisms to monitor the deployed system for potential biases using the defined metrics.
b. Establish trigger points for raising alerts or triggering automated corrective actions based on fairness indicators.
9) Train users:
a. Conduct training sessions for users on the functionality of the AI system, including proper utilization of XAI explanations.
b. Provide training on the established procedures for human-in-the-loop decision-making and escalation protocols.
10) Enforce data governance:
a. Continuously monitor adherence to adapted data governance policies and procedures during operation.
b. Provide users with ongoing training and awareness programs on data governance principles and responsible data practices.
End:
4.5. The Maintenance Phase
The maintenance phase plays a crucial role in keeping AI systems operational, reliable, and aligned with evolving organizational needs. It encompasses a range of activities aimed at addressing potential issues, enhancing performance, and adapting the system to changing requirements. These activities are categorized into four main types: corrective, perfective, adaptive, and enhancement maintenance.
1) Corrective maintenance is finding and resolving problems or flaws that might impair the system's operation. This type of maintenance ensures that the AI system remains stable and meets its intended purpose.
2) Perfective maintenance focuses on improving the system's performance, efficiency, or effectiveness. It may involve optimizing algorithms, refining data analysis techniques, or enhancing user interfaces. Perfective maintenance aims to elevate the overall quality of the AI system.
3) Adaptive maintenance adapts the AI system to meet changing requirements or environmental conditions. This may involve incorporating new data sources, integrating with third-party applications, or adjusting the system's behavior in response to evolving user needs. Adaptive maintenance keeps the AI system relevant and sensitive to the changing environment.
4) Enhancement maintenance introduces new features or capabilities to the AI system. This type of maintenance expands the system's scope and potential, enabling it to address new challenges or provide additional value to users. Enhancement maintenance adds to the system's overall capabilities and versatility.
The maintenance phase necessitates a collaboration among data scientists, software developers, and domain specialists. These individuals work together to identify and address maintenance needs, ensuring that the AI system remains aligned with the organization's goals and objectives. This collaboration fosters a sustainable AI ecosystem that adapts and evolves over time.
Algorithmic Representation of the Maintenance Phase with Integrated AI Considerations
The integration of XAI techniques ensures that AI systems remain interpretable and understandable to human stakeholders to foster trust and ease human-in-the-loop decision-making
. This algorithm outlines the main steps involved in the maintenance phase of AI development, considering XAI, fairness, human-in-the-loop decision-making, and data governance to ensure the AI system's responsible and sustainable operation throughout its lifecycle.
Algorithm: AI System Maintenance Phase
Inputs:
1) Deployed AI system
2) User feedback and reported issues
3) Performance monitoring data
4) Evolving requirements and environmental conditions
Outputs:
1) Updated AI system (improved performance, new features, adapted functionalities)
2) Documentation of maintenance activities and decisions
Steps:
1) Monitor system performance:
Continuously monitor the AI system's performance using established metrics and data logging practices.
Leverage user input, crash reports, and system activity records to pinpoint problems and opportunities for enhancement.
2) Identify maintenance needs:
Analyze the collected data to identify needs for corrective, perfective, adaptive, or enhancement maintenance based on:
Corrective: Identified bugs, errors, or performance disruptions.
Perfective: Opportunities to improve efficiency, effectiveness, or user experience.
Adaptive: Evolving requirements, new data sources, or changes in the operational environment.
Enhancement: Opportunities to add new features, functionalities, or capabilities.
3) Integrate AI considerations:
i. Throughout all maintenance activities:
a. Utilize XAI techniques: Leverage explanations generated by XAI to understand the root causes of issues, guide improvements, and assess the potential impact of changes on the system's behavior.
b. Adhere to data governance: Ensure all maintenance activities comply with established data governance policies and procedures regarding data access, security, and privacy.
ii. For corrective and adaptive maintenance:
Re-evaluate for bias: Assess the potential for emerging biases after bug fixes, data source changes, or other significant modifications. Mitigate any identified biases if necessary.
iii. For corrective, perfective, and adaptive maintenance:
Ensure appropriate human oversight: Assess the effectiveness of human-in-the-loop procedures and make adjustments as needed. Maintain appropriate levels of human oversight throughout the maintenance process, especially when addressing complex issues or introducing significant changes.
iv. For enhancement maintenance:
a. Consider XAI for potential impact: Evaluate the potential impact of introducing new features or functionalities on the system's interpretability and explainability using XAI techniques.
b. Evaluate for bias in new functionalities: Assess potential biases in newly introduced functionalities and implement mitigation strategies if necessary.
4) Perform maintenance:
Based on the identified needs and considerations, perform the required maintenance activities. This may involve:
a. Corrective: Fixing bugs, addressing errors, or implementing workarounds.
b. Perfective: Optimizing algorithms, refining data analysis techniques, or enhancing user interfaces.
c. Adaptive: Integrating new data sources, modifying system behavior, or adapting to changing environments.
d. Enhancement: Adding new features, functionalities, or capabilities to the system.
5) Validate and test changes:
Thoroughly test and validate any changes made during maintenance to ensure they function as intended, maintain system stability, and address the identified issues or requirements.
6) Document and deploy updates:
a. Document the maintenance activities undertaken, decisions made, and changes implemented.
b. After testing and validation have been completed satisfactorily, begin releasing the improved AI system into the operational environment.
7) Monitor and iterate:
a. Continue to monitor the system's performance and user feedback after deployment.
b. Use the collected data and insights to inform future maintenance cycles, fostering a continuous improvement process for the AI system.
End:
By implementing comprehensive maintenance practices, organizations can maximize the value of their AI systems, ensuring their long-term effectiveness, reliability, and adaptability.