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

Вполне можно считать строки кода.
С экранными формами тоже самое. Можно считать сколько точек ввода и вывода есть в форме, и опираясь на опыт прошлых проектов посчитать сколько занимает в конечном итоге одна точка ввода/вывода (ну там кнопочка или цифровой индикатор или числовой параметр).
С МК все тоже самое. Единственное чего не рекомендуется делать с МК это слушать грамотеев, которые будут убеждать Вас работать на языке ассемблера. Как только позволите, все туши свет, станете рабом этого грамотея. Потому что только он разберется в том коде, который этот грамотей наворотил.
А если в МК умеренной сложности алгоритм на семафорах, почему нет. Все точно также нормируется. Надо только один раз этот стояк создать, по которому крутится основной цикл и дальше останется только добавлять, убавлять ветви с конкретными задачами.
Экранные формы. На первый взгляд создать удобную форму задача для дизайнера. На самом деле нет. Надо только найти человека, который может быстро размещать параметры по окну так, чтобы ими было удобно пользоваться. Одним это дано, другим нет.
Иной гуру такое на экране наворотит, убить мало, но нельзя, гуру же, с глубочайшими познаниями. Вот и отправить его туда...к знаниям.
А на формы посадить человека который может. Искать такого надо среди тех, кто по жизни все упрощает и старается простым языком объяснять сложные вещи. Такие кадры и форму сделают такую, что неграмотные тетки враз начнуть доменными печами рулить.
Но вроде все. Не усложняйте. Труд программиста неоценимый ... это миф. Надо только иметь в наличии отчеты по прошлым проектам.
Если таких отчетов нет, возьмите текущий проект в системе контроля версий, и проанализируйте чего делал данный индивид с проектом каждый день. Работа муторная, но после того как Вы загоните результаты простых подсчетов в Excel за хотя бы месяц, удивитесь насколько люди работают монотонно, в том смысле, что объем кода ежедневно в среднем один и тот же. Независимо ни от чего.
Всеобщая дебилизация не повод наносить ущерб своему здоровью.