1

Я нахожусь на пути к тому, чтобы научиться руководить группой разработчиков для проектов в RoR с использованием гибкой методологии. Я нашел несколько инструментов в Интернете, таких как VersionOne или PivotalTracker, которые могут помочь вам создавать итерации, backlog, истории и т. Д., Поэтому вы можете разделить работу с фронтом и внутренним контентом и сделать ваши разработчики сосредоточены именно на конкретной задаче.Спецификация требований к функциональному программному обеспечению (FSRS) & Agile development

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

http://en.wikipedia.org/wiki/Non-functional_requirement.

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

Большое спасибо за ваше время и пациент заблаговременно.

+0

Может кто-нибудь дать мне ключ к моим сомнениям?большое спасибо заранее – user1106811

ответ

6

Здесь вы должны изменить свой мыслительный процесс.

Пользовательская история представляет собой один или несколько предложений в день или делового языка из конечного пользователя, который захватывает то, что пользователь хочет достичь. Напр.

В качестве представителя стойки регистрации я хотел бы сделать комнату срочно.

Как вы можете видеть, что они

  1. От пользователя/роли (передний представитель бюро) перспективы
  2. Целеустремленность (оговорюсь номер быстро)

Но им не хватает детали, такие как различные потоки (оплата и т. д.), критерии приемлемости, специфические требования к функциональности (что быстро означает в истории?). Вы создаете вспомогательные истории, чтобы предоставить более подробную информацию.

Что делает хорошую историю?

ИНВЕСТ: Я ndependent, Н egotiable, В aluable, Е stimatable, S центр, Т ESTABLE


Существуют инструменты, которые может помочь вам преобразовать идею веб-приложения (или мобильного приложения) в список сто ries/iterations успешно?

инструментов, как ралли и JI позволяют организовать истории, суб-истории, спринты/итерации и т.д.

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

Эти инструменты предоставляют богатые текстовые редакторы, которые помогают нам писать истории. Иногда у вас есть требование, что не вписывается в историю

  • Применение случая
  • принципы интерфейса пользователя
  • список бизнес-правил и т.д.

Затем написать что-то другое. Такие инструменты, как JIRA, обеспечивают предоставление вложений.

поэтому после этого вы можете создавать истории?

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

Истории представляют требования, они не документируют их. - Рейчел Дэвис


Agile подход способствует только достаточно архитектуры с непрерывного рефакторинга.

Команда доставки спринта обычно включает в себя все необходимые держатели акций, такие как бизнес-аналитик, тестер, архитектор, dba, разработчики. Они коллективно отвечают за завершение истории/спринте, и в конце весны у вас будет готовое к развертыванию приложение. Идея заключается в постепенном добавлении функций.

Как вы можете видеть из состава команды архитектор/руководство, также участвуют в каждом спринте. Он, с помощью команды, будет архитектором и дизайном только для историй, которые являются частью текущего спринта/итерации (Just enough architecture, Emergent Design). Истории, которые они выбирают для первого спринта, являются либо высокорисковыми, либо архитектурно значимыми.

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

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

+0

Большое вам спасибо за ваш длинный и насыщенный ответ. О историях, очевидно, это похоже на инструмент, который нетехнический человек может описать функциональность приложения, но он полностью лишен информации, связанной с этой функциональностью, например, технической спецификации. Я имею в виду, что одна вещь заключается в написании случая пользователя, такого как «I хотели бы быстро забронировать номер », но еще одна - это все технические детали (модель данных, интерфейсный, ux-дизайн, нефункциональный код и т. д.). С моей точки зрения, должны быть некоторые вид человека в середине, который переводится из историй ... – user1106811

+0

... к функциональным спецификациям, потому что если нет, вы оставляете все решения до разработчиков, не так ли? Я вообще не вижу этого. Кто такой человек, который решает, например, всю модель данных? agile - о построении модели данных по запросу? Никто не просит от начала, как это будет целая функциональность? Этот подход выглядит, если вы просто пишете пользовательские случаи/истории, и у вас нет технических знаний, а разработчики не совершают, вы получите что-то очень плохое в коде качества. – user1106811

+0

@ user1106811 - я обновил сообщение с пояснениями к ваши вопросы. См. Последнюю секцию. –