реклама на сайте
подробности

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


Участник
*

Группа: Участник
Сообщений: 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. Спасибо за терпение, проявленное при прочтении текста выше sm.gif
Go to the top of the page
 
+Quote Post
6 страниц V  < 1 2 3 4 > »   
Start new topic
Ответов (15 - 29)
Hirer
сообщение Jul 1 2016, 08:54
Сообщение #16


Участник
*

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



Цитата(EvilWrecker @ Jul 1 2016, 09:42) *
Это не альтиум а скорее всего пикад. Тогда случай клинический совсем biggrin.gif


картинка выше - из PCAD, да. Но разводил в Альтиуме.

Цитата(iosifk @ Jul 1 2016, 09:09) *
... Мало того, я бы сказал, что эту ситуацию Вы сами и спланировали заранее.
Было ли составлено подробное ТЗ?
Вы довели до исполнителей ДОКУМЕНТ, в котором бы было написано, ЧЕМ ЗАКАНЧИВАЕТСЯ (какими документами и файлами) их работа?
...
По каким критериям Вы брали на работу исполнителей? Какие документы они выставили в подтверждение своей квалификации?
Кто из вас несет ответственность за применение "ломаный IAR"? Где гарантии, что он будет работать правильно?
...
у каждого исполнителя была рабочая тетрадь, как на военной кафедре. Т.е. прошнурованная, с полями, с пронумерованными страницами. Все расчеты, осциллограммы, все абсолютно записывалось и приклеивалось. А руководитель темы проверял раз в день или раз в 2 дня. Хозяин проверял раз в неделю... Вот Вам - ISO9001 со всем его звериным оскалом..


Соглашусь с Вами, особенно - про тетрадь. Самый четкий и наглядный индикатор "деятельности".
К сожалению исполнителей выбирал не я лично.


Цитата(spectr @ Jul 1 2016, 08:12) *
Я так понимаю, никаких промежуточных точек приемки кода и схемоты не было? Ведь если бы были, то проблемы обнаружились бы еще на начальных этапах.


Именно так. Определен был только финал.


Цитата(spectr @ Jul 1 2016, 08:50) *
OFF: Не могу не вспомнить прогрессивные методы воспитания:


Так ведь взрослые люди sm.gif. А программист даже что-то преподает.


Цитата(AlexandrY @ Jul 1 2016, 09:12) *
...
Но он еще и запрограммировать эту плату сам хотел. Типа у Microchip-а же всего 33 команды. Чё там думать.
Только она почему-то все время сбивалась и не тянула мощность.
За месяц и круглую сумму заказчику все было переделано.


Наверное это действительно правильное решение. Я подумаю, спасибо.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jul 1 2016, 08:56
Сообщение #17


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Hirer @ Jul 1 2016, 11:54) *
Так ведь взрослые люди sm.gif. А программист даже что-то преподает.

Когда руками делать не получается, два пути - в начальники или преподавать


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Hirer
сообщение Jul 1 2016, 08:56
Сообщение #18


Участник
*

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



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


Это я еще интерфейс его десктоп-приложения не показал sm.gif (служебная тайна)
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jul 1 2016, 08:58
Сообщение #19


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(Hirer @ Jul 1 2016, 11:41) *
Конденсаторы на кварц тоже не ставят. Аргумент тот же - "и так работает".


Конденсаторы на кварц не есть необходимость. Здесь опыт нужен.
Если говорят что работает, то надо искать доказательств, что действительно работает, а не требовать кварц.
Go to the top of the page
 
+Quote Post
Hirer
сообщение Jul 1 2016, 08:59
Сообщение #20


Участник
*

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



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


Я это понимаю. Следующий проект учтет все замечания и рекомендации этой ветки.
Go to the top of the page
 
+Quote Post
EvilWrecker
сообщение Jul 1 2016, 09:00
Сообщение #21


ядовитый комментатор
******

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



Цитата
Когда руками делать не получается, два пути - в начальники или преподавать


Золотые слова!(с)

Цитата
Конденсаторы на кварц не есть необходимость. Здесь опыт нужен.
Если говорят что работает, то надо искать доказательств, что действительно работает, а требовать кварц.


Дык, петрович в гараже "запустил" плату- в смысле, самопальный программатор ее видит и программирует. Исчерпывающие доказательства же, разве нет?biggrin.gif
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jul 1 2016, 09:01
Сообщение #22


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(Hirer @ Jul 1 2016, 11:54) *
Наверное это действительно правильное решение. Я подумаю, спасибо.


Тут думать нечего, нанимать надо было не двоих, а сразу две пары.
И тогда все само устаканится.
И вам напрягаться не надо и они бы сами тут постили друг на друга, а не вы на них. biggrin.gif

Или вы есть из той второй пары? А? Признайтесь!
Go to the top of the page
 
+Quote Post
Hirer
сообщение Jul 1 2016, 09:02
Сообщение #23


Участник
*

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



Цитата(AlexandrY @ Jul 1 2016, 10:01) *
...
И вам напрягаться не надо и они бы сами тут постили друг на друга, а не вы на них. biggrin.gif


Оптимально и надежно, но - дорого ! sm.gif
Отнюдь - я сам по себе "пара". И электроника и программирование. Но раздвоением личности не страдаю sm.gif

Сообщение отредактировал Hirer - Jul 1 2016, 09:05
Go to the top of the page
 
+Quote Post
agregat
сообщение Jul 1 2016, 09:05
Сообщение #24


Знающий
****

Группа: Свой
Сообщений: 790
Регистрация: 6-02-14
Из: Омск
Пользователь №: 80 379



Цитата(Hirer @ Jul 1 2016, 09:38) *
Как при наличии двух исполнителей найти ответственного за косяк и доказать, что это именно он а не другой ?
Каким образом добиться от программиста качественного программного кода ?

1. Назначить старшего.
2. Провести входное тестирование.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Jul 1 2016, 09:26
Сообщение #25


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Hirer @ Jul 1 2016, 12:02) *
Оптимально и надежно, но - дорого ! sm.gif

Я напишу еще немного о том, что такое "дорого"...
Очень часто, когда я работал на выставках, приходилось выслушивать такое: "ваша микросхема дорогая, она на 20 центов дороже, чем ..."
Тогда я задавал встречный вопрос: "а сколько стоит отказ вашего изделия?"
Обычно начинали так: "ну, 10 долл плата, еще 30-50 детали ..."
Поправляю: "да нет, не себестоимость, а результат отказа. Вот например, аппаратура управления газоперекачивающего агрегата отказывает и без газа остается промышленный район. Изготовитель получает судебный иск за простой заводов. Или иск за разрушение Саяно-Шушенской ГЭС. Или за отказ тормозов на грузовике и необходимости замены аппаратуры на тысячах машин"...

И вот с этой точки зрения затраты на разработку смотрятся совсем по-другому. Ибо лучше один раз сделать хорошо, чем потом ездить по заказчикам и за свой счет исправлять огрехи проектирования... Или менять сгоревшее оборудование.
А то ведь еще бывает, что ухари код напишут и слиняют... "Договор закончился"... Т.е. им выгодно сделать работу, скажем так как в переходном процессе - на 2-3 "тау", когда работает на уровне 95%... А вот вылавливание ошибок, чтобы было на 99,99% - это сколько "тау" нужно? И само по себе это "тау" должно быть другим...

PS И еще... Любимый лозунг многих начальников: "Жарьте ребята, масло подвезут!!!"




--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jul 1 2016, 09:35
Сообщение #26


я только учусь...
******

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



про электронщика-схемотехника здесь говорить сложно, если "трассировал" плату линиями...

Честно говоря это ужас... Не знаешь скажи, не получается скажи все мы люди.
А делать "свинью" мягко говоря не хорошо....

Про программиста - не знал архитектуры процессора и не умел программировать их - молчу иначе получу бан...

В итоге получилась не команда, а как в басне Крылова "Рак, лебедь и щука"

Если разработчики находятся на расстоянии (не в одной комнате) и нет SVN (контроля версий) можно посоветовать (крайний случай) сделать почту с открытым паролем для участников проекта.
Тогда каждый участник сможет писать отчеты и загружать файлы, благо на gmail место 15 Гбайт
И каждый из участников будет видеть работу остальных...
+ скайп или любой другой месенджер


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Hirer
сообщение Jul 1 2016, 10:00
Сообщение #27


Участник
*

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



Цитата(agregat @ Jul 1 2016, 10:05) *
1. Если есть два исполнителя, то, как в армии, назначается старший, и он отвечает за результат. И пофигу кто это будет электронщик или программист. Старший давит на младшего до получения нужного результата ...


Все же думаю "не пофигу". В данном случае важнее опыт или же чувство ответственности.
Они кстати почти вдвое по возрасту отличаются ... Нет, не угадали sm.gif - старше электронщик.


Цитата(Maverick @ Jul 1 2016, 10:35) *
... Тогда каждый участник сможет писать отчеты и загружать файлы


Отчеты - это "не их религия". Так и не убедил программиста сделать детальное логирование в десктоп-приложении
для последующего анализа.


Цитата(iosifk @ Jul 1 2016, 10:26) *
... Тогда я задавал встречный вопрос: "а сколько стоит отказ вашего изделия?"
...
И вот с этой точки зрения затраты на разработку смотрятся совсем по-другому. Ибо лучше один раз сделать хорошо, чем потом ездить по заказчикам и за свой счет исправлять огрехи проектирования...


Золотые слова !
Go to the top of the page
 
+Quote Post
EvilWrecker
сообщение Jul 1 2016, 10:01
Сообщение #28


ядовитый комментатор
******

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



Цитата
Я напишу еще немного о том, что такое "дорого"...
Очень часто, когда я работал на выставках, приходилось выслушивать такое: "ваша микросхема дорогая, она на 20 центов дороже, чем ..."
Тогда я задавал встречный вопрос: "а сколько стоит отказ вашего изделия?"
Обычно начинали так: "ну, 10 долл плата, еще 30-50 детали ..."
Поправляю: "да нет, не себестоимость, а результат отказа. Вот например, аппаратура управления газоперекачивающего агрегата отказывает и без газа остается промышленный район. Изготовитель получает судебный иск за простой заводов. Или иск за разрушение Саяно-Шушенской ГЭС. Или за отказ тормозов на грузовике и необходимости замены аппаратуры на тысячах машин"...


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

Я тут много говорил о гаражных петровичах, что например могло навести на мысли об уровне образования- тут надо сказать ситуация не совсем обычная: как правильно отметил MrYuran "Когда руками делать не получается, два пути - в начальники или преподавать". Меня в свое время сильно забавляло наличие пхд/мастера у всех этих армий индусов и китайцев с одной стороны, и совершенно абсурдные требования к наличию этого самого уровня образования(пхд/мастер) для разводки тех же плат с другой- а потом стало понятно: смотришь на платы всех этих доморощенных академиков, у многих их которых есть аж CID, или не дай бог CID+, а толку? Немощи, многие из которых даже референс без ошибок не могут скопировать. Хотя тут все как раз понятно- втирать свои "успехи" глупым бабенкам из HR достаточно просто, дабы потом городить удивительные дизайны под присмотром эффективных менеджеров. Вот и набирают себе людей у которых PhD чтобы сделать микроконтроллерные 4х слойки ну хоть как-то, а то у же и выбирать то не из чего- некуда деваться.
Go to the top of the page
 
+Quote Post
Tpeck
сообщение Jul 1 2016, 10:10
Сообщение #29


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 14-03-06
Пользователь №: 15 243



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


А где можно почитать о подобном организации рабочего процесса?
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jul 1 2016, 10:16
Сообщение #30


я только учусь...
******

Группа: Модераторы
Сообщений: 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.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post

6 страниц V  < 1 2 3 4 > » 
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 12:57
Рейтинг@Mail.ru


Страница сгенерированна за 0.01508 секунд с 7
ELECTRONIX ©2004-2016