Jump to content

    

Как тестировать разработанную электронику и встраиваемое ПО?

Мой начальник с чего-то взял, что макетирование электроники - вчерашний день, хочет рабочую схему с первого раза.

Хотя в прошлом году всё было нормально. Макетировали, раза с 3-4 получалась рабочая схема, потом думали, как ее уместить в требуемые габариты. Никакие доводы не действуют. Видимо, это с него сверху спрашивают.

 

Что скажете, господа разработчики? Не пора ли мне искать новую работу?

 

P.S. Текущий проект - DCDC 200-450V -> 12V 250A, ARM STM32.

 

есть такая книга: Роберт И. Саттон - Не работайте с мудаками

Или вот это видео пособие: https://www.youtube.com/watch?v=N-GCWx5tTJs

 

Господа, вопрос - увязывали ли вы ваши системы тестирования (End-of-line) с JIRA/SVN? Например, чтобы автоматически генерировать отчёты? Или складывать бинарники готовые к прошивке?

Вопрос также с бухгалтерией: Привязка к 1С? (Индекс изделия к прошивке, автоматическая генерация прошивки с проверенного Tag SVN, например )?

 

Share this post


Link to post
Share on other sites
Смысл в том, что вы не можете заранее точно установить (определить, зафиксировать) сколько итераций реально потребуется.

Можете только оценить приближенно, с какой-то долей вероятности. Можете и должны стремиться к снижению количества этих итераций.

Все доступными методами, которые вы выше перечислили.

Но! Точно определить заранее сколько итераций реально будет до по получения результата - вам не дано. И ни кому не дано.

Вы так говорите, как будто я этого не знаю. Я это знаю и прекрасно понимаю.

Только смысл моего посыла был в другом - вы же написали выше:

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

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

Но на самом деле, как я написал выше, на количество итераций в итоге влияет немало факторов, в том числе и подконтрольных человеку. И при правильном подходе к R&D можно получить достаточно высокую вероятность завершения проекта за одну итерацию, а при неправильном сделать так, что и за 10 ничего не выйдет. Естественно, все это относится к конкретному проекту. Для каких-то проектов и 10 итераций будет хорошим результатом, но в этом случае худший вариант может быть сотни и тысячи.

Share this post


Link to post
Share on other sites
Только смысл моего посыла был в другом ...

Предлагаю остановить этот поток сознания, и дать ваше определение понятия "итерация".

Поскольку как мне кажется никто не понимает о чем вы. Про умный дом?

Так там что ни сделаешь всё пойдет, "итерации" теряют смысл ибо они и есть цель.

 

Но есть проекты где какие-то итерации в принципе невозможны, например система управления промышленным объектом.

Share this post


Link to post
Share on other sites
Я б разработчика, который мне такое заявил, в шею бы погнал. Точнее объяснил бы, и если до него не дойдет с первого раза, тогда бы погнал.

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

Ну и как (и кто это будет делать) оБЪЕКТИВНО оценить "реализуемость", "посставленность", "чёткость", "сложность", "риски", "квалификацию"?

 

А потом. Можно испугавшись начальства сделать и с одной итерации. Но впоследствие "недоведенность/недовылизанность" девайса приведет к таким последствиям (причем, ЧТО САМОЕ СТРАШНОЕ, не сразу, а спустя какое-то время. Такая вот мина замедленного действия), что "мама роди меня обратно".

 

Хотя, конечно, делать несколько итераций для девайсов уровня "два транзистора три резистора" - маразм. Но я думаю с топикстартера рабовладелец требует "делать за 1 итерацию" не такие "изделия"

Edited by Николай Семёнович

Share this post


Link to post
Share on other sites
Разработчику может и казаться, что количество итераций определяется именно господом-богом.

Разработчику и/или его начальнику может казаться все, что угодно. Но, в конечном счете, дело обстоит именно так. Нравится Вам или нет.

 

Разработчику, в принципе, вообще наплевать - чем больше итераций, тем больше работы, тем слаще жизнь.

Это не разработчик. Вот таких надо гнать в шею без всяких итераций.

 

 

Share this post


Link to post
Share on other sites
Никакой вы не начальник и менеджером вам не стать с такими рассуждениями. Из написанного вами, занимаетесь только обраубанием мотивации работников. Совдепия и только.

Точно.

Некоторые "начальники" думают что достаточно погрозить пальцем и нахмурить лицо и подчиненный сразу решит задачу. "С первой же итерации".

С таким подходом можно управлять траншеи копателями, но не разработчиками сложного хайтека

Share this post


Link to post
Share on other sites
Предлагаю остановить этот поток сознания, и дать ваше определение понятия "итерация".

Поскольку как мне кажется никто не понимает о чем вы. Про умный дом?

Так там что ни сделаешь всё пойдет, "итерации" теряют смысл ибо они и есть цель.

Причем здесь "умный дом"? Кстати насчет "итераций" там - да там их поле непаханное, особенно когда читаешь истории про попадалово: один начал на ардуино, все сгорело от молнии, выкинул, купил ПЛК. Другой начал на одном контроллере, думал, что хватит возможностей, не хватило ног - начал все сначала с новым контроллером, так как старый уже не выпускают. Третий начал пять лет назад, закончил, сейчас забыл, что делал, так как документации нет. Четвертый мучался с LCD дисплеем полгода, потом понял, что тач-скрин обойдется дешевле...Хохма в общем. Чем вам не итерации?

 

Но есть проекты где какие-то итерации в принципе невозможны, например система управления промышленным объектом.

Конечно, но этому есть причина - тот кто сделает за 2 итерации просто вылетит с рынка, так как не влезет ни по срокам, ни по стоимости, и никакому заказчику на его объекте эксперименты ни к чему.Но если разбивать такую разработку на несколько этапов, то на отдельных из них будут итерации, как ни крути. Например при пуско-наладке часто надо внести изменения в код или перенастроить параметры и провести тесты. Это итерации, количество которых можно уменьшить, например, путем отладки на макете, моделирования/симуляции, или HIL или на основании опыта.

Share this post


Link to post
Share on other sites
Конечно, но этому есть причина - тот кто сделает за 2 итерации просто вылетит с рынка, так как не влезет ни по срокам, ни по стоимости, и никакому заказчику на его объекте эксперименты ни к чему.

Чушь. Вы видимо просто не в теме

Мы регулярно пользуемся услугами "гастарбайтеров" для разработки наших АСУТП.

И они делают их лет по 5-10. Переделывая все раз по 8. И все равно системы оказываются до конца не доведенными

 

моделирования/симуляции

Как правило, использование "моделирования/симуляции" говорит о низкой квалификации разработчика.

Опытный разраб и без "симуляции" и прочего шаманства представляет себе как всё будет работать.

А неопытный и с "симуляцией" лажу делает.

 

Я имею в виду случаи когда начинают симулировать схемы уровня "два транзистора три резистора".

А сложные схемы как не симулируй, все равно что-то не учтёшь.

Поэтому только макет.

Кроме того, макет сделать можно за пару часов, а модель составлять будешь месяц

 

кроме термина "кол-ва итераций" можно говорить ещё про "кол-во вариантов" решения.

Их, по хорошему, должно быть несколько, на разной элементной базе.

 

А с нас начальство требует, чтобы сразу был один единственный правильный вариант и бабки дает только на один вариант. Вплоть до последнего резистора все учитывается

 

Хотя по хорошему нужно было бы попробовать разные решения на разных компнентах

Edited by Николай Семёнович

Share this post


Link to post
Share on other sites
Это итерации, количество которых можно уменьшить, например, путем отладки на макете, моделирования/симуляции, или HIL или на основании опыта.

Т.е. практически любая работы у вас может называться итерацией.

А я бы называл итерациями инкрементальные изменения аппаратной части. К программной части даже бы не применял такой термин.

А если что-то переделывают с новой схемной структурой то это не итерация, а полный облом за который надо увольнять.

 

Скажем если взять пример того же источника питания с которого все началось я бы понял итерации в том смысле,

что сначала делают первую рабочую версию, но там допустимы ошибки исправляемые монтажниками.

Следующие бы версии исправляли бы обнаруженные ошибки и дополняли функциональность.

Но первая же версия должна быть рабочей, которую можно продать. А не монстр на макетке, сделанный на коленке с соплями и прочими артефактами.

 

 

Share this post


Link to post
Share on other sites
А если что-то переделывают с новой схемной структурой то это не итерация, а полный облом за который надо увольнять.

для ПО есть мажорные, минорные релизы и патчи. По вашему, итерация для изделия - это только патчи?

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

Share this post


Link to post
Share on other sites
Скажем если взять пример того же источника питания с которого все началось я бы понял итерации в том смысле,

что сначала делают первую рабочую версию, но там допустимы ошибки исправляемые монтажниками.

Следующие бы версии исправляли бы обнаруженные ошибки и дополняли функциональность.

Но первая же версия должна быть рабочей, которую можно продать. А не монстр на макетке, сделанный на коленке с соплями и прочими артефактами.

Я думаю применительно к теме DC/DC преобразователя под одной итерацией понимается расчет схемы, элементов, разработка и изготовление печатной платы(необходимо, так как трассировка имеет влияние), распайка и тестирование. От начала и до конца. Наверное около месяца на все про все.

И по словам автора выясняется, что после всех этих действий DC/DC не работает с первого раза или сгорает. То есть плату в топку, компоненты в топку, и начинаем следующую итерацию с чистого листа с новой схемой.

Вот так и получается 3-4 итерации и это только на этапе макетирования.

 

А если что-то переделывают с новой схемной структурой то это не итерация, а полный облом за который надо увольнять.

Так вот этого и хочет избежать тот начальник, который хочет сделать "за одну итерацию"

Share this post


Link to post
Share on other sites
Так вот этого и хочет избежать тот начальник, который хочет сделать "за одну итерацию"

Тогда я начальника полностью понимаю. Надо быть конкретно криворуким чтобы не сделать работающий AC/DC ( о нем вроде шла речь) с первого раза.

Тонны референс дизайнов,

Готовых блоков море.

Буквально у меня сейчас на столе такой на 100 A, с возможностью включения в параллель. Т.е. хоть 500 А могу изобразить.

Нарисуй на плате несколько вариантов если сомневаешься, предусмотри установку разных вариантов силовых элементов, поставь нормальный микроконтроллер с диагностикой и телеметрией и дело в шляпе.

Чего рассусоливать про итерации?

Share this post


Link to post
Share on other sites

Вот видите, а тут народ про плохих начальников и волю всевышнего рассуждает.

Share this post


Link to post
Share on other sites
Нарисуй на плате несколько вариантов если сомневаешься

Тут на один вариант макета на ЭРЭ денег не дают, а ты говоришь "несколько вариантов".

Да если я такое скажу начальнику - меня сразу же уволят.

 

По деньгам "Несколько вариантов" и "несколько итераций" с точки зрения начальства "те же яйца, только вид сбоку"

Share this post


Link to post
Share on other sites

Когда делается заказная разработка, под конкретного заказчика, может возникнуть естественное желание сэкономить на итерациях в процессе разработки. В этом случае, оно вполне оправдано. Себестоимость проекта существенно зависит от стоимости, собственно, самого процесса разработки - затраченного времени и количества итераций, в том числе. Стоимость изготовления в производстве единичного заказного экземпляра (или совсем небольшой партии) не столь критична для проекта. Как правило, задача жесткой минимизации себестоимости его изготовления не актуальна.

 

Когда делается серийная разработка, для продажи на рынке, себестоимость изготовления изделия в производстве выходит на первый план. А стоимость самого процесса разработки отходит на второй. Она уже не столь критична, поскольку дает не сопоставимо меньший вклад в себестоимость единичного экземпляра серийного изделия, в отличие от заказной разработки. Но требования к себестоимости в производстве серийного экземпляра резко возрастают. Необходимо обеспечить минимальную (конкурентоспособную) себестоимость, при достижении заданных технических характеристик. Пока необходимое соотношение цена/качество не достигнуто - считайте, что результата нет. В этом случае, жестко экономить на самом процессе разработки, в том числе на итерациях, не просто бессмысленно - вредно. Что толку от такой экономии, если в результате получилось неконкурентоспособное изделие, которое никто не купит. В итоге, в лучшем случае, сэкономите выброшенные на ветер деньги.

Edited by @Ark

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this