Здравствуйте, Dufrenite, Вы писали:
D>Здравствуйте, netch80.
D>Окей, спасибо. Буду знать. D>Хотя вообще-то всегда считал, что связка такая: D>Бизнес драйвер -> Архитектор -> Кодер D>И названные вами обязанности распределяются между архитектором и кодером. D>Что-же: век живи — век учись...
Формально, кодер может не понимать ничего из того, что нужно алгоритмисту. Ему сказали вызвать tree_open() — он и зовёт. Аналогично для архитектора — его дело решить "вот тут надо поставить промежуточного агента" или "не разделив X и Y мы не получим масштабируемую архитектуру".
В варианте где обязанности алгоритмиста распределяются между архитектором и кодером — просто не выделена одна существенная промежуточная роль. Кстати, её "распределяемость" показывает, что она таки есть:)
Но в этом всём есть один существенный момент — полный комплект ролей, выделяемых и формально, и административно (вплоть до отдельных людей или отделов) — допустим, применим и оправдан далеко не всегда. На практике значительно чаще роли совмещаются, чем детально разделяются. И выделение отдельного алгоритмиста — вариант, насколько я вижу, весьма редкий. Чаще это считается "свойством" того или иного программиста: например, Вася алгоритмист, ему можно задачу поставить чуть менее детально, а Петя — нет, он умеет только кодить и какую реализацию он выберет — зависит от угла наклона левой пятки в момент просыпания, поэтому за него должны это решить или Вася, или архитектор.