Наша текущая кодовая база не очень хорошо структурирована, и мы смотрим как на то, как ее немедленно улучшить, [...] так и на подход к архитектуре, управляемой моделями, когда мы моделируем и проектируем все сначала с помощью uml, а затем генерируем код из этой модели.
Во-первых, здорово, что вы и ваша компания понимаете, что в вашем процессе разработки программного обеспечения есть некоторые недостатки и есть желание улучшать.
Однако похоже, что впереди еще много работы и многое нужно улучшить в разных направлениях. Мой первый совет - не пытаться изменить все сразу. Люди обычно не хотят изменений, и каждому нужно время, чтобы переварить новые изменения. Также очень важно выработать общее понимание того, что необходимо настроить. Это общее понимание не будет создано за один день. Такое изменение требует среднесрочных или долгосрочных обязательств.
Затем, что касается MDA, важно отметить, что это требует некоторой дисциплины. В зависимости от вашей команды, первая часть может хорошо работать над этим в первую очередь, чтобы подготовить следующий шаг, который будет представлять MDA. Я говорю это, потому что вы говорите, что у вас «ковбойский» процесс, а это значит, что люди, вероятно, привыкли делать все, что хотят, - для MDA это недопустимо.
Затем следует введение самого MDA. Существуют различные способы выполнения MDA (и я не буду здесь подробно останавливаться на этом), но все еще преобладающий способ сделать это - так называемая разработка туда и обратно. Тогда самая большая проблема - сохранить синхронизацию модели и источника.
(Я считаю, что MDA приводит к положительной окупаемости инвестиций только в том случае, если модель может быть повторно использована для нескольких проектов. Это означает, что вы должны были определить, что вы делаете снова и снова, и иметь достаточно четкое представление о проблеме, чтобы иметь возможность создать достаточно полную модель и преобразования, которые вы можете повторно использовать в проекте. Я не верю, что MDA работает, если каждый проект полностью отличается; время, потраченное на правильную модель, преобразование и т. д., будет больше, чем работает только с кодом и документацией.)
Другой подход заключается в том, чтобы не выполнять MDA полностью - вы не генерируете код из модели - но чтобы повысить осведомленность людей о проблемах моделирования и проектирования, например с UML. Таким образом, вы не столкнетесь с проблемой «туда-обратно», но при этом повысите зрелость процесса разработки программного обеспечения.
person
ewernli
schedule
10.05.2010