Прошу оценить работу
От: BuildAll Россия  
Дата: 08.04.11 07:54
Оценка:
Для небедной организации (Россия) необходимо сделать следующую программу.

Имеется лаборатория, в которой около 40-ка разных контрольно-измерительных приборов, которые могут передавать результаты измерений в компьютер. Метод передачи — последовательные порты (преимущественно) или через промежуточную СУБД. В варианте с СУБД используется поставляемое с прибором ПО.

Необходимо "забрать" результаты, привести к требуемой форме и отправить в центральную СУБД. Основные задачи, которые придётся решать — разбор протоколов передачи (документация есть) и структур таблиц БД, ну и создание унифицированного интерфейса. Программа должна уметь настроиться и работать с любым из 40-ка приборов или с несколькими одновременно. Ну и по мелочи — авторизация пользователя, администрирование, настройка автономной работы при сбое связи с центральной БД.

Срок выполнения — 4 месяца.

Скажите, сколько такая работа будет стоить?
Re: Прошу оценить работу
От: BuildAll Россия  
Дата: 08.04.11 08:05
Оценка:
Здравствуйте, BuildAll, Вы писали:

BA>Для небедной организации (Россия) необходимо сделать следующую программу.


BA>Имеется лаборатория, в которой около 40-ка разных контрольно-измерительных приборов, которые могут передавать результаты измерений в компьютер. Метод передачи — последовательные порты (преимущественно) или через промежуточную СУБД. В варианте с СУБД используется поставляемое с прибором ПО.


BA>Необходимо "забрать" результаты, привести к требуемой форме и отправить в центральную СУБД. Основные задачи, которые придётся решать — разбор протоколов передачи (документация есть) и структур таблиц БД, ну и создание унифицированного интерфейса. Программа должна уметь настроиться и работать с любым из 40-ка приборов или с несколькими одновременно. Ну и по мелочи — авторизация пользователя, администрирование, настройка автономной работы при сбое связи с центральной БД.


BA>Срок выполнения — 4 месяца.


BA>Скажите, сколько такая работа будет стоить?


Забыл уточнить — все приборы разные, соответственно и протоколы разные. Ну ты понел...
Re[2]: Прошу оценить работу
От: amg  
Дата: 08.04.11 08:20
Оценка:
>>BuildAll
приборы не газоизмерительные случайно?
по теме: 4*(40->70)т.р + X
Re: Прошу оценить работу
От: hrensgory Россия  
Дата: 08.04.11 09:48
Оценка: 4 (2) +2 -1
On 08.04.2011 11:54, BuildAll wrote:
> Для небедной организации (Россия) необходимо сделать следующую программу.
>
> Скажите, сколько такая работа будет стоить?

Грубо — от 1 до 2 млн. руб. (имеется в виду цена за готовое ПО, что
включает в себя уточнение требований, разработку, тестирование и
приёмку, а не только оплату труда программиста, не включая откаты).
Более точно сказать, не понимая что это за протоколы и "промежуточное
ПО", а также что значит "настройка автономной работы при сбое связи с
центральной БД" сказать нельзя.

Возможно после уточнения требований цена вырастет ... раз в десять
но сильно уменьшиться не должна.

--
WBR,
Serge.
Posted via RSDN NNTP Server 2.1 beta
Re: Прошу оценить работу
От: UA Украина  
Дата: 08.04.11 10:28
Оценка: :)
Здравствуйте, BuildAll, Вы писали:

BA>Скажите, сколько такая работа будет стоить?


Допустим 1 человек сумеет качественно разрулить 1 прибор в месяц = так как есть 4 месяца в запасе = имеем 10 человек только на одни приборы. + 3 человека на унификацию интерфейса (один из них архитект (строит архитектуру и общается с заказчиком) и 2 лида которые будут педалить код унификации и паралельно смотреть за людьми которые педалят приборы и фиксить проблемы взаимодействия) + 3 тестера + 1 человек на деплоймент. Итого: 17 человек * 100 тыс. рублей * 4 месяца = 6.8 млн. рублей + риски + надо что заработать = порядка 15 миллионов.
P.S. Никакой ответственности эта оценка не несет.
Re[2]: Прошу оценить работу
От: catBasilio  
Дата: 08.04.11 10:29
Оценка:
Здравствуйте, hrensgory, Вы писали:

H>Грубо — от 1 до 2 млн. руб. (имеется в виду цена за готовое ПО, что

H>включает в себя уточнение требований, разработку, тестирование и
H>приёмку, а не только оплату труда программиста, не включая откаты).
H>Более точно сказать, не понимая что это за протоколы и "промежуточное
H>ПО", а также что значит "настройка автономной работы при сбое связи с
H>центральной БД" сказать нельзя.

H>Возможно после уточнения требований цена вырастет ... раз в десять

H>но сильно уменьшиться не должна.

Имхо полный цикл со здачей и ТЗ за 4 человекомесяца выполнить нереально.
даже если он будет на подключение и импотр данных тратить по 2 дня, то это почти 3 месяца работы!
Так что тут идет речь про тяп-ляп склепать поделку побыстрому.
UNIX way — это когда тебе вместо туалетной бумаги дают топор, рубанок и карту близлежащего леса
Re[3]: Прошу оценить работу
От: catBasilio  
Дата: 08.04.11 10:32
Оценка:
Здравствуйте, catBasilio, Вы писали:

B>Имхо полный цикл со здачей и ТЗ за 4 человекомесяца выполнить нереально.

B>даже если он будет на подключение и импорт данных тратить по 2 дня, то это почти 3 месяца работы!
B>Так что тут идет речь про тяп-ляп склепать поделку побыстрому.

Сорри, обсчитался. 4 месяца, если в выходные отдыхать.
UNIX way — это когда тебе вместо туалетной бумаги дают топор, рубанок и карту близлежащего леса
Re[2]: Прошу оценить работу
От: BuildAll Россия  
Дата: 08.04.11 10:40
Оценка:
Здравствуйте, hrensgory, Вы писали:

H>On 08.04.2011 11:54, BuildAll wrote:

>> Для небедной организации (Россия) необходимо сделать следующую программу.
>>
>> Скажите, сколько такая работа будет стоить?

H>Грубо — от 1 до 2 млн. руб. (имеется в виду цена за готовое ПО, что

H>включает в себя уточнение требований, разработку, тестирование и
H>приёмку, а не только оплату труда программиста, не включая откаты).
H>Более точно сказать, не понимая что это за протоколы и "промежуточное
H>ПО", а также что значит "настройка автономной работы при сбое связи с
H>центральной БД" сказать нельзя.

H>Возможно после уточнения требований цена вырастет ... раз в десять

H>но сильно уменьшиться не должна.

молодец. Тему можно закрыть.
H>--
H>WBR,
H>Serge.
Re: Прошу оценить работу
От: Dym On Россия  
Дата: 08.04.11 10:55
Оценка:
Время: 40х4х4=640 часов
Рейт: $20-100/час
Сумма = [Кол-во часов] * [Рейт] * [Кол-во работников]

У каждого работника может быть свой рейт.
Ну как-то так.
Счастье — это Glück!
Re[2]: Прошу оценить работу
От: Dym On Россия  
Дата: 08.04.11 11:00
Оценка:
Более точно:
Сумма = SUM( Часы[индекс работника] * Рейт[индекс работника] )
Счастье — это Glück!
Re: Прошу оценить работу
От: denisko http://sdeniskos.blogspot.com/
Дата: 08.04.11 11:06
Оценка: 1 (1)
Здравствуйте, BuildAll, Вы писали:

BA>Для небедной организации (Россия) необходимо сделать следующую программу.


BA>Имеется лаборатория, в которой около 40-ка разных контрольно-измерительных приборов, которые могут передавать результаты измерений в компьютер. Метод передачи — последовательные порты (преимущественно) или через промежуточную СУБД. В варианте с СУБД используется поставляемое с прибором ПО.

Run away dude. Run fast. Run far. (C)
<Подпись удалена модератором>
Re: Прошу оценить работу
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 08.04.11 14:23
Оценка: +1
Здравствуйте, BuildAll, Вы писали:

BA>Скажите, сколько такая работа будет стоить?


40 приборов, пара недель минимум на каждый прибор = 80 расчётных недель. БД, UI — ещё месяц, как минимум (расчётно, часть работ будет распределена). Итого — 84 недели. Берём ставку приличного специалиста ($750/неделя), умножаем. В общем, $80К — это цифра, ниже которой опускаться в оценках нельзя вообще никак (грубо — 2 млн. руб). Лучше закладывать цифру примерно в полтора раза большую — $120К. Дальше добавляем налоги (ещё, грубо, половина суммы) — выходим на порядок чисел $180K-$200K. Приплюсуй сюда тестовые экземпляры оборудования. Заметь, речь идёт о нижних порогах, если хочется наварить сверх предельно необходимого, ну, тут уж — как договоришься. В принципе, оценка может дойти и до полумиллиона вечнозелёных.

Да, 4 месяца — это не реализуемо в принципе, если нет команды, подготовленной в предметной области. Здесь минимум год работы на двоих-троих с учётом пусконаладки и прочих развлечений.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[2]: Прошу оценить работу
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 08.04.11 14:33
Оценка:
Здравствуйте, UA, Вы писали:

UA>порядка 15 миллионов.


Забавно, я вышел примерно на ту же оценку
Автор: Геннадий Васильев
Дата: 08.04.11
, только другим путём.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[2]: Прошу оценить работу
От: carpenter Голландия  
Дата: 08.04.11 14:37
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

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


BA>>Скажите, сколько такая работа будет стоить?


ГВ>40 приборов, пара недель минимум на каждый прибор = 80 расчётных недель. БД, UI — ещё месяц, как минимум (расчётно, часть работ будет распределена).


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

если выгорит — то я возможно и поучавствовал бы — нравилась мне эта тема , так что если что — пишите в личку .
Весь мир — Кремль, а люди в нем — агенты
Re[3]: Прошу оценить работу
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 08.04.11 14:39
Оценка:
Здравствуйте, carpenter, Вы писали:

C>если выгорит — то я возможно и поучавствовал бы — нравилась мне эта тема , так что если что — пишите в личку .


Дружище, я тут вообще не при чём — так, рядом постоял. Это ты к топикстартеру обращайся.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re: Прошу оценить работу
От: andrey82  
Дата: 09.04.11 13:16
Оценка:
Здравствуйте, BuildAll, Вы писали:

BA>Имеется лаборатория, в которой около 40-ка разных контрольно-измерительных приборов, которые могут передавать результаты измерений в компьютер. Метод передачи — последовательные порты (преимущественно) или через промежуточную СУБД. В варианте с СУБД используется поставляемое с прибором ПО.


Ага... измерения
Поинтересуйтесь еще, не понадобится ли еще проводить в дальнейшем (или даже в рамках проекта) сертификацию созданного ПО, скажем по ГОСТ Р 8.654-2009. Выполнение требований, изложенных в этом стандарте может сильно повлиять на архитектуру/основные решения/трудозатраты.
Re: Прошу оценить работу
От: nvb Россия  
Дата: 09.04.11 20:47
Оценка: 1 (1)
Здравствуйте, BuildAll, Вы писали:

BA>Для небедной организации (Россия) необходимо сделать следующую программу.


BA>Имеется лаборатория, в которой около 40-ка разных контрольно-измерительных приборов, которые могут передавать результаты измерений в компьютер. Метод передачи — последовательные порты (преимущественно) или через промежуточную СУБД. В варианте с СУБД используется поставляемое с прибором ПО.


BA>Необходимо "забрать" результаты, привести к требуемой форме и отправить в центральную СУБД. Основные задачи, которые придётся решать — разбор протоколов передачи (документация есть) и структур таблиц БД, ну и создание унифицированного интерфейса. Программа должна уметь настроиться и работать с любым из 40-ка приборов или с несколькими одновременно. Ну и по мелочи — авторизация пользователя, администрирование, настройка автономной работы при сбое связи с центральной БД.


BA>Срок выполнения — 4 месяца.


BA>Скажите, сколько такая работа будет стоить?


Не имея представления об объеме работ, придется считать по-максимуму, на который заказчик может не согласиться. А занижать оценку — значит, принимать на себя риски, которые могут сработать. Не только связанные со сложностью, но, например, с отсутствием описаний протокола — придется ковырять исходники (если еще найдутся), изменением требований к UI в самом конце, и т.п.

Я бы попробовал набегающую волну — выбираешь 5 или 10 приборов, под которые ясно, что и как писать. Оговариваешь сроки и деньги, при этом гарантируя результат. Если уйдешь в минус — будет не так обидно.
По итогам корректируешь общие сроки и деньги, при том что заказчик у тебя уже на крючке, и с ним будет разговаривать гораздо проще. Со стороны заказчика также проще расстаться с небольшой частью денег на пробу, чем со всеми сразу.

По поводу "унифицированного интерфейса" — надеюсь, речь идет о UI, а не о некоей программной шине. Не могу поверить, чтобы человек, который собирается писать систему отображения результатов измерений, не слышал про LabWindows CVI. Чем она-то не подошла? Стандарная IDE типа Eclipse или MSVS, только вдобавок к окошкам-кнопочкам там уже есть параметризуемые изображения стрелочных приборов, осциллографов, индикаторов уровня и т.д. Я уж не говорю про богатейшую библиотеку API под интерфейсы ввода-вывода с кучей примеров.

По крайней мере, можно будет во-первых, быстро вытащить требования заказчика к UI, что сведет к минимуму переделки, а во-вторых, ссылаться на LabWindows как на стандарт отображения измерений на РС, каковым он по сути и является.
Re: Прошу оценить работу
От: Alexey Neorov Россия  
Дата: 10.04.11 10:17
Оценка:
Вообще, автор 1-го поста написал, что можно брать данные через промежуточную СУБД в крайнем случае.

Мне только так кажется, что в этом особо никаких проблем нет и на $120к это не тянет?
Re[2]: Прошу оценить работу
От: LuciferSaratov Россия  
Дата: 10.04.11 11:43
Оценка:
Здравствуйте, Alexey Neorov, Вы писали:

AN>Вообще, автор 1-го поста написал, что можно брать данные через промежуточную СУБД в крайнем случае.


AN>Мне только так кажется, что в этом особо никаких проблем нет и на $120к это не тянет?


Я так понял, что часть приборов доступны через последовательные порты, часть — через СУБД.
Re: Прошу оценить работу
От: landerhigh Пират  
Дата: 10.04.11 14:14
Оценка:
Здравствуйте, BuildAll, Вы писали:

BA>Имеется лаборатория, в которой около 40-ка разных контрольно-измерительных приборов, которые могут передавать результаты измерений в компьютер. Метод передачи — последовательные порты (преимущественно) или через промежуточную СУБД. В варианте с СУБД используется поставляемое с прибором ПО.


BA>Срок выполнения — 4 месяца.


BA>Скажите, сколько такая работа будет стоить?


Имея такую вводную, могу сказать, что нисколько. Ибо за 4 месяца это провернуть принципиально невозможно. Вариант, когда 4 месяца педалим код, а потом два года заставляем его работать, не рассматриваем.

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

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

Потом, не забывайте, что весь этот фестиваль еще и тестировать придется. Запросто может оказаться, что понадобится в два раза больше тестеров, нежели разработчиков.
www.blinnov.com
Re: Прошу оценить работу
От: iHateLogins  
Дата: 10.04.11 14:36
Оценка: -1 :)
Здравствуйте, BuildAll, Вы писали:

BA>Для небедной организации (Россия) необходимо сделать следующую программу.

BA>Срок выполнения — 4 месяца.
BA>Скажите, сколько такая работа будет стоить?

А "небедная организация" не может пойти к коммерческим компаниям, получить коммерческие предложения и не бомжить на RSDN?
Re[2]: Прошу оценить работу
От: nvb Россия  
Дата: 10.04.11 17:50
Оценка: +1
Здравствуйте, landerhigh, Вы писали:

BA>>Имеется лаборатория, в которой около 40-ка разных контрольно-измерительных приборов, которые могут передавать результаты измерений в компьютер. Метод передачи — последовательные порты (преимущественно) или через промежуточную СУБД. В варианте с СУБД используется поставляемое с прибором ПО.


BA>>Срок выполнения — 4 месяца.


BA>>Скажите, сколько такая работа будет стоить?


L>Имея такую вводную, могу сказать, что нисколько. Ибо за 4 месяца это провернуть принципиально невозможно. Вариант, когда 4 месяца педалим код, а потом два года заставляем его работать, не рассматриваем.


Принципиально — возможно. И за $100К пара моих знакомых напишет искомое за 4 месяца с вероятностью, скажем, 80%. Ибо делала подобные вещи уже не раз. Все дело в наличии опыта. 80% — потому что я не знаю, что там за девайсы и протоколы.

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


Если взять не осциллограф, а хороший логический анализатор, например, Tektronix TLA5202 и уметь использовать прилагаемое к нему ПО, то можно проделать очень много интересных штук с анализом неизвестных протоколов. Шифрованный протокол, разумеется, не вскрыть, но отделить заголовки от данных и набрать материал для анализа данных можно очень быстро. Хотя, конечно, какое-нибудь молодое дарование может, неизвестно зачем, встроить помехоустойчивое кодирование в протокол передачи по RS-232 и тогда придется сложнее. Но в любом случае, будет проще, чем с обычным сниффером порта.

>Если используется стандартный протокол, то тоже не сильно легче. Придется либо реализовывать протокол, либо покупать готовые либы. Последний вариант отпадает, если протокол велосипедный. Да и либы могут стоить многаденех и/или быть тем еще глюкалом.


L>Особенно весело, когда оказывается, что девайс не совсем следует собственному же протоколу и собственной документации, или в ночь на пятницу 16 в полнолуние начинает фигню нести. Еще бывает, что аффтары девайса сначала взяли стандартный протокол, а потом его "улучшили", в результате чего стандартные либы его понимать перестают.


Тот риск, о котором ты говоришь, называется стандартно — нечетко специфицированные требования. Реагируем на этот риск тоже стандартно, переносом этого риска на заказчика — перед подписанием договора составляется ТЗ и протоколы, известные на тот момент, идут к нему приложением. Если протокола нет — в цену либо включается обследование, либо данный прибор выносится за рамки контракта.

Все изменения протоколов — через допсоглашения. Набрался десяток изменений — подписывается допник с коррекцией цены и сроков, если заказчик отказывается подписывать — работаем по первоначальному ТЗ.

Оно понятно, что писать ТЗ — это бесплатная работа, но кто сказал, что риски устраняются бесплатно? Можно этот риск принять и надеяться, что все будет в порядке со спецификациями. Каждый сам делает свой выбор.

L>Потом, не забывайте, что весь этот фестиваль еще и тестировать придется. Запросто может оказаться, что понадобится в два раза больше тестеров, нежели разработчиков.


Ну..да. Но тестирование приемников данных — это сильно проще, чем тестирование АРМа или игрушки, комбинаций не так много. Можно включить в контракт поддержку 2 месяца и пусть заказчик сам тестирует в процессе Это ведь не массовый продукт, 24х7 поддержка не нужна.
Скорее, там будут проблемы с переносом продукта на другую машину, но и это можно зафиксировать в ТЗ — материнская плата такая-то, при переносе на другую конфигурацию работа продукта не гарантируется.
Re[3]: Прошу оценить работу
От: landerhigh Пират  
Дата: 10.04.11 21:29
Оценка: 1 (1)
Здравствуйте, nvb, Вы писали:

BA>>>Скажите, сколько такая работа будет стоить?


L>>Имея такую вводную, могу сказать, что нисколько. Ибо за 4 месяца это провернуть принципиально невозможно. Вариант, когда 4 месяца педалим код, а потом два года заставляем его работать, не рассматриваем.


nvb>Принципиально — возможно. И за $100К пара моих знакомых напишет искомое за 4 месяца с вероятностью, скажем, 80%. Ибо делала подобные вещи уже не раз. Все дело в наличии опыта. 80% — потому что я не знаю, что там за девайсы и протоколы.


Не знаю насчет твоих знакомых, но я конкретно этим на жизнь зарабатываю. Немного в другом масштабе, правда. Это 80% вероятности имеют близкую к 100% вероятность выродиться означенное "пишем 4 месяца, отлаживаем 2 года". Не знаю, может быть в том конкретном случае это будет приемлимо, но конкретно мы пишем коробочный продукт и это совсем не вариант.

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


nvb>Если взять не осциллограф, а хороший логический анализатор, например, Tektronix TLA5202 и уметь использовать прилагаемое к нему ПО, то можно проделать очень много интересных штук с анализом неизвестных протоколов. Шифрованный протокол, разумеется, не вскрыть, но отделить заголовки от данных и набрать материал для анализа данных можно очень быстро. Хотя, конечно, какое-нибудь молодое дарование может, неизвестно зачем, встроить помехоустойчивое кодирование в протокол передачи по RS-232 и тогда придется сложнее. Но в любом случае, будет проще, чем с обычным сниффером порта.


И все это для 40 разных девайсов за 4 месяца?

L>>Особенно весело, когда оказывается, что девайс не совсем следует собственному же протоколу и собственной документации, или в ночь на пятницу 16 в полнолуние начинает фигню нести. Еще бывает, что аффтары девайса сначала взяли стандартный протокол, а потом его "улучшили", в результате чего стандартные либы его понимать перестают.


nvb>Тот риск, о котором ты говоришь, называется стандартно — нечетко специфицированные требования. Реагируем на этот риск тоже стандартно, переносом этого риска на заказчика — перед подписанием договора составляется ТЗ и протоколы, известные на тот момент, идут к нему приложением. Если протокола нет — в цену либо включается обследование, либо данный прибор выносится за рамки контракта.


Очень вероятно, что выносить за рамки контракта тогда придется все девайсы. Вот, например, один из довольно интересный тип граблей, которые так любят оставлять разработчики железа и прошивок. Девайс имеет встроенные часы и умеет передавать лог событий на хост. Это все описано в документации, приведены все форматы и так далее — пиши не хочу. Написали, протестировали, все работает. Заказчик доволен, работа принята. Через пару недель возникает ситуация — пропадают события. Команда ловит багу долго, потому что в лаборатории баг никак не проявляется. В конце концов совершенно случайно выясняется, что иногда, в день высокого прилива на островах Фиджи, девайс в формате даты передает бред вроде "32 глюкабря 2045 года до нашей эры". Долгая возня с техподдержкой девайса (если такая есть) через месяц проясняет, что это он так сообщает о необходимости синхронизации часов. А в документации это отразить забыли. Ну бывает.

Такое веселье случается сплошь и рядом даже при 100% документированном, стандартном протоколе.

nvb>Все изменения протоколов — через допсоглашения. Набрался десяток изменений — подписывается допник с коррекцией цены и сроков, если заказчик отказывается подписывать — работаем по первоначальному ТЗ.


В таком случае один только ТЗ и его согласования займут больше, чем 4 месяца.

L>>Потом, не забывайте, что весь этот фестиваль еще и тестировать придется. Запросто может оказаться, что понадобится в два раза больше тестеров, нежели разработчиков.


nvb>Ну..да. Но тестирование приемников данных — это сильно проще, чем тестирование АРМа или игрушки, комбинаций не так много.


Ой. Остается только сказать, что мужики-то и не знают
www.blinnov.com
Re[4]: Прошу оценить работу
От: nvb Россия  
Дата: 11.04.11 07:31
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>>>Имея такую вводную, могу сказать, что нисколько. Ибо за 4 месяца это провернуть принципиально невозможно. Вариант, когда 4 месяца педалим код, а потом два года заставляем его работать, не рассматриваем.


nvb>>Принципиально — возможно. И за $100К пара моих знакомых напишет искомое за 4 месяца с вероятностью, скажем, 80%. Ибо делала подобные вещи уже не раз. Все дело в наличии опыта. 80% — потому что я не знаю, что там за девайсы и протоколы.


L>Не знаю насчет твоих знакомых, но я конкретно этим на жизнь зарабатываю. Немного в другом масштабе, правда. Это 80% вероятности имеют близкую к 100% вероятность выродиться означенное "пишем 4 месяца, отлаживаем 2 года". Не знаю, может быть в том конкретном случае это будет приемлимо, но конкретно мы пишем коробочный продукт и это совсем не вариант.


Не знаю про ваши критерии качества, поэтому ничего сказать не могу. Но в то, что у вас не бывает апдейтов ПО — не верю (с)

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


nvb>>Если взять не осциллограф, а хороший логический анализатор, например, Tektronix TLA5202 и уметь использовать прилагаемое к нему ПО, то можно проделать очень много интересных штук с анализом неизвестных протоколов. Шифрованный протокол, разумеется, не вскрыть, но отделить заголовки от данных и набрать материал для анализа данных можно очень быстро. Хотя, конечно, какое-нибудь молодое дарование может, неизвестно зачем, встроить помехоустойчивое кодирование в протокол передачи по RS-232 и тогда придется сложнее. Но в любом случае, будет проще, чем с обычным сниффером порта.


L>И все это для 40 разных девайсов за 4 месяца?


Я же сказал — я не знаю, что это за 40 девайсов. Кстати, я думаю, что они вряд ли сильно разные, если они стоят в одной лаборатории. Производителей наверняка не более десятка, а это упрощает ситуацию. Хотя, конечно, вспоминая свои попытки десятилетней давности получить по RS-232 скриншот с Tektronix TDS 1001 — да, сложностей может быть много

L>>>Особенно весело, когда оказывается, что девайс не совсем следует собственному же протоколу и собственной документации, или в ночь на пятницу 16 в полнолуние начинает фигню нести. Еще бывает, что аффтары девайса сначала взяли стандартный протокол, а потом его "улучшили", в результате чего стандартные либы его понимать перестают.


nvb>>Тот риск, о котором ты говоришь, называется стандартно — нечетко специфицированные требования. Реагируем на этот риск тоже стандартно, переносом этого риска на заказчика — перед подписанием договора составляется ТЗ и протоколы, известные на тот момент, идут к нему приложением. Если протокола нет — в цену либо включается обследование, либо данный прибор выносится за рамки контракта.


L>Очень вероятно, что выносить за рамки контракта тогда придется все девайсы. Вот, например, один из довольно интересный тип граблей, которые так любят оставлять разработчики железа и прошивок. Девайс имеет встроенные часы и умеет передавать лог событий на хост. Это все описано в документации, приведены все форматы и так далее — пиши не хочу. Написали, протестировали, все работает. Заказчик доволен, работа принята. Через пару недель возникает ситуация — пропадают события. Команда ловит багу долго, потому что в лаборатории баг никак не проявляется. В конце концов совершенно случайно выясняется, что иногда, в день высокого прилива на островах Фиджи, девайс в формате даты передает бред вроде "32 глюкабря 2045 года до нашей эры". Долгая возня с техподдержкой девайса (если такая есть) через месяц проясняет, что это он так сообщает о необходимости синхронизации часов. А в документации это отразить забыли. Ну бывает.


L>Такое веселье случается сплошь и рядом даже при 100% документированном, стандартном протоколе.


Это достаточно распространенная проблема, которая достигает своего апогея в случае передачи данных измерений по ненадежному радиоканалу. CRC контроль здесь не всегда помогает, поскольку, например, в диапазоне 2,4ГГц в принятом пакете может быть все, что угодно — даже при совпавшем CRC, wi-fi — это неиссякаемый источник помех. Поэтому используются дополнительные методы контроля — например, в случае соединения точка-точка ясно, что временные метки и номера пакетов должны инкрементироваться в следующем пакете, а если это не так, или инкремент слишком велик, то имеем глюк или помеху. То же самое и с учетом полосы пропускания прибора — если два соседних значения напряжения расположены (пример) в верхней и нижней части шкалы, то это либо помеха, либо глюк ПО прибора. То же самое для значений напряжения питающей батарей — не может оно быть равным 0,5В, поскольку передатчик работает выше 1,9В. Ну и так далее.
Соответственно, перед тем, как попасть на индикаторы, значения проходят через все эти фильтры, и если они ловят глюк — значение пишется в лог и не выводится, при этом оно может быть обрамлено временными метками с РС, значениями до и после, и т.п. Все это у заказчика, в реальных условиях, без присутствия разработчиков. А потом логи забираются и смотрятся на предмет странностей — раз в неделю, даже ехать необязательно, пришлют по почте. И если попадается повторяющаяся странность — тут надо разбираться, с производителем переписываться, при этом на руках имеется "доказательная база" — просто так послать производитель уже не может. Торчать у заказчика для этого неделями совсем не обязательно, это делается в фоновом режиме.

nvb>>Все изменения протоколов — через допсоглашения. Набрался десяток изменений — подписывается допник с коррекцией цены и сроков, если заказчик отказывается подписывать — работаем по первоначальному ТЗ.


L>В таком случае один только ТЗ и его согласования займут больше, чем 4 месяца.


Ты выбросил чересчур много из моего текста. Спецификации на протоколы передачи имеют одно хорошее свойство — либо они есть в данный момент, либо их нет.
Никто же не мешает, например, разбить работу на 3-4 этапа с оплатой после каждого — на первом делается известное (протоколы есть и они понятны), на втором — известное неизвестное (протоколов сейчас нет, но понятно, что будут к началу работ по этому этапу) и на третьем — неизвестное неизвестное (протоколов нет, и где взять — непонятно). Естественно, если в первом этапе цена 1 прибора — Х, то в третьем — 10Х. Соответственно, в интересах заказчика становится быстрей нарыть всю документацию, что у него есть и перенести возможно больше приборов на первый этап. Все прозрачно, никто не в обиде.
А если заказчик не хочет возиться с ТЗ и предпочитает переносить риски на исполнителя — ну что ж, это повод задуматься о том, стоит ли иметь с ним дело.
Re[5]: Прошу оценить работу
От: landerhigh Пират  
Дата: 11.04.11 08:06
Оценка:
Здравствуйте, nvb, Вы писали:

nvb>Не знаю про ваши критерии качества, поэтому ничего сказать не могу. Но в то, что у вас не бывает апдейтов ПО — не верю (с)


Наши криетрии качества относят желание поиметь 40 девайсов через 4 месяца в категорию "you must be dreaming".

L>>И все это для 40 разных девайсов за 4 месяца?


L>>>>Особенно весело, когда оказывается, что девайс не совсем следует собственному же протоколу и собственной документации, или в ночь на пятницу 16 в полнолуние начинает фигню нести. Еще бывает, что аффтары девайса сначала взяли стандартный протокол, а потом его "улучшили", в результате чего стандартные либы его понимать перестают.


nvb>>>Тот риск, о котором ты говоришь, называется стандартно — нечетко специфицированные требования. Реагируем на этот риск тоже стандартно, переносом этого риска на заказчика — перед подписанием договора составляется ТЗ и протоколы, известные на тот момент, идут к нему приложением. Если протокола нет — в цену либо включается обследование, либо данный прибор выносится за рамки контракта.


Еще раз — по спецификации девайс 100% поддерживает протокол А. При реализации или тестировании, месяце так на четвертом, вдруг выясняется, что реализация протокола в девайсе своеобразная.

L>>Такое веселье случается сплошь и рядом даже при 100% документированном, стандартном протоколе.


nvb>Это достаточно распространенная проблема, которая достигает своего апогея в случае передачи данных измерений по ненадежному радиоканалу. CRC контроль здесь не всегда помогает, поскольку, например, в диапазоне 2,4ГГц в принятом пакете может быть все,


Ты прочитал мое сообщение по диагонали. Это не ошибка и не потерянный пакет и не шум на линии. Девайс специально шлет мусор, чтобы на что-то пожаловаться. А в мануале это отразить "забыли". Бывает. Вы не знали, клиент не знал, зачастую даже разработчик девайса тоже забыл. В итоге клиент будет несколько обескуражен.
www.blinnov.com
Re[2]: Прошу оценить работу
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 11.04.11 10:46
Оценка:
Здравствуйте, UA, Вы писали:

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


BA>>Скажите, сколько такая работа будет стоить?


UA>Допустим 1 человек сумеет качественно разрулить 1 прибор в месяц

Мой опыт показывает что 1 человек сумеет качественно разрулить 1 прибор в день если документация в порядке.

UA>= так как есть 4 месяца в запасе = имеем 10 человек только на одни приборы. + 3 человека на унификацию интерфейса (один из них архитект (строит архитектуру и общается с заказчиком) и 2 лида которые будут педалить код унификации и паралельно смотреть за людьми которые педалят приборы и фиксить проблемы взаимодействия) + 3 тестера + 1 человек на деплоймент. Итого: 17 человек * 100 тыс. рублей * 4 месяца = 6.8 млн. рублей + риски + надо что заработать = порядка 15 миллионов.

17 человек на такой проект? не дофига ли? 17 технарей выльется еще в десяток управленцев и обслуживающего состава...
Итого примерно 25 человек на 4 месяца кормить, несколько миллионов только на ЗП персоналу уйдет.
Re: Прошу оценить работу
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 11.04.11 11:01
Оценка:
Здравствуйте, BuildAll, Вы писали:

BA>Для небедной организации (Россия) необходимо сделать следующую программу.


BA>Имеется лаборатория, в которой около 40-ка разных контрольно-измерительных приборов, которые могут передавать результаты измерений в компьютер. Метод передачи — последовательные порты (преимущественно) или через промежуточную СУБД. В варианте с СУБД используется поставляемое с прибором ПО.


BA>Необходимо "забрать" результаты, привести к требуемой форме и отправить в центральную СУБД. Основные задачи, которые придётся решать — разбор протоколов передачи (документация есть) и структур таблиц БД, ну и создание унифицированного интерфейса. Программа должна уметь настроиться и работать с любым из 40-ка приборов или с несколькими одновременно. Ну и по мелочи — авторизация пользователя, администрирование, настройка автономной работы при сбое связи с центральной БД.


BA>Срок выполнения — 4 месяца.


BA>Скажите, сколько такая работа будет стоить?


тут стоит заострить внимание на том что с 40 приборами за 4 месяца вы не справитесь. В идеальном случае на прибор уйдет один день (я видел идеальный случай один раз в жизни), 40 раб. дней это два месяца. А еще нужно нарисовать интерфейсы, схемы БД, предварительное исследование провести и развернуть у заказчика. Даже если будет несколько человек на проекте, то вряд ли это сильно ускорит, так как долго будете приводить кучу разных приборов к "одному знаменателю".
Re[6]: Прошу оценить работу
От: nvb Россия  
Дата: 11.04.11 11:26
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Еще раз — по спецификации девайс 100% поддерживает протокол А. При реализации или тестировании, месяце так на четвертом, вдруг выясняется, что реализация протокола в девайсе своеобразная.


L>>>Такое веселье случается сплошь и рядом даже при 100% документированном, стандартном протоколе.


Ну и что ужасного случится? Если программа так написана, что от этого упадет — да, плохо, но необязательно ее так писать.

nvb>>Это достаточно распространенная проблема, которая достигает своего апогея в случае передачи данных измерений по ненадежному радиоканалу. CRC контроль здесь не всегда помогает, поскольку, например, в диапазоне 2,4ГГц в принятом пакете может быть все,


L>Ты прочитал мое сообщение по диагонали. Это не ошибка и не потерянный пакет и не шум на линии. Девайс специально шлет мусор, чтобы на что-то пожаловаться. А в мануале это отразить "забыли". Бывает. Вы не знали, клиент не знал, зачастую даже разработчик девайса тоже забыл.


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

А по поводу жалоб девайса... Обычно у девайсов с интерфейсами индикатор есть, на который он выводит серьезные жалобы, или светодиод, или пищалка. А жаловаться по интерфейсу, который имеет право быть неподключенным, да еще и недокументированно жаловаться... Скорее всего это мелочь, на которую можно просто не обращать внимания. Вероятность налететь на что-то серьезное при таких условиях очень мала.

L>В итоге клиент будет несколько обескуражен.


Не надо осчастливливать заказчика знанием, что пришел пакет, который невозможно разобрать. У него своих проблем хватает.
Re[7]: Прошу оценить работу
От: landerhigh Пират  
Дата: 11.04.11 23:46
Оценка:
Здравствуйте, nvb, Вы писали:

L>>Еще раз — по спецификации девайс 100% поддерживает протокол А. При реализации или тестировании, месяце так на четвертом, вдруг выясняется, что реализация протокола в девайсе своеобразная.

L>>>>Такое веселье случается сплошь и рядом даже при 100% документированном, стандартном протоколе.
nvb>Ну и что ужасного случится? Если программа так написана, что от этого упадет — да, плохо, но необязательно ее так писать.

Опять читаем по диагонали? Написал же ничего не упало. "Всего-навсего" — событие до БД не дошло. Хотя на морде девайса оно есть. Заказчик рвет и мечет, если у него из-за этого чего похуже не стряслось.

nvb>>>Это достаточно распространенная проблема, которая достигает своего апогея в случае передачи данных измерений по ненадежному радиоканалу. CRC контроль здесь не всегда помогает, поскольку, например, в диапазоне 2,4ГГц в принятом пакете может быть все,


L>>Ты прочитал мое сообщение по диагонали. Это не ошибка и не потерянный пакет и не шум на линии. Девайс специально шлет мусор, чтобы на что-то пожаловаться. А в мануале это отразить "забыли". Бывает. Вы не знали, клиент не знал, зачастую даже разработчик девайса тоже забыл.


nvb>Итак. Тип сообщения не отображен в мануале. Иногда даже разработчик девайса об этом сообщении забыл. Тогда это именно что мусор, который не надо выводить и учитывать.


Заказчику не нужна система, которая собирает "почти все данные", иначе бы он бабу Машу нанял данные записывть в журнал каждые 5 минут (или как получится) за 1/100 тех денег, в которые ему встанет разработка автоматизированной системы.

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

nvb>Или ты в релизе все мусорные фильтры отключаешь? А зачем? В рамках договора у тебя с большой вероятностью будет поддержка, вот и заглядывай периодически в логи. Можно размер лога ограничить... впрочем, что я элементарные вещи говорю


Это разговор глухого со слепым получается. Ты отказываешься понять суть проблемы.

nvb>А по поводу жалоб девайса... Обычно у девайсов с интерфейсами индикатор есть, на который он выводит серьезные жалобы, или светодиод, или пищалка. А жаловаться по интерфейсу, который имеет право быть неподключенным, да еще и недокументированно жаловаться... Скорее всего это мелочь, на которую можно просто не обращать внимания. Вероятность налететь на что-то серьезное при таких условиях очень мала.


Вероятность налететь на серьезное здесь строго равна единице. Те, кто считал иначе, сейчас в Японии вокруг раскуроченной атомной станции со шлангами бегают.
www.blinnov.com
Re[8]: Прошу оценить работу
От: nvb Россия  
Дата: 12.04.11 06:15
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>>>Ты прочитал мое сообщение по диагонали. Это не ошибка и не потерянный пакет и не шум на линии. Девайс специально шлет мусор, чтобы на что-то пожаловаться. А в мануале это отразить "забыли". Бывает. Вы не знали, клиент не знал, зачастую даже разработчик девайса тоже забыл.


nvb>>Итак. Тип сообщения не отображен в мануале. Иногда даже разработчик девайса об этом сообщении забыл. Тогда это именно что мусор, который не надо выводить и учитывать.


L>Заказчику не нужна система, которая собирает "почти все данные", иначе бы он бабу Машу нанял данные записывть в журнал каждые 5 минут (или как получится) за 1/100 тех денег, в которые ему встанет разработка автоматизированной системы.


Я понимаю, что человек ты ответственный и все такое. Вот только не надо брать на себя все грехи мира. Ты не можешь и не имеешь права реагировать на сообщение, не отраженное в официальном мануале, иначе можешь получить — и совершенно справедливо — по шее, за реакцию на такое сообщение. Потому что оно может быть умышленным "пакетом смерти", ХЗ откуда пришедшим в канал связи — например, увольняемый программист девайса решил отомстить своей фирме. Если ты отрапортовал заказчику о подозрительных пакетах и заказчик официально дал добро на их отлов и разбор — вместе с деньгами и временем — только тогда вперед.
Вариант отмазки постфактум "я затянул сроки на месяц, потому что отлавливал и интерпретировал не отраженное в мануале сообщение" вызовет у заказчика в лучшем случае непонимание.

L>Тип сообщения отображен. И обрабатывается правильно. Только с такой интересной датой в пакете оно упало на самое дно базы и там и осталось, причем выкидывать сообщения или модифицировать данные (поставить другое время) в них мы не имеем права.


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

L>В индустрии, где я работаю, подобное выкинутое сообщение может привести к человеческим жертвам.


Ты все-таки определись. Либо "выкинутое сообщение может привести к человеческим жертвам" либо "клиент не знал, зачастую даже разработчик девайса тоже забыл". Если это сообщение достаточно серьезное, чтобы быть индицированным на морде и чем угодно еще, тогда надо искать его в потоке данных в первую очередь. Если же это не так — копи информацию в логах и анализируй их периодически. Сделай в программе текстовое окошко, назови его "ХЗ" и сыпь непонятные сообщения туда. В конце концов, прикрути почтового клиента и пусть он высылает тебе инфу о непонятном сообщении сразу же, как оно пришло.
Ждать, пока система свалится в аут или заказчик запрыгает от пакета непонятного формата — ну, можно и так. У каждого свой путь. Тогда действительно надо 2 года на отладку.

Хорошо, я понял, что описанные мной методы тебе не подходят. Твой-то метод отлова этих сообщений какой? Расскажи.

nvb>>Или ты в релизе все мусорные фильтры отключаешь? А зачем? В рамках договора у тебя с большой вероятностью будет поддержка, вот и заглядывай периодически в логи. Можно размер лога ограничить... впрочем, что я элементарные вещи говорю


L>Это разговор глухого со слепым получается. Ты отказываешься понять суть проблемы.


Я правда не могу понять суть. Объясни. Как человеку, посвятившему этой области некоторую часть своей жизни, мне действительно интересно понять, в чем тебе видятся действительно неразрешимые проблемы? Сейчас, по прошествии лет, 95% проблем, с которыми я сталкивался, я смело отношу на счет собственного незнания и раздолбайства, а в оставшихся 5% я просто не уверен

nvb>>А по поводу жалоб девайса... Обычно у девайсов с интерфейсами индикатор есть, на который он выводит серьезные жалобы, или светодиод, или пищалка. А жаловаться по интерфейсу, который имеет право быть неподключенным, да еще и недокументированно жаловаться... Скорее всего это мелочь, на которую можно просто не обращать внимания. Вероятность налететь на что-то серьезное при таких условиях очень мала.


L>Вероятность налететь на серьезное здесь строго равна единице. Те, кто считал иначе, сейчас в Японии вокруг раскуроченной атомной станции со шлангами бегают.


Вот только не надо присобачивать Японию как аргумент, когда говоришь с технарями. Не поймут (с). Как аргумент для выбивания у заказчика денег на дополнительное тестирование — пожалуйста, но здесь — не надо.
И посмотри на стартовое сообщение. Вряд ли организация, которая дает 4 месяца на разработку и обращается к частному лицу, делает что-то, что может привести к человеческим жертвам. Хотя бы из-за разделения будущей ответственности.
Существует риск и последствия от реализации риска. Последствия риска от сломавшейся китайской игрушки — почти никакой, и коэффициент запаса ее прочности — 1, поэтому она ломается на вторую неделю. Последствия риска от разрушения механизма подъема пассажирского лифта — человеческие жертвы, поэтому там коэффицент запаса прочности — 30, и я пока не слышал об оборвавшемся тросе лифта. Никто не станет платить за реагирование на риск больше, чем это действительно необходимо.
Re[2]: Прошу оценить работу
От: alzt  
Дата: 12.04.11 07:14
Оценка:
Здравствуйте, iHateLogins, Вы писали:

BA>>Для небедной организации (Россия) необходимо сделать следующую программу.

BA>>Срок выполнения — 4 месяца.
BA>>Скажите, сколько такая работа будет стоить?

HL>А "небедная организация" не может пойти к коммерческим компаниям, получить коммерческие предложения и не бомжить на RSDN?


Может конечно. Но, скорее всего хотят подешевле, а у топикстартера есть шанс получить хороший заказ. Осталось только прикинуть — реально ли его вытянуть.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.