Гибкий в маленьких укусах: большая часть удара для [закрытого] маркера

$newArray = array_map('intval', $request->request->get('ids', []));

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

6
задан QuantumMechanic 2 May 2012 в 00:36
поделиться

12 ответов

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

На основе моего опыта я рекомендовал бы, чтобы следующий заказ - выбрал первое, которое Вы уже не делаете:

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

  • Небольшие шаги. Обучите привычку к реализации самого маленького изменения, которое является видимым шагом к следующей функции, затем скомпилируйте и протестируйте. Сломайте все свои задачи в <единицы 1 ч прежде, чем начать кодировать. Стремитесь к buildable, функциональному коду по крайней мере каждые 15 минут. Это не требует большого изменения инфраструктуры - кроме, возможно, фиксации возрастающей сборки и наличия быстро машин.

Да! Запустите с удостоверяющихся разработчиков, имеют быстрые машины. То, сколько скорее рекомендует, могло добраться?!

  • Сборка Everything Daily. Настройте двойной щелчок полные сборки от Управления исходным кодом до носителя установки, идеально на отдельном ПК. Это - первый шаг к частым сборкам, но они самостоятельно уже помогают много. Для нас это был решающий шаг в получении надежных, восстанавливаемых результатов сборки.

  • Начните писать Модульные тесты. Еще не беспокойтесь о покрытии, не осуществляйте "тесты записи сначала", но помещайте платформу на месте. Тесты записи на новый код и изменения. Затем выполните их со своими ежедневными сборками.

  • Короткие Циклы. Теперь это - время, Вы имеете в распоряжении все инструменты для создания еженедельным или с двумя еженедельниками в выпусках дома: кодовая база много раз находится в поставляемом состоянии, день, делая сборку является двойным щелчком далеко, и по крайней мере что-то работает.

4
ответ дан 8 December 2019 в 02:47
поделиться

Повторяющееся здание

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

Когда каждая сборка была произведена, мы сели с группой разработчиков, командой QA и командой управления производством и создали список работы, которая была включена в новую сборку.

Все затем помогли ответить на вопрос того, что должно быть включено в следующую сборку.

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

7
ответ дан 8 December 2019 в 02:47
поделиться

См. Лучшее конкретное “руководство с практическими рекомендациями” по РУКОВОДЯЩЕМУ Тесту Управляемая и/или Гибкая разработка?.

Моя рекомендация является запуском с TDD сначала. Это очень легко сделать и оказывает глубокое влияние на качество.

Существует несколько частей к этому.

  1. Все должны получить инструменты (JUnit или безотносительно - это может быть твердо в некоторых культурах.)

  2. Менеджеры должны потребовать, чтобы тестирование было сделано. Они никогда не должны (НИКОГДА) обходить поблочное тестирование. Как только кто-то говорит, что "те тесты не имеют значения, поставляют его так или иначе", Вы отменили всю пользу от TDD.

  3. Необходимо справиться тестовым сценарием: сколько записанный, сколько переданный. Необходимо определить функциональность через тестовые сценарии: функция [X] имеет [n] тестовые сценарии, из которых некоторые сделаны, некоторые в процессе.

4
ответ дан 8 December 2019 в 02:47
поделиться

Итерационная разработка. Работа в маленьких повторениях (говорят 2 недели), имейте 'готовое' приложение к концу каждого и единственного повторения, т.е. Ваши тестеры должны быть рады выпустить результаты Вашим клиентам.

Это - ядро. Вы могли основываться на этом.

5
ответ дан 8 December 2019 в 02:47
поделиться

Сделайте многопрофильную команду с программистами, тестерами, техническими писателями и возможно людьми продаж/сервисов все вместе. Заставьте их осознать понятие 'сделанных', т.е. что-то, чтобы быть законченным является чем-то, что записано, протестировано, зарегистрировано, установлено, развернуто и готово к клиенту использовать.

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

3
ответ дан 8 December 2019 в 02:47
поделиться

Гибкий вполне модное словечко теперь, но имейте в виду, что это не серебряная пуля; это не зафиксирует Ваш процесс разработки точно так же, как это. Можно хотеть прочитать превосходную статью Steve Yegge о Гибкой разработке для балансировки шумихи.

"Избирательный подход к выбору" некоторого аспекта гибкой разработки может быть трудным, если Вы не схватываете ядро Гибких. Гибкий больше, чем что-либо еще способ думать: будьте гибки, признайте, что вещи изменятся, напишите код в коротких повторениях, сфокусированных на получении того или немногих завершенных функций. Противоположность получения единственной, полной, монолитной спецификации, пишущий весь код, документацию, и затем поставляет его.

Если Вы хотите доказать, что Гибкая разработка работает, я, вероятно, голосовал бы за то за использование спринта показывать то, что "выпуск рано, означает выпуск часто".

3
ответ дан 8 December 2019 в 02:47
поделиться

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

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

Во всяком случае это - моя мысль. Это работало на нас.

3
ответ дан 8 December 2019 в 02:47
поделиться

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

Если бы я должен был подвести итог "гибкого" пути, то я сказал бы, поставляют высококачественную бизнес-возможность рано и часто. Методы выше получат Вас длинный путь вдоль того пути.

[РЕДАКТИРОВАНИЕ] я предполагаю то, что я предлагаю, проявляют гибкий подход к принятию гибких методов и запускаются с легких вещей, которые поставляют много значения сразу же.

1
ответ дан 8 December 2019 в 02:47
поделиться

Автоматизированные тесты, которые работают в автоматизированной сборке.

1
ответ дан 8 December 2019 в 02:47
поделиться

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

Создайте комплекты регрессии для новых возможностей в то же время, что и Вы реализуете их.

QA может использовать исследовательское тестирование в качестве альтернативы для нахождения дыр в процессе разработки.

1
ответ дан 8 December 2019 в 02:47
поделиться

Я попытался бы пойти с Разработкой через тестирование. Это даст Вам много вещей:

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

[*] - Kent Beck в этой области упоминает схемы Влияния. В схемах влияния стрелка между узлами подразумевает, что увеличение первого узла подразумевает увеличение второго узла. Стрелка с кругом подразумевает, что увеличение первого узла подразумевает уменьшение во втором узле.

-----> [Stress] <--o-- / --o--> [RunTests]

Чем больше напряжения Вы чувствуете, тем меньше тестирования Вы сделаете. Чем меньше тестирования Вы делаете, тем больше ошибок Вы совершите. Чем больше ошибок Вы совершаете, тем больше напряжения Вы чувствуете. Повториться...

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

Протестируйте первые изменения разработки схема влияния:

[TestFirst] <--o-- / --o--> [Stress]

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

Это приводит к лучшему коду тестирования, разработанному разработчиками, которые доверяют их коду.

1
ответ дан 8 December 2019 в 02:47
поделиться

Я думаю, что два, самые ценные и легкие реализовать аспекты Гибких,

  1. ежедневные взлеты стенда - имеют резюме, ежедневно встречающееся с командой для рассмотрения состояния. Используйте эти 3 вопроса. Избегайте перекрестных помех, болтовни и обмана. Сохраните это быстрым и на на точке.

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

0
ответ дан 8 December 2019 в 02:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: