# How to create operating models for building AI products? 🍹

The best way to go about this is to customize the basics of agile software development and business management into lean operating models for development teams. Such customizations should strive to allow teams with flexibility to drive transformational changes when building AI products. It is an iterative process tailored to a specific project. It selectively puts development teams together and sets their boundaries to operate within.

“Bring the right people in and establish a digital work environment tailored to their work style and to the AI product. Do this in 3 steps; [1] going through a ‘savvy’ team recruitment [2] to put together a ‘product-driven’ team, [3] which can perform tasks under a ‘lightweight’ project model. This can bring the best out of agile & management by focusing on features satisfying your customizations.”

… keep in mind that agile teams can efficiently deliver products only if everyone pulls together & their boundaries are defined to enable teams with making sound decisions and not to restrict teams from innovation

[1] Savvy Team Recruitment 😜

The hiring of top talent & skills for product-driven teams starts with streamlining the current recruitment process. It requires letting go of any lengthy, inefficient, and overly diligent processes and making more savvy recruitments. This should also value the time of hiring managers, so they can better evaluate any missing expertise. In the end, it is about making interviews specific & fast to prevent losing field experts to the competition.

1 🏠 internal hiring -> look for domain knowledge experts and junior team members that are hungry for a change

… browse in talent pool for quants and finance / research analysts as well. Sometimes there may be other talents, but do not try to look for traditional managerial jobs (the opposite of agile culture).

2 🏙 external hiring -> look for established experts in AI, computational science, and agile software development with experience in both prototyping & productionizing disruptive solutions

🤓 do only 1 to 2 interview rounds -> do only one interview for cultural fit & another one for technical knowledge if necessary

🏋 give homework -> give an assignment to candidates if you really have to test their knowledge, but it has to represent an actual piece of work they are being hired for (so they can assess whether they like this work)

🤠 do scouting on candidates -> do your due diligence before meeting candidates to get to know their skills (their work information is usually available online, since they are the experts in their fields)

🛋 be laid-back when interviewing -> let candidates talk about their work & discuss your current challenges with them to see if they are interested and how they would approach the problem

👐 be very specific about the work you are hiring for -> openly communicate with candidates their future work and be clear if you are hiring for a skillset that is currently missing, since no field expert wants to work in a place where others can’t deliver (they will figure out if interviewers are pretending to understand the work)

🦊 be savvy when evaluating interviews -> bring the team together after the interview to objectively judge a candidate’s skills by their answers with regards to present & future team goals, which will prevent hiring inferior skillsets to ones currently available

🏎 make use of probation period -> give new hires a chance to prove their work during their probation period, and start over if a different person is needed (finding a replacement shouldn’t be difficult since this savvy recruitment is already in the place)

… there is no need to put candidates on the spot, since interviews can never simulate the actual work environment or employee’ decisions. Also, it is unlikely that any interviewer alone can objectively judge a candidate’s skills (candidates are the supposed field experts). Therefore, do not ask general questions or give tests during live interviews! This will discourage talent and expose your inability in showcasing the supposed great job you are hiring for.

[2] Product-Driven Team 🚀

A development team can follow specific components (listed below) to set focus on delivering AI products. Such products are often developed in a short time and in challenging environments so team members should be working together in an agile style. This will remove any pointless work, since work in agile gives meaning to every task. Nonetheless, it is important that all members realize an agile culture can positively contribute to their career paths and even to their work happiness. For instance, it can empower them with finding the work they like, learning new skills, or with acquiring standout experience in delivering AI products. If such team is set in place, then it is just about improving their performance by helping them find their best and giving them freedom to explore.

1 🎳 team structure -> 4 to 10 generalists with skillsets across domain knowledge, computational science, artificial intelligence, and agile software development

… the right balance in skills & number of team members depends on the project. But members need to provide cross-functional expertise so as to keep teams lean and collaborative. Teams also need members with excellent domain knowledge to enable domain-specific solutions. Else, AI products will never reach its business value at the place where they are deployed.

2 🧠 team mindset -> every team member must have certain personal qualities to deliver agile products

🏅 don’t be a title chaser -> be a hands-on contributor & help other members discover and grow their potential

🎭 don’t be a drama queen -> be a transparent & accountable member

📓 don’t push personal agendas -> have a vision for the team & goals for the product

🔬 don’t micromanage -> believe in your team by having your hands off & eyes on

🌟 don’t be satisfied with your current skillset -> stay up to date with research and industry progress & grow other skills across domains to have T-shaped skills or better

… it is not easy to identify those satisfying the above personal qualities when building the team, but it comes up later within team interactions. Team players are those who are discussing their issues transparently at team meetings and not with their preferred members (this can create unnecessary drama). Also, members who do not want to contribute are pretty easy to spot thanks to work transparency of the lightweight project model.

3 📅 team meetings -> short daily standups of 15 minutes max about the planned work, work done, roadblocks, and other issues

… high performing teams have meetings covering the above 4 points, with business stakeholders participating when possible. It helps with the work execution and brings camaraderie, thus making everyone feel free to speak up (which cannot happen when only having traditional 1-on-1s).

4 🎬 team coherence -> checkpoints evaluating the team & adjusting it if some members can’t fit in agile culture

… recognize team abusers & take actions. Agile projects are short and fun, but exhausting at the same time. Teams that succeed have selfless players who can contribute and are willing to learn. So, there is no place for anyone in the project who just wants to be along for the ride (pig & chicken).

[3] Lightweight Project Model ⛵️

The project model guides the product-driven team on how to execute their efforts in software development. It has core parts (listed below) that should always be addressed to some extent. This depends on the project, team, product, and environments in which the product is developed & launched. Also, it is crucial to make the model as lightweight as possible to have self-explanatory benefits to businesses. Once in place, it is about every team member taking the leadership in storytelling to describe their work efforts.

1 🖥 technology -> unify the view of currently used software & enrich it with the technology stack needed for a development of a specific product

2 📖 work description -> use narratives to describe any kind of work throughout the project, e.g. write a simple user story for every work task

3 👀 work accessibility-> make the work available for every team member, e.g. use software repositories to store the work (GitHub, Bitbucket, …)

4 🌱 project lifecycle -> track & showcase the work progress of product development through agile boards and a place for knowledge sharing that business can access from any device, e.g. use agile project management tools of your choice (Asana, GitLab, JIRA, Confluence, …)

5 🧬 project framework -> select & combine the features of agile methods fitting the project needs into your own project framework