TGViewer
.NET Разработчик .NET Разработчик @netdeveloperdiary · 6.75K subscribers
Post #2517 2.53K
День 2083. #УрокиРазработки
Уроки 50 Лет Разработки ПО

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

Начало

Характеристики ПО
Чтобы проанализировать опыт предыдущих проектов и составить более обоснованные планы, необходимо собрать некоторые характеристики. Люди могут измерять различные аспекты программных проектов на трёх уровнях: индивидуальный участник, проектная группа и организация-разработчик.

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

2. Трудозатраты
Фиксируйте трудозатраты, необходимые для создания каждого проекта или отдельной его части. Понимая возможные трудозатраты и зная объём работы, вы сможете рассчитать производительность.

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

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

В своей книге «Сколько стоит программный проект» Стив Макконнелл указывает на многочисленные проблемы, связанные с мерами измерения в каждой из этих категорий. Макконнелл подчёркивает важность чёткого определения каждой собираемой метрики, что позволяет людям записывать данные в единообразной форме. Если вы не сравниваете результаты с внешним эталоном, то согласованность внутренних измерений важнее абсолютной истины. Например, все члены команды должны одинаково оценивать свои усилия и подсчитывать дефекты. Предположим, одни члены команды добавляют время на отладку и доработку в общее время разработки, другие относят их к этапу тестирования, а третьи вообще не учитывают его. Такое смешивание не способствует обоснованному предсказанию будущего.

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

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

Источник: Карл Вигерс “Жемчужины Разработки”. СПб.: Питер, 2024. Глава 4.
  • 👍 6
More from @netdeveloperdiary
  1. Oct 6, 2026🦈 Открытое собеседование на Middle C# | 6 октября, 19:00 МСК Приглашаем на открытое собес…
  2. Oct 6, 2026День 2806. #ЗаметкиНаПолях Типы Коллекций в .NET, Которые Стоит Попробовать. Начало Больши…
  3. Oct 5, 2026День 2805. #ЧтоНовенького #NET11 Аргументы в Выражениях Коллекций в C#15 В C#15 реализован…
  4. Oct 4, 2026День 2804. #ВопросыНаСобеседовании Марк Прайс предложил свой набор из 60 вопросов (как тех…
  5. Oct 3, 2026Post #3360
  6. Oct 3, 2026День 2803. #Оффтоп Чем Заняться, Пока Работают Агенты? У VS Code Есть Ответ Сейчас большую…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →