Re: планирование развития программы
От: remark Россия http://www.1024cores.net/
Дата: 10.09.06 12:53
Оценка: +1
Здравствуйте, Ilias, Вы писали:

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


I>Необходимо написать программу, обладающую некоторыми возможностями А и Б.

I>У каждой возможности есть несколько шагов развития, так сказать.
I>На примере работы с файлами:
I>1. Открытие файла с заданным в коде именем, лежащем в каталоге программы в удобном для программиста формате.
I>2. Открытие файла с любым именем и любым путем к нему.
I>3. Поддержка существующих форматов файлов.
I>4. Не только открытие, но и сохранение данных в файл.
I>и т.д..

I>Хочется распланировать развитие программы заранее. Я примерно представляю какими возможностями должна обладать программа в конце разработки.

I>Вопрос в том как разнести реализацию этих возможностей по версиям. Т.е. какие возможности и на каком уровне должны быть в версии 1.0, 2.0 и т.д.?

I>Существуют ли какие-то общепринятые методики в этом вопросе? Может быть, какие-то книги?



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

Главное, что бы заказчик был адекватный и понимал, что всё и сразу он не получит. Надо что бы он понимал, что каждая фича будет ему стоить, что такое ROI и TTV.

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

Принцип такой: для каждой фичи надо оценить следующие параметры:
— полученное в результате реализации biznis-value
— "видимость" этой фичи для заказчика
— стоимость
— риск
— измеримость результата приносимого фичей
— время на реализацию

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

Рецепт такой: вначале реализуем фичи, которые приносят
— максимальную пользу для заказчика (biznis-value)
— максимальную "видимость" для заказчика
— имеют минимальную стоимость
— имеют минимальный риск
— результат фичи может быть измерен
— минимальное время на реализацию

Остальное откладывается на следующие итерации.


1024cores — all about multithreading, multicore, concurrency, parallelism, lock-free algorithms
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.