Какие показатели рассчитать, если написание спецификации стоит своего времени? - PullRequest
0 голосов
/ 25 марта 2009

Какие метрики использовать и как производить вычисления, если написание спецификации для нового проекта программирования стоит того, чтобы потратить время (и деньги)?

Ответы [ 4 ]

2 голосов
/ 25 марта 2009

Я думаю, что вы окажетесь в неудобном положении, если попытаетесь использовать какой-либо показатель, чтобы окончательно предсказать или контролировать результат вашего проекта. В конечном счете, спонсор / владелец вашего проекта задаст вопросы «как долго / сколько»? Лучшее, что вы можете сделать, - это прогноз , который основан на ваших текущих знаниях о проекте на данный момент времени - и это просто результат опыта и буквального предположения.

И вот в чем загвоздка: ваши оценки, скорее всего, будут на несколько порядков ниже. Они становятся более точными, поскольку ваша команда понимает проблемную область, и они оценивают не более чем на 2-4 недели вперед, макс. Барри Бем (и Стив Макконнелл) проиллюстрировали этот эффект принципом «конуса неопределенности»:

alt text

Чем дальше вы от внедрения системы или функции (слева), тем выше неточность ваших оценок (-0,25х - 4х). По мере приближения и более глубокого понимания проблемной области оценки начинают приобретать большую точность (0,8x - 1,0x). Вот почему в программных проектах, где много «шума» или «сложности» (то есть почти в каждом проекте), мы хотим оставить конкретную оценку до последнего ответственного момента - не более 2-4 недель.

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

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

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

0 голосов
/ 25 марта 2009

В общем, вы всегда должны выписывать спецификации. Вы должны быть убеждены, не к.

  • Если в проекте участвует более одного человека, вам определенно потребуются технические характеристики.
  • Если проект для одного человека займет больше недели, вам, вероятно, понадобятся спецификации.
  • Если между вами и вашим клиентом когда-либо возникали путаницы или проблемы со связью, то подписанные спецификации просто необходимы.
0 голосов
/ 25 марта 2009

Сосредоточьтесь на сути и на том, что самое важное для вашего клиента. Общие бизнес-цели и видения. Мне нравится «тест лифта» - чтобы объяснить, что делает ваш продукт менее чем за две минуты:

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

(из книги Джеффри Мура «Пересекая пропасть»)

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

0 голосов
/ 25 марта 2009

В целом небольшой, прямой, некритический проект: без спецификаций. Большой, сложный, критический проект: определенно спецификации.

Возможно, здесь не может быть каких-либо метрик. Вы должны полагаться на свое мнение о разработке программного обеспечения.

...