|
ДВОЕ ИЗ ЛАРЦА, Квалификация исполнителей. Качественный программный код. |
|
|
|
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. Спасибо за терпение, проявленное при прочтении текста выше
|
|
|
|
|
 |
Ответов
(15 - 29)
|
Jul 1 2016, 08:54
|
Участник

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

|
Цитата(EvilWrecker @ Jul 1 2016, 09:42)  Это не альтиум а скорее всего пикад. Тогда случай клинический совсем  картинка выше - из PCAD, да. Но разводил в Альтиуме. Цитата(iosifk @ Jul 1 2016, 09:09)  ... Мало того, я бы сказал, что эту ситуацию Вы сами и спланировали заранее. Было ли составлено подробное ТЗ? Вы довели до исполнителей ДОКУМЕНТ, в котором бы было написано, ЧЕМ ЗАКАНЧИВАЕТСЯ (какими документами и файлами) их работа? ... По каким критериям Вы брали на работу исполнителей? Какие документы они выставили в подтверждение своей квалификации? Кто из вас несет ответственность за применение "ломаный IAR"? Где гарантии, что он будет работать правильно? ... у каждого исполнителя была рабочая тетрадь, как на военной кафедре. Т.е. прошнурованная, с полями, с пронумерованными страницами. Все расчеты, осциллограммы, все абсолютно записывалось и приклеивалось. А руководитель темы проверял раз в день или раз в 2 дня. Хозяин проверял раз в неделю... Вот Вам - ISO9001 со всем его звериным оскалом.. Соглашусь с Вами, особенно - про тетрадь. Самый четкий и наглядный индикатор "деятельности". К сожалению исполнителей выбирал не я лично. Цитата(spectr @ Jul 1 2016, 08:12)  Я так понимаю, никаких промежуточных точек приемки кода и схемоты не было? Ведь если бы были, то проблемы обнаружились бы еще на начальных этапах. Именно так. Определен был только финал. Цитата(spectr @ Jul 1 2016, 08:50)  OFF: Не могу не вспомнить прогрессивные методы воспитания: Так ведь взрослые люди  . А программист даже что-то преподает. Цитата(AlexandrY @ Jul 1 2016, 09:12)  ... Но он еще и запрограммировать эту плату сам хотел. Типа у Microchip-а же всего 33 команды. Чё там думать. Только она почему-то все время сбивалась и не тянула мощность. За месяц и круглую сумму заказчику все было переделано. Наверное это действительно правильное решение. Я подумаю, спасибо.
|
|
|
|
|
Jul 1 2016, 08:56
|
Участник

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

|
Цитата(spectr @ Jul 1 2016, 08:18)  Иные программисты могут долгое время нажимать на кнопочки со сложными щщами (и вы не будете их сильно трогать - "ведь вроде работают же"), а по факту - пшик. Это я еще интерфейс его десктоп-приложения не показал  (служебная тайна)
|
|
|
|
|
Jul 1 2016, 08:59
|
Участник

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

|
Цитата(EvilWrecker @ Jul 1 2016, 09:26)  ... Теперь позвольте резюмировать - я бы сказал, что будь все эти исполнители трижды непробиваемым дном из района Марианской впадины, вина в первую очередь лежит на вас(на "манагере")- поскольку именно манагер допустил отбор такого персонала, оценку, приемку и пр. Быть менеджером проекта очень тяжело и вас можно понять если такого опыта ранее не было- но как говорится, незнание законов не освобождает от ответственности. Я это понимаю. Следующий проект учтет все замечания и рекомендации этой ветки.
|
|
|
|
|
Jul 1 2016, 09:00
|

ядовитый комментатор
     
Группа: Свой
Сообщений: 2 765
Регистрация: 25-06-11
Пользователь №: 65 887

|
Цитата Когда руками делать не получается, два пути - в начальники или преподавать Золотые слова!(с) Цитата Конденсаторы на кварц не есть необходимость. Здесь опыт нужен. Если говорят что работает, то надо искать доказательств, что действительно работает, а требовать кварц. Дык, петрович в гараже "запустил" плату- в смысле, самопальный программатор ее видит и программирует. Исчерпывающие доказательства же, разве нет?
|
|
|
|
|
Jul 1 2016, 09:02
|
Участник

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

|
Цитата(AlexandrY @ Jul 1 2016, 10:01)  ... И вам напрягаться не надо и они бы сами тут постили друг на друга, а не вы на них.  Оптимально и надежно, но - дорого !  Отнюдь - я сам по себе "пара". И электроника и программирование. Но раздвоением личности не страдаю
Сообщение отредактировал Hirer - Jul 1 2016, 09:05
|
|
|
|
|
Jul 1 2016, 09:05
|
Знающий
   
Группа: Свой
Сообщений: 790
Регистрация: 6-02-14
Из: Омск
Пользователь №: 80 379

|
Цитата(Hirer @ Jul 1 2016, 09:38)  Как при наличии двух исполнителей найти ответственного за косяк и доказать, что это именно он а не другой ? Каким образом добиться от программиста качественного программного кода ? 1. Назначить старшего. 2. Провести входное тестирование.
|
|
|
|
|
Jul 1 2016, 09:26
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(Hirer @ Jul 1 2016, 12:02)  Оптимально и надежно, но - дорого !  Я напишу еще немного о том, что такое "дорого"... Очень часто, когда я работал на выставках, приходилось выслушивать такое: "ваша микросхема дорогая, она на 20 центов дороже, чем ..." Тогда я задавал встречный вопрос: "а сколько стоит отказ вашего изделия?" Обычно начинали так: "ну, 10 долл плата, еще 30-50 детали ..." Поправляю: "да нет, не себестоимость, а результат отказа. Вот например, аппаратура управления газоперекачивающего агрегата отказывает и без газа остается промышленный район. Изготовитель получает судебный иск за простой заводов. Или иск за разрушение Саяно-Шушенской ГЭС. Или за отказ тормозов на грузовике и необходимости замены аппаратуры на тысячах машин"... И вот с этой точки зрения затраты на разработку смотрятся совсем по-другому. Ибо лучше один раз сделать хорошо, чем потом ездить по заказчикам и за свой счет исправлять огрехи проектирования... Или менять сгоревшее оборудование. А то ведь еще бывает, что ухари код напишут и слиняют... "Договор закончился"... Т.е. им выгодно сделать работу, скажем так как в переходном процессе - на 2-3 "тау", когда работает на уровне 95%... А вот вылавливание ошибок, чтобы было на 99,99% - это сколько "тау" нужно? И само по себе это "тау" должно быть другим... PS И еще... Любимый лозунг многих начальников: "Жарьте ребята, масло подвезут!!!"
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Jul 1 2016, 10:00
|
Участник

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

|
Цитата(agregat @ Jul 1 2016, 10:05)  1. Если есть два исполнителя, то, как в армии, назначается старший, и он отвечает за результат. И пофигу кто это будет электронщик или программист. Старший давит на младшего до получения нужного результата ... Все же думаю "не пофигу". В данном случае важнее опыт или же чувство ответственности. Они кстати почти вдвое по возрасту отличаются ... Нет, не угадали  - старше электронщик. Цитата(Maverick @ Jul 1 2016, 10:35)  ... Тогда каждый участник сможет писать отчеты и загружать файлы Отчеты - это "не их религия". Так и не убедил программиста сделать детальное логирование в десктоп-приложении для последующего анализа. Цитата(iosifk @ Jul 1 2016, 10:26)  ... Тогда я задавал встречный вопрос: "а сколько стоит отказ вашего изделия?" ... И вот с этой точки зрения затраты на разработку смотрятся совсем по-другому. Ибо лучше один раз сделать хорошо, чем потом ездить по заказчикам и за свой счет исправлять огрехи проектирования... Золотые слова !
|
|
|
|
|
Jul 1 2016, 10:01
|

ядовитый комментатор
     
Группа: Свой
Сообщений: 2 765
Регистрация: 25-06-11
Пользователь №: 65 887

|
Цитата Я напишу еще немного о том, что такое "дорого"... Очень часто, когда я работал на выставках, приходилось выслушивать такое: "ваша микросхема дорогая, она на 20 центов дороже, чем ..." Тогда я задавал встречный вопрос: "а сколько стоит отказ вашего изделия?" Обычно начинали так: "ну, 10 долл плата, еще 30-50 детали ..." Поправляю: "да нет, не себестоимость, а результат отказа. Вот например, аппаратура управления газоперекачивающего агрегата отказывает и без газа остается промышленный район. Изготовитель получает судебный иск за простой заводов. Или иск за разрушение Саяно-Шушенской ГЭС. Или за отказ тормозов на грузовике и необходимости замены аппаратуры на тысячах машин"... К этому полностью правдивому и точно отражающему реалии комментарию сложно что-либо добавить, напомнило мне также манагеров "выше среднего звена" у которых по профилю в ликендине видно что постоянно прыгали туда сюда- а все отчего? Оттого что "необратимо улучшили" девайс/процесс/команду и в краткосрочной перспективе это дало некий прирост по деньгам, но вот в долгосрочной перспективе.... Я тут много говорил о гаражных петровичах, что например могло навести на мысли об уровне образования- тут надо сказать ситуация не совсем обычная: как правильно отметил MrYuran "Когда руками делать не получается, два пути - в начальники или преподавать". Меня в свое время сильно забавляло наличие пхд/мастера у всех этих армий индусов и китайцев с одной стороны, и совершенно абсурдные требования к наличию этого самого уровня образования(пхд/мастер) для разводки тех же плат с другой- а потом стало понятно: смотришь на платы всех этих доморощенных академиков, у многих их которых есть аж CID, или не дай бог CID+, а толку? Немощи, многие из которых даже референс без ошибок не могут скопировать. Хотя тут все как раз понятно- втирать свои "успехи" глупым бабенкам из HR достаточно просто, дабы потом городить удивительные дизайны под присмотром эффективных менеджеров. Вот и набирают себе людей у которых PhD чтобы сделать микроконтроллерные 4х слойки ну хоть как-то, а то у же и выбирать то не из чего- некуда деваться.
|
|
|
|
|
Jul 1 2016, 10:10
|
Местный
  
Группа: Свой
Сообщений: 307
Регистрация: 14-03-06
Пользователь №: 15 243

|
Цитата(iosifk @ Jul 1 2016, 11:09)  Как Ваши подчиненные отчитывались о том, что сделано за определенный период времени. Например, в частной зарубежной фирме, где я работал, у каждого исполнителя была рабочая тетрадь, как на военной кафедре. Т.е. прошнурованная, с полями, с пронумерованными страницами. Все расчеты, осциллограммы, все абсолютно записывалось и приклеивалось. А руководитель темы проверял раз в день или раз в 2 дня. Хозяин проверял раз в неделю... Вот Вам - ISO9001 со всем его звериным оскалом.. А где можно почитать о подобном организации рабочего процесса?
|
|
|
|
|
Jul 1 2016, 10:16
|

я только учусь...
     
Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839

|
Цитата(Hirer @ Jul 1 2016, 13:00)  Отчеты - это "не их религия". Так и не убедил программиста сделать детальное логирование в десктоп-приложении для последующего анализа. Не понял... Не выполненной задачи - нет денег Все просто Кто платит, тот и балом правит Хотя здесь все зависит от начальных условий постановки задачи, т.е. ТЗ на разработку
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|