Убеждение руководства в переписывании проекта
От: peer  
Дата: 04.10.07 20:52
Оценка:
Сабж, который хотел бы поднять, думаю знаком многим.
Есть проект — давность написания которого 6 лет.
Написан криво. База тоже кривая. Сейчас он устарел и новые функциональности просто с трудом удается внести.
Казалось бы ничего проще как переписать...НО нужно убедить руководство (манагеры, которые не вникают в нюансы и понятия о программировании не имеют) это задача еще та.
Их понять тоже можно, щас работает всё, система не является коммерческой, а системой внутреннего пользования, да и на переписывание уйдет времени
не меньше 0,5 человека-года.
Собсна хотелось бы услышать как продвинуть проект? Как подкатить с этим, если была уже попытка? Когда это лучше делать?
Re: Убеждение руководства в переписывании проекта
От: Курилка Россия http://kirya.narod.ru/
Дата: 04.10.07 21:03
Оценка: 1 (1) +2
Здравствуйте, peer, Вы писали:

P>Сабж, который хотел бы поднять, думаю знаком многим.

P>Есть проект — давность написания которого 6 лет.
P>Написан криво. База тоже кривая. Сейчас он устарел и новые функциональности просто с трудом удается внести.
P>Казалось бы ничего проще как переписать...НО нужно убедить руководство (манагеры, которые не вникают в нюансы и понятия о программировании не имеют) это задача еще та.
P>Их понять тоже можно, щас работает всё, система не является коммерческой, а системой внутреннего пользования, да и на переписывание уйдет времени
P>не меньше 0,5 человека-года.
P> Собсна хотелось бы услышать как продвинуть проект? Как подкатить с этим, если была уже попытка? Когда это лучше делать?

А ты аргументированно можешь показать выгоду от такой "переписки"? Т.е. взять, посчитать прибыли от нового варианта, причём вопрос — есть вообще список бенефитов получаемых в данном случае? Плюс прикидку на саму работу по переписыванию иметь надо, чтоб получить в итоге некий "сухой остаток", в примитивной схеме "прибыли — затраты". Ну и конечно на самом деле всё должно быть сложнее, те же прибыли думаю не единовременно получаются, т.е. получаем что-то аля "периода окупаемости".
Т.е. имхо у тебя должна быть схемка типа "3 месяца на переписывание, 2 человека итого 6 окладов, прибыль от внедрения 1-2 оклада в месяц, т.е. срок окупаемости полгода, плюс в Х раз снижаются затраты на модификацию, за счёт которой прибыль ещё более повышается".
В любом случае решение должно быть аргументированно экономически — зачем именно мы это делаем и чего добъёмся в результате.
Re: Убеждение руководства в переписывании проекта
От: Vzhyk  
Дата: 04.10.07 21:03
Оценка:
peer wrote:
>
> Есть проект — давность написания которого 6 лет.
> Написан криво. База тоже кривая. Сейчас он устарел и новые
> функциональности просто с трудом удается внести.
> Их понять тоже можно, щас работает всё, система не является
> коммерческой, а системой внутреннего пользования, да и на переписывание
> уйдет времени
> не меньше 0,5 человека-года.
> Собсна хотелось бы услышать как продвинуть проект? Как подкатить с этим,
> если была уже попытка? Когда это лучше делать?
Ну во-первых, ответить себе, "тебе это лично надо? зачем?"
Второе, проект работает, выполняет свою функциональность, зачем
переписывать?
Третье, посчитай стоимость переписывания проекта с учетом риска, что
сроки ты привел сильно оптимистичные и ответить меньше ли она стоимости
поддержки того, что есть сейчас, хотя бы в течении года.

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

З.Ы. А 6 лет — это не много. Я видел код, которому уже 2000-м было 10
лет (код не то что ужастный, он жуткий), но этот код до сих пор работает
на всех заводах мира, производящих микросхемы и причем поддержка этого
кода с дописыванием всякого до сих пор идет.
Posted via RSDN NNTP Server 2.1 beta
Re: Убеждение руководства в переписывании проекта
От: ilnar Россия  
Дата: 04.10.07 21:12
Оценка: +1
Здравствуйте, peer, Вы писали:

P> Собсна хотелось бы услышать как продвинуть проект? Как подкатить с этим, если была уже попытка? Когда это лучше делать?


а какова твоя цель в в этом?
какую цель преследуешь, желая улучшить?
менеджер работает на бизнес уровне, он стремиться к получению прибыли, к получению преимущества перед другими.
если ты преследуешь те же цели, то сможешь убедить. если нет, то я не понимаю, какова твоя цель???
Re[2]: Убеждение руководства в переписывании проекта
От: ilnar Россия  
Дата: 04.10.07 21:17
Оценка:
Здравствуйте, ilnar, Вы писали:

I>Здравствуйте, peer, Вы писали:


P>> Собсна хотелось бы услышать как продвинуть проект? Как подкатить с этим, если была уже попытка? Когда это лучше делать?


I>а какова твоя цель в в этом?

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

как дополнение: нужно доказать реальность сроков, указать риски. и учти, стоимость разработки 1 человека-месяца не один оклад, а как минимум 2. оутсорс работает из расчета 3. (цифры мог спутать , но не намного)
Re: Убеждение руководства в переписывании проекта
От: Dirichlet Россия  
Дата: 04.10.07 22:41
Оценка: +2
Здравствуйте, peer, Вы писали:

P>Есть проект — давность написания которого 6 лет.

P>Написан криво. База тоже кривая. Сейчас он устарел и новые функциональности просто с трудом удается внести.
P>Казалось бы ничего проще как переписать...НО нужно убедить руководство (манагеры, которые не вникают в нюансы и понятия о программировании не имеют) это задача еще та.
P> ... на переписывание уйдет времени
P>не меньше 0,5 человека-года.

А какие (хотя бы приблизительно) объем и сложность проекта?

Был у меня такой случай. Начинали работать с одной системой, дописывали в ней некоторую функциональность. Очень не нравился дизайн, не нравилась излишняя сложность системы, в некоторых местах код был просто ужасен.
И у нас в воздухе все время носилась идея переписать все. По нашим оценкам (а у нас был довольно немаленький опыт в software development'e) требовалось Х человеко-месяцев.
Так вот, после более продолжительного знакомства с системой оказалось, что наша первоначальная оценка неверна раз в 30 (!!!) — столько было всяких вещей, которых мы на тот момент не знали.

Я участвовал в нескольких проектах переписывания существующей системы с нуля. И как-то так все время получалось, что изначально новая система была стройнее и лучше старой. Но, по мере ее внедрения нужно было затыкать всякие дыры в изначальном дизайне, опытные разработчики переходили на более сложные проекты, и код дописывался юниорами, обрастал "затычками". В конце новая система не была так уж сильно лучше старой.

В общем, мне кажется, что уже существующую систему имеет смысл переписывать, только если при этом используются новые технологии, дающие сильное преимущество перед технологиями, на которых основана старая система. Иначе как-то выгода сомнительна.
Re: Убеждение руководства в переписывании проекта
От: grosborn  
Дата: 05.10.07 03:40
Оценка:
> Собсна хотелось бы услышать как продвинуть проект? Как подкатить с этим, если была уже попытка? Когда это лучше делать?

Есть ли какие-либо перспективы развития этого продукта?
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re: Убеждение руководства в переписывании проекта
От: LelicDsp Россия  
Дата: 05.10.07 06:06
Оценка: +1 :))

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

...


Далее здесь http://www.rsdn.ru/Forum/?mid=156660
Автор: Anatolix
Дата: 18.12.02
Re: Убеждение руководства в переписывании проекта
От: Alexey Borodin alexey-borodin@narod.ru
Дата: 05.10.07 06:17
Оценка: +2
Здравствуйте, peer, Вы писали:

Скорее всего начальство право. Писать проект с нуля — это как минимум риски, что не успеете, сделаете новые баги, что-то реализуете не так.
Не лучше ли произвести рефакторинг существующего проекта. Переписать часть функциональности.
Re: Убеждение руководства в переписывании проекта
От: ettcat США  
Дата: 05.10.07 07:10
Оценка: 1 (1) +1
peer wrote:
> Сабж, который хотел бы поднять, думаю знаком многим. Есть проект — давность написания которого 6
> лет. Написан криво. База тоже кривая. Сейчас он устарел и новые функциональности просто с трудом
> удается внести. Казалось бы ничего проще как переписать...НО нужно убедить руководство (манагеры,
> которые не вникают в нюансы и понятия о программировании не имеют) это задача еще та. Их понять
> тоже можно, щас работает всё, система не является коммерческой, а системой внутреннего
> пользования, да и на переписывание уйдет времени не меньше 0,5 человека-года. Собсна хотелось бы
> услышать как продвинуть проект? Как подкатить с этим, если была уже попытка? Когда это лучше
> делать?

А точно нужно переписывать весь проект? Возможно там есть некие места, которые можно переписать
прямо сейчас, улучшив качество всего проекта? Возьмите те места, которые вызывают наибольшие
нарекания и отрефакторите. Вы перепишете 10% (потолочная циферка) при этом вся система в целом
станет "прямее". Потом можно взяться за следующий кусок. Мне кажется такой эволюцитонный подход
горяздо менее рисковый.

Если вы возьметесь переписывать систему с нуля, то вполне возможно что на внедрение ее вы
потратите не меньше времени, чем собственно на переписывание. При этом у вас будет жить две системы
(первую в это время также нужно будет поддерживать).

--
Дмитрий
Posted via RSDN NNTP Server 2.1 beta
Re: Убеждение руководства в переписывании проекта
От: minorlogic Украина  
Дата: 05.10.07 07:46
Оценка: 12 (4)
Захотелось создать тему "Как убедить неопытных програмистов, что проект не надо переписывать с нуля"

Обычно за желанием переписать проект стоит

1. Неопытность , нет квалификации разобраться с существующим кодом.
2. Уверенность что сделаешь лучше причем обычно вместе с пунктом 1.


а тепер "что делать"

1. Описать структуру проекта.
2. Убрать горизонтальные зависимоти.
3. Структурировать.
4. Выделить НЕзависимые модули.
5. В процесе работы рефакторить модули.
6. Зачем начальству знать какой рукой вы набираете код на клавиатуре ,им нужен результат.
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[2]: Убеждение руководства в переписывании проекта
От: ChMaker Россия  
Дата: 05.10.07 08:03
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>Обычно за желанием переписать проект стоит


M>1. Неопытность , нет квалификации разобраться с существующим кодом.


Дык и так все ясно было с самого начала господа
Re[3]: Убеждение руководства в переписывании проекта
От: peer  
Дата: 05.10.07 09:31
Оценка:
Здравствуйте, ChMaker, Вы писали:

CM>Здравствуйте, minorlogic, Вы писали:


M>>Обычно за желанием переписать проект стоит


M>>1. Неопытность , нет квалификации разобраться с существующим кодом.


CM>Дык и так все ясно было с самого начала господа



Не согласен. Бывают ситуации когда проект изначально не был рассчитан под те задачи, которые ему необходимо сейчас добавлять.
или само проектирование было людьми не имеющей достаточной квалификации.
Re[4]: Убеждение руководства в переписывании проекта
От: vitaly_spb Россия  
Дата: 05.10.07 09:35
Оценка:
P>Не согласен. Бывают ситуации когда проект изначально не был рассчитан под те задачи, которые ему необходимо сейчас добавлять. или само проектирование было людьми не имеющей достаточной квалификации.

Вот ровно для этого и нужен рефакторинг, что это такое — к Фаулеру. Другое дело если ты собираешься переписывать под другие технологии (с C++/vb6.0 под .net, например, или с asp под asp.net, если проект вебный).
...Ei incumbit probatio, qui dicit, non qui negat...
Re[2]: Убеждение руководства в переписывании проекта
От: frogkiller Россия  
Дата: 05.10.07 09:41
Оценка:
Здравствуйте, Vzhyk, Вы писали:

V>З.Ы. А 6 лет — это не много. Я видел код, которому уже 2000-м было 10

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

Оффтоп: а это часом не "в широко известной в узких кругах" фирме Cadence ты его видел?
Просто не далее как позавчера имел увлекательную беседу именно на эту тему со знакомым,
работающим в её московском офисе. Так он очень похожие вещи рассказывал.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Курица — это инструмент, с помощью которого одно яйцо производит другие.
Re[5]: Убеждение руководства в переписывании проекта
От: peer  
Дата: 05.10.07 09:52
Оценка:
Здравствуйте, vitaly_spb, Вы писали:

P>>Не согласен. Бывают ситуации когда проект изначально не был рассчитан под те задачи, которые ему необходимо сейчас добавлять. или само проектирование было людьми не имеющей достаточной квалификации.


_>Вот ровно для этого и нужен рефакторинг, что это такое — к Фаулеру. Другое дело если ты собираешься переписывать под другие технологии (с C++/vb6.0 под .net, например, или с asp под asp.net, если проект вебный).


так и есть
Re[3]: Убеждение руководства в переписывании проекта
От: Vzhyk  
Дата: 05.10.07 14:25
Оценка:
frogkiller пишет:
>
>
> Оффтоп: а это часом не "в широко известной в узких кругах" фирме Cadence
> ты его видел?
Нет. Это был RESIF.
> Просто не далее как позавчера имел увлекательную беседу именно на эту
> тему со знакомым,
> работающим в её московском офисе. Так он очень похожие вещи рассказывал.
А потому что это ситуация достаточно типичная.
Posted via RSDN NNTP Server 2.0
Re[4]: Убеждение руководства в переписывании проекта
От: minorlogic Украина  
Дата: 05.10.07 20:41
Оценка:
Здравствуйте, peer, Вы писали:

P>Не согласен. Бывают ситуации когда проект изначально не был рассчитан под те задачи, которые ему необходимо сейчас добавлять.

P>или само проектирование было людьми не имеющей достаточной квалификации.

Никто же не спорит что проект требует изменений , но уж точно "переписать все с нуля" это довольно наивное желание. К сожалению судя по моему немалому опыту, это плохая идея.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[2]: Как убедить неопытных не переписывать все всегда с ну
От: Геннадий Ванин Россия  
Дата: 05.10.07 21:15
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>Захотелось создать тему "Как убедить неопытных програмистов, что проект не надо переписывать с нуля"


M>Обычно за желанием переписать проект стоит


M>1. Неопытность , нет квалификации разобраться с существующим кодом.

M>2. Уверенность что сделаешь лучше причем обычно вместе с пунктом 1.

2а. "Уверенность", что сделаешь то и так, что обычно никто никогда не делает
3. Уверенность, что существуют универсальные решения
Другими словами, уверенность, что удастся создать решение и для настоящих потребностей и для будущих,
заранее неизвестных, иначе снова надо будет выбрасывать решение и создавать все с нуля
Re: Убеждение руководства в переписывании проекта
От: Дмитрий В  
Дата: 05.10.07 21:23
Оценка:
Здравствуйте, peer, Вы писали:

P>Сабж, который хотел бы поднять, думаю знаком многим.

P>Есть проект — давность написания которого 6 лет.
P>Написан криво. База тоже кривая. Сейчас он устарел и новые функциональности просто с трудом удается внести.
Увольняйся
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.