Design Thinking in AI
AI Organization
AI organization is an organization that intends to employ machine learning and data science to automate and enhance its manual or rule-based business processes. AI helps organizations to improve efficiency, reduce cost, and scale the business. These days most organizations are working to transform themselves into AI organizations, mainly due to recent advances in machine learning methods, cheaper compute and storage, and digitization of business processes. The entire ecosystem has arrived at a point where this transformation is not a choice but has become a necessity to stay both relevant and competitive in years to come.
AI Transformation
When an organization has decided to transform itself into an AI transformation, it has to work on many fronts simultaneously, such as;
- infrastructure development,
- upgrade existing resources,
- adding new hires,
- migrate and uplift legacy systems,
- develop new machine learning models and AI applications, and
- defining security and privacy protocols, reference architecture.
Unfortunately, most of the organizations are either not ready for this or doing it the wrong way.
Design Thinking
An organization needs to adapt to design thinking during the process of transformation. Design thinking is about taking enough time to understand the organization's existing state, future business trends, and identifying potential areas of AI application. Design thinking is the opposite of jumping directly to the solution without considering future use cases, integration options, talent needs, and deployment infrastructure.
Imagine a telecommunication company going through AI transformation, and there is an immediate need for an anomaly detection solution. For now, the requirement may be to detect any atypical patterns in the company's website traffic. Jumping to the solution approach would be to hire a data scientist who may have worked on anomaly detection and let him develop a method given historical data of website traffic. The problem with this approach is that it would leave the following questions unanswered before starting the method development;
- How would the solution be deployed? Does the company has a stable AI production environment? Is it on-premises or in the cloud?
- What should be the preferred development tool? Python, R, or SAS.
- Could there be any future anomaly detection use case in your organization? Video stream events, cellphone call streams, or Wi-Fi service events.
- Are there any off-the-shelf anomaly detection methods? There may be some solutions out there, and we only need to bring your data to it. You may not need to reinvent the wheel over the next few months.
These are fundamental strategic questions to be answered before solution development starts. If we don't do that now, in the future, the company might have to reinvent similar solutions for slight problems or re-code the solution for a different production environment, or it may not integrate with other data science components of a bigger system, problems (solution transferability and extension).
There is an excellent book on Software Design by John Ousterhout. Though the book's focus is software development and programming, but it equally applies to data science and machine learning solutions development in AI organizations. In the book, John has rightly talked about strategic and tactical programming. In the context of an AI organization, we can think about both terms as strategic AI thinking and tactical AI thinking.
Strategic AI Thinking
It doesn't just focus on a working solution, which may bring unnecessary complexities to get the job done quickly, but also comes with a compelling end-to-end solution design. In a nutshell, the primary goal is to come up with a practical solution that works for the organization in the long term. This thinking would require an organization to invest 15-20% extra time in planning, brainstorming, coordination, and research.
Tactical AI Thinking
Tactical thinking is short-sighted and focused on solving the problem as quickly as possible without considering long term implications as this thinking doesn't plan for the future. To get the task done, it would introduce a lot of unnecessary complexities and dependencies, which would become a roadblock for future upgrades, extensions of solution, knowledge transferability tec.