Поскольку я начал свою первую работу в качестве профессионального разработчика программного обеспечения около двух лет назад, я прочитал много статей о общепринятых методологиях (например, Scrum, XP), технологиях (например, EJB, Spring), методах ( например TDD, обзоры кода), инструменты (отслеживание ошибок, вики) и т.д. в компаниях-разработчиках программного обеспечения.
Для многих из них я обнаружил, что мы в нашей компании не используем их, и я спрашиваю себя, почему. Делаем ли мы это неправильно или просто потому, что эти статьи, которые я прочитал, на самом деле не говорят, что это такое в реальном мире? Являются ли эти статьи более академичными?
Итак, пожалуйста, скажите мне, что вам нравится в вашей компании. Расскажите обо всем, что касается разработки программного обеспечения. Вот несколько предложений (в порядке, поскольку они исходят из моего разума). Скажите хотя бы, если вы это сделаете или нет, или дайте короткий комментарий:
- Test-Driven-Development
- Домен-Driven-Design
- Model-Driven-дизайн/Архитектура
- Вы проверяете?
- Тестирование устройств
- Тестирование интеграции
- Приемочное тестирование
- Обзоры кодов
- Инновационные технологии (Spring, Hibernate, Wicket, JSF, WS, REST,...)
- Проворный
- Pair Programming
- UML
- Языки, относящиеся к домену
- Спецификация требований (как?)
- Непрерывная интеграция
- Инструменты покрытия кода
- Модель доменного домена
- Связь (Wiki, Mail, IM, Mailinglists, другие документы)
- Оценки усилий
- Размер команды
- Встречи
- Показатели кода
- Анализ статического кода
- Отслеживание ошибок
- ...
И помните: я хочу знать, что вы на самом деле делаете, а не то, что вы хотели бы сделать или думаете, что вам следует делать.