|
ДВОЕ ИЗ ЛАРЦА, Квалификация исполнителей. Качественный программный код. |
|
|
|
Jul 1 2016, 06:38
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 20-02-16
Пользователь №: 90 531

|
Добрый день ! Хочется спросить совета у форумчан по одному вопросу, хотя не совсем уверен, что выбранная тема четко соотносится с ним. Я — заказчик. Проект небольшой – ATmega168 + PCF7991, пара реле, пара ключей и десяток входных сигналов (логика). На выходе должен появится работающий образец в предфинальном варианте для запуска в серию + вся исходная информация. Исполнителей двое, электронщик и программист. С каждым из них - своя история взаимодействия. При отправке ПП на изготовление выяснилось, что все проводники на плате были сделаны не трассой а графикой (линии), которые естественно нормальному редактированию не поддавались. При увеличении была заметна небрежность — нахлесты, несведение в точку и т.п. Ну и апофеозом всего — невозможность автоматической проверки корректности дизайна платы в контексте правил разводки (DRC ). На мой вопрос «почему так» было сказано, что Altium в котором он работал с очень ограниченной лицензией и по другому никак ... Потратив несколько часов на обзор и вникание в имеющейся доступный софт, был сделан выбор в пользу DipTrace. Цена вопроса - 10 тыс.р (1000 выводов, 4 слоя). Плата была переделана в приемлемый срок и с надлежащим качеством. Пре передаче в Резонит выяснилось, что теперь формат DipTrace в качестве входного не принимается. На мое указание транслировать проект в гербер и сверловку, электронщик заявляет, что это работа технолога и ничего в этом случае гарантировать не может. Пришлось делать самому, заняло примерно пять минут с проверкой полученных герберов сторонним вьювером. Из Резонита все пришло как задумывалось и без вопросов. Программист ... Тут сложнее — ломаный IAR. Попытка разговора в стиле «ай-яй-яй, а давай делать в Atmel Studio» (4.18 например) не привела ни к чему. Хотя изначально было сказано, что проект будет развиваться и необходим грамотный и качественный подход к проектированию и железа и софта. Ну Си он и в Африке Си, махнул на это рукой, запланировав по окончанию этой фазы переехать в студию за короткое время. Наконец пришло время тестирования полученного образца. Детали описывать не стану. Выяснилось, что устройство при провалах питания ведет себя непредсказуемо, но чаще всего намертво «зависает». Посовещавшись пару дней и проводя какие-то эксперименты ими было заявлено, что это «плохие» микроконтроллеры ... - Не вопрос, - сказал я и приобрел с десяток ATmega168 из разных мест и партий. Снова испытания и проверки, но — безуспешно. На мой вопрос «а включен ли внутренный BOD?» было бодро ответили - «пробовали по всякому, ничего не помогает» и предложили - «а давайте на вход по питания поставим отсечку», чтобы ниже 8 вольт устройство просто отключалось. Время поджимало — снова махнул рукой (зря) ... Прошло несколько дней на протяжении который электронщик как в старые добрые времена СЮТов взяв в руки паяльник плодил вариант за вариантом схему, приговаривая «вот уже почти ...» Делать мне было нечего и я взялся чтение классики и истоков. Изучив варианты построения схемотехники UVLO (under voltage lock out) и внимательно почитав datasheet на микроконтроллер решил взять инициативу в свои руки ... На моем рабочем столе помимо компьютера разместились : опытный образец, программатор, паяльная станция и лабораторный источник питания. Получив по запросу от программиста исходный код и прошивку (IAR я не устанавливал) взялся за тщательную проверку всего и вся. Собственно все заняло минут десять. За это время я убедился, что fuse bits прошиты мягко говоря странным образом. На вопрос «Это правильно?» был четкий ответ - «Да ! У нас так все устройства работают». Пришлось распечатать нужные страницы даташита и попросить пояснить наглядно. Случился таймаут по окончании которого мне было выдано две разные версии с новыми комбинациями и «пояснениями» в стиле «а можно и вот так» ... Я пригласил грамотного специалиста который мне шепотом сообщил, что ошибка на самом деле на генетическом уровне. Им же аргументировано объяснил, что все не так, как они себе представляли и нужно просто вдумчиво читать документацию, т.к. там все-все написано. Закончив объяснения он запрограммировал fuse bits как нужно. Устройство перестало себя вести неадекватно на что программист заявил, что он — программист а не железячник и эти конфигурационные биты не его проблемы. Электронщик в ответ показал пальцем на программиста ... Еще не занавес. Напоследок я потратил пару часов на анализ исходного кода (лучше бы я это не делал). Вновь не стану описывать увиденное. Сообщу только одну деталь (программная реализация SPI – это мелочи) — сбросов watchdog-а я насчитал целых 70 ! ... На высказанное мое недоумение был ответ «Ну работает же!» © Занавес ... А теперь собственно суть вопроса. Как при наличии двух исполнителей найти ответственного за косяк и доказать, что это именно он а не другой ? Каким образом добиться от программиста качественного программного кода ? P.S. Спасибо за терпение, проявленное при прочтении текста выше
|
|
|
|
|
 |
Ответов
|
Jul 1 2016, 08:09
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(Kabdim @ Jul 1 2016, 10:17)  Нисколько не оправдывая исполнителей. Да и не осуждая т.к. судить без как минимум высказывания обоих мнений считаю неправильным. Не могу не заметить что позиция интегратора/проджект менеджера придумана не зря. Поэтому в это ситуации хотя косяки на стороне исполнителей основной виновник - Вы, взявший на себя обязанности интегратора. Да звучит странно. Если нет желания разбираться, то есть куча контор, которые комплексно сделают вам железо+софт и ответят за качество деталей и их работе в совокупности. А если желание экономить привело к взятию на себя роли интегратора, то с себя и нужно спрашивать. А затем принуждать исполнителей исполнять в соответствии с вашим виденьем задачи, без того разброда и шатания которое вы описали. Поддерживаю это высказывание. Мало того, я бы сказал, что эту ситуацию Вы сами и спланировали заранее. Было ли составлено подробное ТЗ? Вы довели до исполнителей ДОКУМЕНТ, в котором бы было написано, ЧЕМ ЗАКАНЧИВАЕТСЯ (какими документами и файлами) их работа? Был ли составлен алгоритм программы и был ли он согласован с Вами, как с заказчиком? И кто его разрабатывал? Учли ли там неправильные ситуации? По каким критериям Вы брали на работу исполнителей? Какие документы они выставили в подтверждение своей квалификации? Кто из вас несет ответственность за применение "ломаный IAR"? Где гарантии, что он будет работать правильно? Есть еще вопросы о методах управления подчиненными. И их тоже достаточно. Ну например такие: Как Ваши подчиненные отчитывались о том, что сделано за определенный период времени. Например, в частной зарубежной фирме, где я работал, у каждого исполнителя была рабочая тетрадь, как на военной кафедре. Т.е. прошнурованная, с полями, с пронумерованными страницами. Все расчеты, осциллограммы, все абсолютно записывалось и приклеивалось. А руководитель темы проверял раз в день или раз в 2 дня. Хозяин проверял раз в неделю... Вот Вам - ISO9001 со всем его звериным оскалом.. Ну вот таких вопросов много. Хотите больше - могу по скайпу голосом поговорить.
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Jul 1 2016, 10:10
|
Местный
  
Группа: Свой
Сообщений: 307
Регистрация: 14-03-06
Пользователь №: 15 243

|
Цитата(iosifk @ Jul 1 2016, 11:09)  Как Ваши подчиненные отчитывались о том, что сделано за определенный период времени. Например, в частной зарубежной фирме, где я работал, у каждого исполнителя была рабочая тетрадь, как на военной кафедре. Т.е. прошнурованная, с полями, с пронумерованными страницами. Все расчеты, осциллограммы, все абсолютно записывалось и приклеивалось. А руководитель темы проверял раз в день или раз в 2 дня. Хозяин проверял раз в неделю... Вот Вам - ISO9001 со всем его звериным оскалом.. А где можно почитать о подобном организации рабочего процесса?
|
|
|
|
|
Jul 1 2016, 11:49
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(Tpeck @ Jul 1 2016, 13:10)  А где можно почитать о подобном организации рабочего процесса? Есть у меня на сайте небольшая статья "про инофирмы"... Но если у Вас есть какие-либо вопросы, то могу рассказать все что знаю... Если коротко то... Все дело в том, что большинство "их" фирм работает на "заемных" деньгах. Т.е. либо инвесторы в совете директоров, либо кредит банка. А потому есть очень жесткое планирование сроков и этапов. Вот все ругают "индусов". Но "индус" приучен сдавать работу в срок. А "наши"... Наверняка слышали такое: "ну да, вчера не сделал, но зато я придумал как все это красиво переделать за пару дней". А то, что в срок не укладываемся, то это "нашего" не колышет... А "лог-бук" с отчетами и всеми записями - это не для понтов, а для отчетов за потраченные деньги инвесторов. Не сдали работу в срок - нет возможности вернуть кредит. Все, фирма банкрот. И уже бесполезно говорить, что мол этот не так развел, а тот не так запрограммировал... PS. Фраза о том, что "Так и не убедил программиста сделать детальное логирование в десктоп-приложении для последующего анализа." говорит о том, что и этот "программист" не умеет делать промышленные изделия, ни тем более "руководитель работы" ничего более настольных игрушек не делал. Правда, кода мы делали "заправки", то нашим программистам и системщикам потребовалось всего около года, чтобы тесты ввести в состав "боевого" ПО и иметь возможность ими пользоваться штатно во время работы с изделиями... А для этого пришлось "пробивать" наше начальство и приемку заказчика... Как говорится, никаких личных обид, просто констатация фактов. Я уже привел пример про "переходный процесс"... Так вот, стандартная "планка" - 95% и 3 "тау".. Или опыт работы 1 год. (1 "тау" - это поморгать светодиодами на лабораторной на 3-м курсе) Это скажем так, специалист для ширпотреба. Посчитайте, сколько "тау" и какой опыт работы нужен для 99,9% хотя бы... Уж я не говорю про "ответственные" применения... Лет чуть более 15-ти назад я пришел работать в ЛОНИИС и там рассказывал сослуживцу о том, как велась отладка систем на "заправке"... А он был всего лет на 5 младше меня. И он рассказывал мне, как он героически на кафедре русифицировал ПЗУ в принтере... К сожалению, сейчас мало "больших" проектов... Дальше понятно... Увы... Вот, кстати военные все в одной форме ходят, но чтобы отличить кто круче, носят погоны. У девочек нет погонов, но есть сережки. И сразу видно, кто и что носит...  А инженеры не имеют ни того, ни другого. Хотя у кого-то кандидатские, но теперь и это не показатель.. А уж термин "преподает" и совсем не дает хороших эмоций... Ладно, много народу в этой ветке, допишу еще... По поводу этого: "Но ТЗ детального не было (к сожалению)." Я веду занятия по ПЛИС, чтобы не "засохнуть"... И довольно много времени уделяю описанию формализации начала проектирования. Задания, алгоритмы, описания, стиль и наименования сигналов. Вот пример. В сети поищите по фразе "Часы на ПЛИС"... Будет прорва текстов и фоток. Но "прикол" в том, что я знаю как минимум 3 варианта с разной архитектурой. В сети 70% - это первый вариант. 30% - второй. Третьего варианта нет вообще... А ведь "цена ошибки" в начале проекта составляет 100% и падает почти до нуля к концу проекта. И вот все это обсуждение в этой ветке на самом деле не обсуждение плохих работников, а обсуждение неправильной методики ведения проекта. Все... Удачи всем!
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Jul 1 2016, 12:23
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 20-02-16
Пользователь №: 90 531

|
Цитата(iosifk @ Jul 1 2016, 12:49)  ... Но "индус" приучен сдавать работу в срок. А "наши"... Наверняка слышали такое: "ну да, вчера не сделал, но зато я придумал как все это красиво переделать за пару дней". А то, что в срок не укладываемся, то это "нашего" не колышет... А "лог-бук" с отчетами и всеми записями - это не для понтов, а для отчетов за потраченные деньги инвесторов. Не сдали работу в срок - нет возможности вернуть кредит. Все, фирма банкрот. И уже бесполезно говорить, что мол этот не так развел, а тот не так запрограммировал... В точку.
|
|
|
|
Сообщений в этой теме
Hirer ДВОЕ ИЗ ЛАРЦА Jul 1 2016, 06:38 spectr Я так понимаю, никаких промежуточных точек приемки... Jul 1 2016, 07:12 Corvus Цитата(Hirer @ Jul 1 2016, 09:38) Каким о... Jul 1 2016, 07:15 spectr Цитата(Corvus @ Jul 1 2016, 10:15) Сменит... Jul 1 2016, 07:18  Hirer Цитата(spectr @ Jul 1 2016, 08:18) Иные п... Jul 1 2016, 08:56  MrYuran Цитата(iosifk @ Jul 1 2016, 11:09) у кажд... Jul 1 2016, 08:32    bogaev_roman Цитата(iosifk @ Jul 1 2016, 14:49) А инже... Jul 1 2016, 12:02 gerber Живут же люди! Атмеги в 4 слоях разводят.
Цита... Jul 1 2016, 07:44 spectr Цитата(gerber @ Jul 1 2016, 10:44) Живут ... Jul 1 2016, 07:50 AlexandrY Цитата(Hirer @ Jul 1 2016, 09:38) Как при... Jul 1 2016, 08:12 EvilWrecker На мой взгляд наиболее типовая ситуация из наиболе... Jul 1 2016, 08:26 Hirer Цитата(EvilWrecker @ Jul 1 2016, 09:26) .... Jul 1 2016, 08:59 ViKo И я того же мнения. За все отвечает руководитель. ... Jul 1 2016, 08:35 Aner Cтандартная ситуация для "лимонадных" пр... Jul 1 2016, 08:40 Hirer Цитата1) А что за Альтиумм такой который платки ри... Jul 1 2016, 08:41 EvilWrecker Это не альтиум а скорее всего пикад. Тогда случай ... Jul 1 2016, 08:42  Hirer Цитата(EvilWrecker @ Jul 1 2016, 09:42) Э... Jul 1 2016, 08:54   MrYuran Цитата(Hirer @ Jul 1 2016, 11:54) Так вед... Jul 1 2016, 08:56   AlexandrY Цитата(Hirer @ Jul 1 2016, 11:54) Наверно... Jul 1 2016, 09:01    Hirer Цитата(AlexandrY @ Jul 1 2016, 10:01) ...... Jul 1 2016, 09:02     iosifk Цитата(Hirer @ Jul 1 2016, 12:02) Оптимал... Jul 1 2016, 09:26 AlexandrY Цитата(Hirer @ Jul 1 2016, 11:41) Конденс... Jul 1 2016, 08:58 EvilWrecker ЦитатаКогда руками делать не получается, два пути ... Jul 1 2016, 09:00 agregat Цитата(Hirer @ Jul 1 2016, 09:38) Как при... Jul 1 2016, 09:05 Maverick про электронщика-схемотехника здесь говорить сложн... Jul 1 2016, 09:35 Hirer Цитата(agregat @ Jul 1 2016, 10:05) 1. Ес... Jul 1 2016, 10:00  Maverick Цитата(Hirer @ Jul 1 2016, 13:00) Отчеты ... Jul 1 2016, 10:16  Maverick Цитата(Hirer @ Jul 1 2016, 13:00) Отчеты ... Jul 1 2016, 10:24 EvilWrecker ЦитатаЯ напишу еще немного о том, что такое ... Jul 1 2016, 10:01 Hirer Кстати, говоря о пользе сторонних специалистов - п... Jul 1 2016, 10:20 Aner QUOTE (Hirer @ Jul 1 2016, 14:20) Кстати,... Jul 1 2016, 11:23  AlexandrY Цитата(Aner @ Jul 1 2016, 14:23) Первый в... Jul 1 2016, 12:14   Hirer Цитата(AlexandrY @ Jul 1 2016, 13:14) Не ... Jul 1 2016, 12:16   Dog Pawlowa Цитата(AlexandrY @ Jul 1 2016, 15:14) реч... Jul 1 2016, 12:23   Aner QUOTE (AlexandrY @ Jul 1 2016, 16:14) ...... Jul 1 2016, 12:48 EvilWrecker ЦитатаНу есть же определенное количество успешно з... Jul 1 2016, 12:38 Hirer Цитата(EvilWrecker @ Jul 1 2016, 13:38) .... Jul 1 2016, 12:49  AlexandrY Цитата(Hirer @ Jul 1 2016, 15:49) Там гра... Jul 1 2016, 12:57   demiurg_spb Цитата(AlexandrY @ Jul 1 2016, 15:57) Да ... Jul 1 2016, 20:22 EvilWrecker ЦитатаТам графика. С обратной стороны - сплошная з... Jul 1 2016, 12:51 www... Слушайте, вы где таких олухов нашли? Можете озвучи... Jul 1 2016, 18:00 VNS Цитата(www... @ Jul 1 2016, 22:00) ...Нор... Jul 12 2016, 07:02  agregat Цитата(VNS @ Jul 12 2016, 10:02) Разработ... Jul 12 2016, 07:42   Lagman Цитата(agregat @ Jul 12 2016, 10:42) ... ... Jul 13 2016, 11:52 EvilWrecker ЦитатаОчень часто замыкать и не надо, т.к. получит... Jul 1 2016, 21:10 MiklPolikov Было бы очень полезно услышать от топикстартера, с... Jul 3 2016, 05:01  ARV Цитата(MiklPolikov @ Jul 3 2016, 09:01) Т... Jul 6 2016, 18:16 Hirer Добрый день !
Тут нарисовалось небольшое прод... Jul 14 2016, 12:41 MiklPolikov Цитата(Hirer @ Jul 14 2016, 15:41) Они пр... Jul 14 2016, 12:58  Hirer Цитата(MiklPolikov @ Jul 14 2016, 13:58) ... Jul 14 2016, 13:17   MiklPolikov Цитата(Hirer @ Jul 14 2016, 16:17) Соглас... Jul 14 2016, 13:34   agregat Цитата(Hirer @ Jul 14 2016, 16:17) Вот фр... Jul 14 2016, 13:58 prig Цитата(Hirer @ Jul 14 2016, 15:41) Добрый... Jul 14 2016, 17:19  MiklPolikov Жаль, что Hirer так и не раскрыл коммерческую тайн... Jul 14 2016, 21:33   Hirer Цитата(MiklPolikov @ Jul 14 2016, 22:33) ... Jul 15 2016, 05:07   prig Цитата(MiklPolikov @ Jul 15 2016, 00:33) ... Jul 15 2016, 12:52    MiklPolikov Цитата(prig @ Jul 15 2016, 15:52) Но что ... Jul 15 2016, 14:19    muravei Цитата(prig @ Jul 15 2016, 15:52) Финансо... Jul 16 2016, 10:34     MiklPolikov Цитата(muravei @ Jul 16 2016, 13:34) Когд... Jul 16 2016, 15:31      AlexandrY Цитата(MiklPolikov @ Jul 16 2016, 18:31) ... Jul 16 2016, 22:19 one_eight_seven ЦитатаМетодика Agile отрицает всякое ТЗ.
Невнимате... Jul 17 2016, 07:40 AlexandrY Цитата(one_eight_seven @ Jul 17 2016, 10... Jul 17 2016, 08:46  Ruslan1 Цитата(AlexandrY @ Jul 17 2016, 10:46) На... Jul 17 2016, 09:35 one_eight_seven ЦитатаЧто я невнимательно читал?
Ну есть вариант, ... Jul 17 2016, 19:00 AlexandrY Цитата(one_eight_seven @ Jul 17 2016, 22... Jul 17 2016, 19:19  Hirer Цитата(AlexandrY @ Jul 17 2016, 19:19) ..... Jul 18 2016, 04:48   MiklPolikov Цитата(Hirer @ Jul 18 2016, 07:48) Хотело... Jul 18 2016, 15:42  one_eight_seven Цитата(AlexandrY @ Jul 17 2016, 22:19) А ... Jul 18 2016, 15:54 VNS Цитата(one_eight_seven @ Jul 17 2016, 22... Aug 20 2016, 03:28 Hirer Чтобы более полно проконсультироваться на форуме п... Jul 19 2016, 05:50 adnega Цитата(Hirer @ Jul 19 2016, 08:50) Новый ... Jul 19 2016, 06:34 prig Цитата(AlexandrY @ Jul 17 2016, 11:46) ..... Jul 19 2016, 10:29 TSerg Я как представил разработку авианосца и всего его ... Jul 20 2016, 11:00 Elsystems Цитата(Hirer @ Jul 1 2016, 09:38) Каким о... Aug 23 2016, 04:43 Kabdim Фееричная помесь стиля кодирования и запретов на о... Aug 23 2016, 08:27 AlexandrY Цитата...Подобный документ можно прикрепить прилож... Aug 23 2016, 09:10  zltigo QUOTE (AlexandrY @ Aug 23 2016, 12:10) Са... Aug 23 2016, 09:16  Kabdim Цитата(AlexandrY @ Aug 23 2016, 12:10) Са... Aug 23 2016, 10:56 Elsystems Непонятно еще что понимается под "качественны... Aug 23 2016, 10:34 MiklPolikov Цитата(Elsystems @ Aug 23 2016, 13:34) По... Aug 26 2016, 15:20  Elsystems Цитата(MiklPolikov @ Aug 26 2016, 18:20) ... Aug 26 2016, 17:21 BackEnd Цитата(MiklPolikov @ Aug 26 2016, 15:20) ... Aug 27 2016, 13:46 MiklPolikov Вот тут толковый перечень правил.
"10 правил,... Aug 28 2016, 08:24  VNS Цитата(MiklPolikov @ Aug 28 2016, 12:24) ... Aug 29 2016, 07:07
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|