Прошло пару лет с тех пор, как я писал об Управлении проектами и ИИ, о том, как это повлияет на практику управления проектами и другие карьеры. Когда я проводил исследования для этого поста, я был разочарован, так как ожидал, что к 2020 году любая опытная компания, занимающаяся разработкой программного обеспечения для управления проектами, будет иметь прогностическую модель в производстве, но нет, ничего.

Я помогу этим компаниям своим видением того, как должна работать прогностическая модель, и ее преимуществ. Но я не могу не задаться вопросом, почему там ничего нет? К счастью, я нашел ответ.

Что такое машинное обучение? Отличается ли он от искусственного интеллекта?

Машинное обучение считается подмножеством или специализацией в рамках искусственного интеллекта, где мы обучаем алгоритм с набором данных, и на основе этой информации модель может делать выводы или прогнозировать результаты для конкретных вопросов.

На какие вопросы мы ищем ответы?

"Насколько это возможно." был на вершине моего разума. Однако мне было бы интересно предсказать вероятность завершения проекта вовремя. Мы могли бы включить качество, бюджет, удовлетворенность клиентов, но давайте начнем с первого.

Как руководитель проекта, вы, вероятно, внимательно изучаете критический путь, чтобы определить вероятность завершения работы в срок. Этот подход, вероятно, перекликается с водопадным проектом, но не с Agile. Чтобы проект Agile был конкретным, проект Scrum, все, что было зафиксировано, должно быть доставлено к концу спринта, что упрощает это упражнение, конкретный вопрос, на который я буду искать ответ: какова вероятность или вероятность того, что пользовательская история будет завершена в течение спринта? Это достаточно просто, и это заложит основу для того, что будет дальше.

Набор обучающих данных

Чтобы модель машинного обучения работала, ей нужен обучающий набор данных; чем больше, тем лучше, так как небольшой набор данных может привести к необъективной модели. Этот набор данных будет разделен определенным образом: 80–10–10, 80% для обучения, 10% для проверки и 10% для тестирования.

Если быть точным, обучающий набор данных будет состоять из тысяч, если не миллионов, пользовательских историй и задач с баллами, ответственными, дополнительной информацией, критериями приемлемости и комментариями.

Вы получаете ответ?

После того, как модель машинного обучения будет обучена, учитывая все вовлеченные переменные, я ожидаю увидеть оценку от нуля до единицы в рамках моих пользовательских историй и задач перед началом спринта. Предполагая, что модель работает в режиме реального времени, если вы назначите Джеку пользовательскую историю, вы получите 0,8. Однако, если вы отдадите его Лиз, вы получите 0,9. Эта оценка означает, что, исходя из того, что узнала модель, Джек, с историями с аналогичными критериями и баллами, показал бы в спринте немного меньше, чем Лиз.

При более глубоком рассмотрении этого вопроса вероятность того, что пользовательская история будет завершена вовремя, будет зависеть не от характера самой задачи, а скорее от того, кто ее выполняет. производительность, а также, и здесь сюжет сгущается, если человек только что присоединился к команде, я бы не ожидал максимальной производительности с самого начала, поскольку есть период адаптации и адаптации, в этом случае модель не должна учитывать это время адаптации как часть обучающего набора данных, если это произойдет, это только загрязнит будущий анализ предвзятой информацией от неопытного человека.

Представьте себе самобалансирующуюся процедуру распределения ресурсов на основе каждой оценки.

Что удерживает модель машинного обучения от запуска в производство?

Сосредоточившись на написании этого, я осознал задержку для такой модели машинного обучения, как эта, обучающий набор данных; для построения модели потребуются десятки тысяч, если не миллионы пользовательских историй и задач из одного и того же проекта. Попробуйте вспомнить свой самый выдающийся проект, сколько пользовательских историй и задач у вас было к концу? Десять тысяч? Более? Двадцать тысяч? С точки зрения обучающего набора данных для модели ML, это небольшое число.

Еще одна задержка заключается в том, что мне понадобится модель машинного обучения во время выполнения проекта, а не в конце, когда я делаю ретроспективы или извлекаю уроки, но ни один проект не рождается с тысячами завершенных историй и задач. А как насчет зрелых корпоративных проектов? Или строительные компании, построившие десятки мостов, которые заслуживают изучения.

Эта модель не подойдет?

Обсуждая эту модель машинного обучения с коллегой-менеджером проекта, он внезапно нашел вескую причину, по которой это не сработает, представляете, почему? Сам дух Agile! Если у команды гибкий менталитет, работающий с методологией Scrum, в идеале, когда они видят, что задача по какой-либо причине отстает, они должны помочь нуждающимся и выполнить задачу. Этот простой факт: сотрудничество сделал бы любую теорию производительности недействительной, поскольку задача была бы выполнена вовремя, а кто отставал от поставленных задач на 100 баллов, в то время как команда в целом достигла спринта.

Какой облом, Agile убил машину, если бы мы не могли как-то отследить это отсутствие производительности, стали бы вы, как менеджер проекта или скрам-мастер, отслеживать это, чтобы модель машинного обучения могла предсказывать задержки или проблемы с качеством?

Выводы

Мы рассмотрели, на какие вопросы может ответить модель машинного обучения для управления проектами, ограничения набора обучающих данных для модели и то, как сами люди могут сделать модель бесполезной.

Если у вас есть все необходимые условия для того, чтобы модель машинного обучения помогала вам, будете ли вы ее обучать?

Буду думать и писать

Кристиан Мендьета

Первоначально опубликовано на https://christianmendieta.ca 31 августа 2020 г.