How to Get Started
The journey to adopt AI promises to bring major changes to the way your organization thinks and approaches its future. This journey will involve the adoption of new methods and process improvements that will aid you in spotting the novel ways AI can be deployed to save costs and make available new opportunities.
As with any endeavor worth starting, we must make plans for how we intend to accomplish our goal. In this case, the goal is to adopt AI technologies to better our organization. The plan for achieving this goal can vary from organization to organization, but the main steps invariably remain the same (see Figure 1.2).
1. Ideation
The first step in any technology adoption journey must start with ideation and identifying your motivation. In this chapter, we will delve into answering questions such as “What problem are you trying to solve?,” “How does your organization operate today?,” and “How do you believe your organization will be able to benefit from AI technology?” Answering questions like these will kick-start your AI journey by establishing a clear set of goals. To properly answer these questions, you will also need a general understanding of the technology, which we will cover in the following section.
FIGURE 1.2 The AI Adoption Roadmap
2. Defining the Project
Once you have determined that the use of AI technologies can help improve your organization or solve a business problem, you must then get specific about what you hope to achieve. During the second step, you will outline specifically which improvements you plan to attain, or which problems you are trying to solve. This will take the form of a project plan. This plan will act as a guiding document for the implementation of your project. Using the methodical techniques of design thinking, the Delphi method, and systems planning makes a plan much easier to develop. These techniques will ensure that you have a sound and realistic project plan.
User stories will also be a large part of the project plan. User stories are an excellent way to break down a project into functional pieces of value. They define a user, the functionality that the system will provide for the user, and the value that the function will provide to the organization. Well-defined user stories also quantify their results to empirically know when success has been achieved. These success criteria make it much easier to see when we have accomplished our user story's goal and communicate a clear course of action for everyone involved. Specificity is the key.
3. Data Curation and Governance
Data is paramount to every AI system. A system can only be as good as the data that is used to build it. Therefore, it is important to take stock of all the possible data sources at your disposal. This is true whether it is data being collected and stored internally or data that you externally license.
After you have identified your data, it is time to leverage technology to further improve the data's quality and prepare it to train an AI system. Crowdsourcing can be a valuable tool to enhance existing data, and data platforms such as Apache Hadoop can help consolidate data from multiple sources. Data scientists will be key in orchestrating this process and ensuring success. The quality of your data will determine the success of your project in a huge way. It is therefore essential to choose the best available data on hand. The old saying about “garbage in, garbage out” applies to AI as well.
4. Prototyping
With your project plan and data defined, it is time to start building an initial version your system. As with any project, it is best to take an iterative approach. In the prototype step, you will select a subset of your use cases to validate the idea. In this way, you are able to see if the expected value is materializing before you are completely invested. This step also enables you to adjust your approach early if you see any problems arise. Developing a prototype will help you to see, with actual results, whether the ideas and plans you defined in the previous steps have promise. In the event that they do not, you should be able to recover quickly and adjust them using the knowledge gained from prototyping, without the wasted investment of building a full system.
During the prototyping phase, it is necessary to have realistic expectations. With most AI systems, they improve with more data and parameter tweaking, so you should expect to see increasing improvements over time. Luckily, metrics like precision and recall can be empirically measured and used to track this improvement. We will also cover the cases when more data is not the answer and what other techniques can be pursued to continue improving the system.
5. Production
With a successful prototype under your belt, you have been able to see the value of the technology in action. Now it is time to further invest and complete your system. At this point, it is also a good idea to revisit your user stories and plan as a whole to determine if any priorities have changed. You can then proceed with building the production system.
The production step is the process of converting the prototype into a full-fledged system. This includes conducting a technological evaluation, building user security models, and establishing testing frameworks.
Technological EvaluationDuring the prototype phase, developers select technologies appropriate for a prototype, including using technologies and languages that are easy to work with. This mitigates risk by determining the project's feasibility quickly before investing a lot of time and money. That said, during the production step the technology must be evaluated for other factors as well. For instance, will the technology scale to a large number of users or massive amounts of data? Will the technology be supported in the long term and be flexible enough to change as requirements do? If not, pieces of the prototype might have to be rebuilt to accommodate.User/Security Model
During the prototype phase, the project is typically only running on locked-down development machines or internal servers. While they require some security, high levels of security are not typically needed during prototyping and will only slow down the prototyping process. Work, such as integrating an organization's user directory (single sign-on [SSO]) and permission structures, will be part of the production process.Testing Frameworks
To ensure code quality, testing frameworks should be built alongside the production code. Testing ensures that the code base does not regress as new code is added. Development teams may even adopt a “test first” approach called test-driven development (TDD) to ensure that all pieces of code have tests written before starting their implementation. If TDD is used, developers repeat very short development cycles, writing only enough code for the tests to pass. In this way, tests reflect the desired functionality and code is written to implement that functionality.
Thriving with an AI Lifecycle
Once you have adopted AI and your organization is realizing its benefits, it is time to switch into the lifecycle mode. At this point, you will be maintaining your AI systems while consistently looking for ways to improve. This might mean leveraging system usage data to improve your machine learning models or keeping an eye on the latest technology announcements. Perhaps the AI models you have implemented can also be used in another part of your organization. Furthermore, it is important that the knowledge gained during the implementation of your first AI system be saved for future projects. As we will discuss in this book, this can take