Разные методологии для разных доменов?

(Этот вопрос отчасти был вдохновлен тем, что Дональд Кнут отрицал экстремальное программирование здесь)

Я недавно читал об Agile и уже несколько лет интересуюсь экстремальным программированием. Но мне стало интересно, насколько подходящими могут быть эти методологии в определенных «крайних» проблемных областях - например, при кодировании для космические шаттлы.

Что вы думаете? Несовместимы ли некоторые области по своей природе с «современными» методологиями? Есть ли четкая метрика для сопоставления данной области с лучшей методологией?


person Benjol    schedule 04.02.2010    source источник
comment
эта тема слишком «большая» для SO.   -  person Mitch Wheat    schedule 04.02.2010


Ответы (4)


Одним словом, нет. Не для каждого домена.

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

Многие другие домены / приложения не могут оправдать такие расходы.

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

Как обычно, на подобный вопрос ответ будет: «Это зависит» ... слишком много факторов поставлено на карту, чтобы дать общий ответ по каждой области.

person Oded    schedule 04.02.2010

Я разговаривал с людьми, которые помогали программировать космические миссии, такими как «Кассини» и марсоходы. Каждая строка кода проверяется всей командой. Все практики гибкой разработки работают как итерационные циклы. В конце каждого цикла владельцы продуктов выбирают следующий модуль, который они хотят видеть следующим из журнала, или они могут вставить что-то совершенно новое. В критических системах, где нет права на ошибку, все необходимые функции и правила системы четко устанавливаются довольно рано. Это означает, что гибкие методы, вероятно, не подойдут.

person Jay    schedule 04.02.2010

Я думаю, что многим людям комфортно с методологиями, которые они используют, и они закрыты для новых методологий. Даже для крайних проблемных областей есть явные преимущества TDD и других методов Agile. Очевидно, что в подобных пространствах должен быть проведен значительный объем тестирования, особенно по сравнению с менее важными приложениями.

Независимо от того, в какой области вы находитесь, предварительные разработки, как правило, приводят к серьезным сбоям, которые значительно изменятся в процессе разработки. Внедрение Agile-практик (возможно, даже их гибридов или Waterfall и Agile), безусловно, принесет мне пользу.

person Keith Rousseau    schedule 04.02.2010

Как и при использовании правильного инструмента для работы, я говорю, что используйте правильную методологию для работы. Нет вообще правильных ответов / парадигм / инструментов / и т. Д. ... все должно быть помещено в контекст.

person cripox    schedule 07.07.2010