Русский
Русский
English
Статистика
Реклама

Оценка времени

Почему оценки у всех подрядчиков разные? Ведь задача понятна и ясна

01.10.2020 18:11:51 | Автор: admin


Вполне стандартная ситуация: в поисках подрядчика для разработки ИТ-решения заказчик направляет запросы нескольким компаниям. Его цель принятие решения о сотрудничестве с подрядчиком путём сбора и анализа предложений. Процесс выбора затрудняется тем, что состав работ, предлагаемые технологии и цены значительно отличаются друг от друга. Возникает проблема, которая часто не осознаётся: эти предложения не только неравнозначны, но и оценивают разные решения.

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

В тексте используются взаимозаменяемые термины ИТ-решение и объект разработки. Они обозначают любое программное обеспечение (мобильные, веб-, десктоп-приложения, сайты и т.д.), которое создано в процессе разработки для достижения определенных бизнес-целей заказчика. Встречается термин объект исследования стадия создания объекта разработки до момента воплощения решения.

Ситуация и проблема


Типичный процесс выбора подрядчика выглядит следующим образом.

1. Техническое Задание



Частью процесса закупки является документ с описанием решения техническое задание (ТЗ). Менеджер заказчика лицо, заинтересованное в услугах разработки (далее субъект), рассылает ТЗ нескольким организациям. Субъекты в этих организациях получают ТЗ и оценивают работы на основе указанных требований. (Как у заказчика появляется ТЗ см. в пункте Техническое задание в студию! на примере близкой к идеалу ситуации)
Схематично эти взаимоотношения выглядят следующим образом.



2. Ответ от организаций и анализ предложений



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



3. Список прошедших отбор организаций



На основе анализа предложений список потенциальных подрядчиков сокращается. Окончательный выбор производится после общения с каждым из них и обсуждения представленных документов.



4. Контракт



Подписание договора на оказание услуг с выбранным подрядчиком.


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

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

Техническое задание в студию!


Техническое задание (ТЗ, техзадание) документ, содержащий требования заказчика к объекту закупки. ТЗ определяет условия и порядок проведения закупки, в соответствии с ним осуществляются поставка товара, выполнение работ, оказание услуг и их приемка.

Я попробую дополнить определение.

Техническое задание это набор артефактов, через которые передаются формализованные знания об объекте закупки в данном контексте знания о создаваемом ИТ-решении.

Для того чтобы проанализировать шаги 1-3 давайте теперь коротко построим близкую к идеальной ситуацию шага 1. На данный момент на рынке существует множество стандартов ГОСТ по написанию технических заданий для разработки информационных систем. Я не буду их расписывать, они все достаточно проработаны и имеют свои плюсы и минусы.

Допустим, клиент, для определения оптимального решения, посмотрел на объект исследования с разных сторон. Исследуя разные проекции, можно найти оптимальное решение. Односторонняя проекция не покажет полную картину. Так же как на иллюстрации ниже, цилиндр в одной проекции это квадрат, а в другой круг. Для разных людей решение одной и той же задачи будет разным.



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


Схема 1 Проекции рассмотрения объекта исходя из 2-го понятия системы по Дубровскому.

Останавливаться на этом подходе я не буду, но могу поделиться в комментариях опытом применения на практике, если будут запросы.

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

Как мы передаем знания о решении?


Научение приобретение знаний, умений, навыков происходит в несколько этапов: производство, накопление, распространение, использование.



Схема 2 Этапы научения

Рассмотрим эту схему применительно к процессу взаимодействия с подрядчиками.

  1. Производство неявного знания. Производство это сбор информации из разных источников: рекомендации консультантов, исследование конкурентов, собственный опыт разработки ИТ-решений, информация об организации объектов вокруг исследуемой проблемы и многое другое. Неявное знание не формализовано, т.е. не выражено в каком-либо виде. Простыми словами неявное знание находится в памяти субъекта, менеджера компании, заинтересованной в разработке.
  2. Накопление. Менеджер пытается формализовать неявное знание в виде технического задания. При этом, в ТЗ всегда ВСЕГДА! излагается не весь объём неявных знаний, а лишь та часть, которая, по субъективному мнению автора, необходима и достаточна для понимания проблематики. Любой человек, обладающий той же полнотой неявного знания об объекте исследования, прочитав это ТЗ, поймёт и проблематику, и замысел, и пути решения проблемы плюс-минус так же, как это понимает сам автор. Беда в том, что даже коллега автора из соседнего отдела того же предприятия обладает несколько иным объёмом неявного знания. Что уж говорить о представителях внешних компаний.
  3. Распространение. Субъект отправляет компаниям А, Б и В часть формализованного знания. Представители компаний А, Б и В смотрят на документ и воспринимают его с учётом своей позиции в ситуации (маржинальности, требования организационной структуры, психологического восприятия и т.д.). После чего предлагают предложения по его реализации. В итоге, субъект, желая получить оценку и способ реализации одного объекта разработки, по факту получает оценки реализации N разных объектов разработки (а не разные оценки одного и того же объекта разработки).


    Схема 3 Иллюстрация восприятия объекта разработки подрядчиками.
  4. Использование. После того, как решение принято, исполнитель и заказчик корректируют ТЗ, дополняя и уточняя его в процессе обсуждения и выявления неявного знания, существующего у Заказчика.


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


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

На мой взгляд, ИТ-решение должно быть рассмотрено минимум с 4-5 позиций, чтобы получить наиболее полную картину.

Чек-лист 1 Список проекций


  1. Описание ситуации вокруг объекта в рамках деятельности на момент исследования: как люди работают, какие виды деятельности выполняют, какие сложности возникают и т.д..
  2. Функциональные проекция относительно основных ролей в решении.
  3. Нефункциональная проекция с моделью технических характеристик влияющих на решение.
  4. Бизнес проекция относительно основных стейкхолдеров, где Цель формулируется через Способ и Результат.
  5. Визуальная проекция прототипа решения (при условии, что у вас уже прошёл этап исследования на прототипе).


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

Виды ситуаций, в которых менеджер может находиться перед привлечением подрядчиков:

  1. У вас есть желание сделать что-то полезное, но нет понимания, что именно.
  2. Вы знаете о существовании проблемы, но у вас нет решения и вы пытаетесь выявить рассогласования. Т.е. вы проанализировали ситуацию вокруг объекта исследования, увидели элементы рассогласованности, но пока не поняли, какое именно решение и с помощью каких технологий устранит рассогласованность. Так же вы не понимаете, стоит ли вообще предпринимать действия по устранению этой проблемы.
  3. Вы проанализировали ситуацию, нашли рассогласованность и поняли способ её устранения и результат, который получите. Т.е. самоопределились и поставили Цель, но пока у вас нет чёткого структурированного решения. Более того, вы столкнулись с проблемой нехватки ресурсов: компетенции, человеческие ресурсы, технологические, материальные и т.д..
  4. У вас есть видение конечного решения, которое формулируется через Цели (Цель = Способ + Результат), и разработан 1-й шаг действий, структурированный относительно конечных эффектов от результатов всех Целей и проработанный относительно Чек-листа 1.
  5. У вас есть решение, которое рассмотрено и определено целиком относительно минимум 4-5 позиций, указанных в чек-листе 1.
  6. Вам кажется, что вы находитесь в какой-то иной ситуации. Если это не ситуация реализации готового решения и анализа результатов, то скорее всего вы просто не поняли пункты 1-5 и вашу ситуацию всё равно можно сопоставить с этими пунктами.


Ваша задача прийти к пункту 4 или пункту 5. При этом на каждом этапе вы обязательно должны производить знания и накапливать их. У вас должны появляться как формализованные, так и не формализованные продукты вашей деятельности: схемы, описания, личный навык и опыт того, как это работает, описания через позиции чек-листа 1. И когда вы подойдете к пункту 4, то ваша задача распространить знания передать вашим подрядчикам и партнерам.

Этап распространения чаще всего содержит в себе следующие процедуры: анализ, обсуждение и усвоение.

Если вы просто выслали ТЗ подрядчикам с целью посмотреть на цены и проанализировать составы работ, то это равносильно попытке сесть на стул, не поставив его себе под попу. Кому-то возможно повезёт и он сядет, но для кого-то будут неприятные последствия =)

Итак, задайте себе вопрос: как при передаче знаний подрядчику относительно своей ситуации вы:
  • анализируете формализованные и неформализованные знания об объекте передачи
  • обсуждаете совместно с подрядчиком формализованные и неформализованные знания об объекте передачи
  • усваиваете данные знания.


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

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

Перевод Оценка трудозатрат в разработке ПО для начинающих

02.12.2020 06:07:25 | Автор: admin

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

Помню, как меня впервые попросили дать оценку

Тогда это застало врасплох.

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

Аналитики зачитали некоторые требования от клиента. Мы их коротко обсудили.

И тут мой начальник повернулся ко мне и спросил: Сколько времени это займет?

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

И вдруг на меня все смотрят и ждут ответа, а я растерялся и не знаю, что сказать.

Передо мной лежала бумага для заметок. Я взял один листок и начал писать какие-то числа без понятия, для чего, но точно не для этой оценки.

Где-то через минуту, которая показалась мне часом, я решил просто сказать первое, что пришло в голову: Не знаю часов 600?

Начальник рассмеялся, а затем сказал остальным рассчитывать на примерно 1200часов.

Не очень люблю вспоминать тот день.

Понятно, что мне еще многое предстояло узнать, но меня мучил один вопрос: как оценивать объем предстоящей работы?

Цель проведения оценки

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

Оценка объема работы используется в основном в двух целях:

  • Планирование.

  • Выставление счета клиенту.

Планирование

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

Они знают, какой объем работы какая группа разработчиков может на себя взять в месяц, квартал и год. И чтобы обеспечить занятость сотрудников, руководству нужно составить график работы над проектами. Данная вами оценка и поможет в таком планировании загрузки.

Допустим, в вашей команде разработчиков три человека. Каждый работает по 40часов в неделю это примерно 160часов в месяц, или 480часов в квартал (на троих примерно 1500часов).

Представьте, что ваша команда должна выполнить пять проектов с оценками объемов работ 800, 400, 300, 200 и 50часов. Планируя загрузку, вы будете видеть, что не сможете к концу квартала выполнить все проекты. Менеджеры составят график, использующий определенный процент максимальной загрузки на случай, если разработка займет больше времени, чем предполагалось.

С оценками из нашего примера можно было бы взяться за проекты на 800, 400 и 50часов, и при этом осталась бы некоторая свобода для маневра.

Выставление счета клиенту

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

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

Примечание. Это применимо не ко всем компаниям разработчикам ПО: не все занимаются разработкой на заказ. Если вы не разрабатываете ПО на заказ, то оценки объема работ будут использоваться в основном для планирования.

Ключевые факторы при оценке

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

Фото AbsolutVision, площадка UnsplashФото AbsolutVision, площадка Unsplash

1. Не оценивайте, сколько времени понадобится ВАМ

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

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

Часто полезным будет предположить, что работу будет выполнять самый неопытный в команде.

2. Не занижайте завышайте

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

Если разработчики выйдут за отведенный вами срок, это нарушит график работ.

Находиться в границах 20% это нормально, но только если оценка оказалась завышена а не занижена.

К какой бы цифре вы ни пришли, добавьте к ней 20%: задачи обычно оказываются сложнее в реализации, чем кажется.

3. Повышение квалификации

Потребуется ли команде для выполнения проекта изучать что-то новое? Например, если вы обычно разрабатываете приложения для толстых клиентов, а новый проект это создание веб-страницы.

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

Фото Matheus Frade, площадка UnsplashФото Matheus Frade, площадка Unsplash

4. Примеры аналогичных проектов

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

Если у команды имеется некий опорный материал в виде ранее разработанного ПО, то объем работы может значительно снизиться. Разработчикам проще действовать по принципу копировать, вставить, заменить, и это отражается на скорости выполнения задач.

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

5. Не забывайте об аналитиках

Часто вас будут просить дать полную оценку, а она включает в себя время разработчиков, бизнес-аналитиков и специалистов по обеспечению качества.

В этом случае дать оценку только по разработчиками будет мало нужно учесть, что бизнес-аналитикам придется писать документацию, делать пользовательские истории и руководить обзорами спринтов.

Также потребуется учесть время, необходимое отделу контроля качества для тестирования. Возможно, у вас есть какая-то система автоматизации, которую нужно настроить и для этого проекта тоже? На всё это нужно время, которое также включается в оценку.

Заключение

Чтобы научиться давать оценку объему работу, нужно время. Этот навык, как и любой другой, требует практики.

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

Если резюмировать самое главное, запомните вот что:

задача всегда сложнее, чем кажется, и лучше переоценить объем работ, чем недооценить.

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

Так что не стесняйтесь выделять побольше времени и помните, что оценка это всего лишь оценка.


О переводчике

Перевод статьи выполнен в Alconost.

Alconost занимается локализацией игр, приложений и сайтов на 70 языков. Переводчики-носители языка, лингвистическое тестирование, облачная платформа с API, непрерывная локализация, менеджеры проектов 24/7, любые форматы строковых ресурсов.

Мы также делаем рекламные и обучающие видеоролики для сайтов, продающие, имиджевые, рекламные, обучающие, тизеры, эксплейнеры, трейлеры для Google Play и App Store.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru