Re[20]: Чем становится прототип?
От: CreatorCray  
Дата: 31.01.08 09:09
Оценка:
Здравствуйте, iZEN, Вы писали:

ZEN>Тем не менее, я настаиваю на своей точке зрения.

Успеха тебе в этом нелёгком деле.
Каждый имеет право на заблуждение
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[2]: Чем становится прототип?
От: Ligen Украина http://zone-of-ambiguity.blogspot.com/
Дата: 02.02.08 18:15
Оценка: 1 (1) +1
Здравствуйте, Maxim S. Shatskih, Вы писали:

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


MSS>Совсем не обязательно. Это гигантский расход ресурсов.


MSS>Если есть такие вещи, в реализуемости которых действительно есть сомнения — то их можно на эдаких маленьких юнит-тестиках опробовать.


MSS>Все остальное можно сразу начисто писать.



Классическая война "остроконечников" с "тупоконечниками".

По моему опыту, создание прототипа очень помогает в случае работы с "проектами со сложностью вширь". Есть такие специальные проекты, в которых водится много страшных слов типа Business Logic, GUI, взаимодействий компонентов, клиентских требований и т.д — например, системы учета и контроля. Тут прототиапы очень сильно рулят. Собственно, as for me, самой главной целью прототипа является упорядочивание хаоса в мозгах заказчиков и разработчиков.

В случае "проектов со сложностью вглубь" идея прототипирования никуда не годится. В эту группу проектов относятся драйвера, сетевые системы, системы безопасности, DRM всякие и т.д. "Маленькие тесты" в таких проектах естественным образом получатся в результате каждого research'а по конкретной задаче.

З.Ы. Вот не знаю, как обстоит ситуация в геймдеве, не привлекался

Нефиг тут спорить
Viva el Junta Militar! Viva el Presidente!
Re: Чем становится прототип?
От: kosmik Россия http://www.linkedin.com/in/kosmik
Дата: 02.02.08 19:09
Оценка: +1
Я бы не сказал что все так однозначно. Если попытаться выразить коротко: можно не выбрасывать, но быть готовым переписать с нуля.

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

Был один пример, когда сделали работающий прототип и пустили его в production. Спустя некоторое время говорили что да, сделано криво. Но с другой стороны: решение _работает_, и в тот момент когда его запускали в production не было понимания того что скоро это просто заткнется с точки зрения масштабируемости, производительности etc. Поэтому я бы не сказал что все так однозначно.

С другой стороны, в некотором классе продуктов (в нашей области такое часто бывает), разница между прототипом и финальным вариантом не проходит так четко как при прототипировании каких-то чисто технологических решений. Например, там где критерием "работоспособности" прототипа является не техническая характеристика типа сколько сообщений обрабатывается в секунду, а то насколько удобна и полезна какая-то высокоуровневая функциональность, влияющая при этом на пол-системы, то даже часть уже выпущенного продукта может так и оставаться "прототипом", потому что acceptance test для нее — реальное использование.

Но при всем при этом я бы сказал что часто трудозатраты на переписывание немного переоценивают: прототип создавать гораздо сложнее, потому что в процессе создания пробуются куча разных подходов, что-то отвергается etc. Если же переписать это целиком с нуля — это может быть в 5-10 раз меньше. Единственная опасность — когда прототип абсолютно нерабочий — на нем не отловлена еще куча проблем, которые существуют (видно что работает он так себе). В этом случае переписывание с доведением до ума может быть и дольше чем создание самого прототипа.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.