Tight Coupling of AI and Non-AI Development
Summary: The AI and non-AI development sprints and stand-up meetings need to be closely coordinated.
Type of pattern: Governance pattern
Type of objective: Trustworthiness
Target users: Project managers
Impacted stakeholders: Development teams
Lifecycle stages: All stages
Relevant AI ethics principles: Human, societal and environmental wellbeing, human-centered values, fairness, privacy protection and security, reliability and safety, transparency and explainability, contestability, accountability
Context: In AI system development, both AI and non-AI components are rapidly iterated. This process requires more frequent integration of AI and non-AI components. The development of AI components is supported by the AI model pipeline and mostly done by data scientists and data engineers who are not familiar with software engineering. Compared with non-AI components, the development of AI components is more experimental and with less methodological support. The methodological gap between AI and non-AI development can affect the frequent integration of AI and non-AI components.
Problem: How can we ensure that the integration of AI and non-AI development goes seamlessly in a responsible manner?
Solution: To ensure a clear understanding of project deliverables and progress, it can be beneficial for the AI and non-AI development sprints and stand-up meetings to be closely coordinated. The deliverables include both AI components that produce AI models and non-AI components that utilize the outputs of the AI models for overall system functionalities. To ensure tight coupling between AI and non-AI development, including effective communication and data sharing, the two teams can share sprints and use a common co-versioning registry to manage artifacts and track progress. Stand-up meetings provide an opportunity for the AI and non-AI team to confirm the current sprint is on track to meet planned objectives, while also considering both system-level and model-level (ethical) requirements when making design decisions.
Benefits:
- Effective communication: The close alignment of AI and non-AI development results in stronger trust among the project team and improved communication regarding both system-level and model-level ethical requirements.
- Improved traceability: By closely aligning the development of AI and non-AI components, it is possible to track the progress of both teams can be tracked throughout the project lifecycle.
Drawbacks:
- Dependent relationship: If the non-AI team heavily relies on the AI team to provide the models, their work may be delayed due to the AI team’s progress or any technical issues with the AI models. Similarly, the AI team may experience similar delays if they depend on the non-AI team for functionalities or inputs.
- Scalability concerns: As the project scales, managing the tightly coupled AI and non-AI development may be challenging.
Related patterns:
- Co-versioning registry: Using a common co-versioning registry can be an effective way for the AI and non-AI teams to manage the coordination of AI and non-AI components. The teams can easily track versions of data, model, code, and configurations through a co-versioning registry.
- Multi-level co-versioning: The AI and non-AI teams can utilize a common co-versioning registry to manage and track different levels of co-versioning of AI system artifacts.
Known uses:
- Microsoft Team Data Science Process supports continuously integrating the AI model with the rest of the software.
- Amazon SageMaker Pipelines is a continuous integration and continuous delivery (CI/CD) service for machine learning (ML), which can help automate different steps of the ML workflow.
- Azure Pipelines can be used to build the CI/CD pipelines for a machine learning project.