2008-10-14 2 views
2

Проект плохо определен: мы должны написать образовательное программное обеспечение для студентов CS 111 Computer Programming I, ориентированных на функции. У нас есть 6 студентов-разработчиков с различным опытом работы в Flex. Проект длится около 7 недель. У нас очень ограниченное время для лица (30 минут в неделю) и очень ограниченное время работы (< 8 часов на одного разработчика в неделю). У нас ограниченный доступ к клиентам (профессор нашего курса, профессор CS 111, студенты CS 111).Какая лучшая методология Agile для проекта класса?

Наш набор инструментов включает в себя Flex Builder, Subversion и TRAC.

Какая методология подходит для этого проекта и почему? В качестве альтернативы, какие функции следует собирать из различных методологий, чтобы лучше соответствовать этой ситуации?

ответ

6

Что заставляет вас думать, что любая методология будет успешной в этих условиях - небольшая коммуникация, больше требований, чем время, и отсутствие доступа к клиентам?

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

Инкрементальная доставка является самой важной. Показание рабочей демонстрации меньше, чем было предложено, всегда лучше, чем показ нерабочего прототипа.

2

Здесь вы можете использовать методологию Agile, но, очевидно, вам придется принять ее в соответствии с вашими потребностями.

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

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

Вы можете определенно использовать историю на основе оценок, итеративный процесс разработки и т.д.

Что действительно важно слишком дать каждый член команды четко и недвусмысленно понять, как работает Agile процесс и какова роль каждого человека в проект. Очень легко сказать, что вы будете использовать SCRUM, но, к сожалению, без реального понимания и опыта, которые на самом деле не означают многого.

Некоторые советы:

  1. Обучать членов вашей команды
  2. Получить список того, что вы хотели бы поставить, если бы вы не ограничены временными/ресурсов.
  3. Узнайте, что реально делать с учетом ваших ограничений. Это, вероятно, будет немного. Не пытайтесь быть слишком оптимистичным. Сосредоточьтесь на том, чего вы действительно можете достичь.
  4. Убедитесь, что ваши настоящие клиенты находятся на борту.
  5. Используйте короткие итерации (1 неделя или меньше). Убедитесь, что вы можете доставить полностью протестированный продукт к концу каждой итерации.
  6. Покажите свою работу на ранней стадии.
Смежные вопросы