Рубрики
Uncategorized

Как ваша методология программного обеспечения влияет на производственное поведение

Десятки методологий разработки появились из -за относительно нескольких DECA … Tagged с DevOps, SDLC, разработка программного обеспечения.

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

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

Гибкая модель

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

Agile Основы

  • Отдельные лица и взаимодействия : Вместо того, чтобы только подчеркивать системы и инструменты, основное внимание должно быть сосредоточено на людях в команде и их профессиональном взаимодействии друг с другом. Чтобы проект был успешным, он должен адаптироваться не только к доступным системам или бюджету, но и к важному тому, что люди, работающие над ним. Если члены команды эффективны и эффективны для совместной работы, конечным результатом будет отполированный и оптимизированный продукт.
  • Рабочее программное обеспечение В то время как документация, безусловно, может быть очень полезной во время разработки, гораздо лучше производить рабочий продукт или даже простой прототип, который иллюстрирует цели проектирования или компоненты, используемые на протяжении всего приложения. Это полезно не только для других членов команды, работающих над разработкой, управлением и маркетингом, но особенно для клиентов или тестеров, которые в противном случае будут вынуждены полагаться на несколько документов и иллюстраций, чтобы понять, как ожидается приложение.
  • Сотрудничество клиентов : Крайне важно, чтобы проект был постоянно открыт, желает и способен реагировать на отзывы клиентов и поведение. Поддерживая клиентов или клиентов в цикле на протяжении всего жизненного цикла, все участники будут находиться на одной странице, и в конце не будет никаких сюрпризов или необходимых необходимых переписываний, потому что модуль или интеграция не были ясны для всех вовлеченных сторон.
  • Отвечая на изменение : Возможно, самый важный принцип на протяжении всего Agile Model Это способность проекта адаптироваться и реагировать на постоянно меняющиеся потребности всех и всего, что связано. По мере развития разработки программные технологии будут меняться, команда сдвигается, клиенты будут подколоть и набрать, и на протяжении всего этого проект должен оставаться податливым и оставаться способным адаптироваться вместе с этими потребностями.

Agile в производстве

  • Постоянные отзывы пользователя : Хотя постоянное общение с клиентами и клиентами требует, чтобы специализированный член команды взял на себя эту ответственность, это является важным компонентом для обеспечения успеха продукта как с точки зрения развития, так и с точки зрения клиента. Во время производства Agile Проект может поддерживать постоянное состояние отзывов пользователей, которое можно анализировать и итерация во время будущих циклов выпуска.
  • Высокая адаптивная : После того, как проект будет выпущен в производственную среду, появится новая информация о том, как работает программное обеспечение и где можно сделать улучшения. Agile Method Обеспечение адаптации к этим необходимым изменениям по прихоти без обиливания бюрократии или документов, которые могут потребоваться с другими методологиями.
  • Обычно минимальная документация : Agile Model В значительной степени отказывается от первоначальных усилий по значительному проектированию и документированию требований или масштабов проекта, в пользу попадания в мясо проекта и начала этого итерационного процесса. Это может быть проблемой для некоторых проектов, особенно после запуска производства, когда клиенты, пользователи и даже другие члены команды могут быть не так хорошо в том, как использовать приложение в качестве основных разработчиков. Убедитесь, что ваш проект адекватно задокументирован до (или вскоре после) выпуск производства.
  • Риск увеличения технического долга : Agile Проекты имеют тенденцию накапливаться более высокие уровни технический долг чем проекты, разработанные с другими методологиями, которые могут привести к тому, что приложение содержит многочисленные «простые исправления» для решений, в отличие от более надежных, но также и трудных для реализации решений. До производства убедитесь, что за это приложение висит столько технического долга, висящего за шеями команды разработчиков.

Модель большого взрыва

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

Основы Большого Банга

  • Начать с ура : Большой взрыв Модель действительно имеет только один принцип. Повседневное развитие должно происходить по прихоти членов команды, и должно быть свободно основываться на требованиях, которые обычно известны и приняты в то время, без особого уважения к последствиям или будущим требованиям, которые могут возникнуть. Все в проекте завершено с помощью Laissez-Faire, с небольшим уважением к тому, что может произойти дальше. Короче говоря, Модель большого взрыва это взрывная, хаотическая форма разработки программного обеспечения.

Большой взрыв в производстве

  • Идеал многодисциплинированных разработчиков : Поскольку все, кто участвует в проекте, скорее всего, будет разработчиком, а Модель большого взрыва Проект должен поддерживать полную стек или многопрофильные разработчики. Это особенно верно, когда проект будет выпущен в производство, поскольку документация и общее понимание проекта будут довольно ограничены лишь несколькими из самых плодовитых членов команды.
  • Проблема для сложных проектов : Пока Модель большого взрыва Работает довольно хорошо с небольшими проектами и крошечными командами, с другой стороны, он категорически катастрофически для крупных или долгосрочных проектов. Производственное поведение для небольших проектов довольно предсказуемо, но для большого или даже умеренного проекта, разработанного с использованием Большой взрыв Метод, вероятно, будет слишком сложно, чтобы команда могло бы учитывать и отслеживать, что идет не так, и как это исправить.
  • Подвержен дорогостоящим проблемам : Если ваша команда не исключительно осторожна и дотошна, а Большой взрыв Проект, вероятно, приведет к одному или нескольким вопросам, которые будут Чрезвычайно Дорого, чтобы исправить. В то время как первоначальные средства и бюджет будут потрачены на прихоть на то, что необходимо для того, чтобы запустить мяч, это отсутствие планирования может быстро выходить из -под контроля, когда требования проекта резко изменятся без предварительного уведомления, что будет усилено, когда внешние стороны и пользователи также вовлечены.

Концептуальная модель

Концептуальное моделирование Является ли практика описания физических или социальных аспектов мира абстрактным способом. Например, в сфере разработки программного обеспечения A Концептуальная модель может использоваться для представления отношений сущностей в базе данных. Записано ли с помощью текста или диаграммы визуально, такая Концептуальная модель может легко представлять абстрактные концепции отношений между объектами в системе, таких как Пользователи и их отношение к Счета Анкет На самом деле Концептуальные модели В рамках типичного жизненного цикла разработки программного обеспечения часто называют Доменные модели Анкет A доменная модель это Тип из Концептуальная модель Это включает представления как поведения, так и данных одновременно.

Концептуальная модель Основы

  • Прозрачный : Все аспекты концептуальная Проект должен быть открыт для всех членов команды, чтобы лучше облегчить сотрудничество и итерацию.
  • Адаптивный : Проект должен быть легко изменен, как постоянное отражение современной информации.
  • Задокументировано : A Концептуальная модель Приложение должно состоять как из визуальных, так и из письменных форм диаграмм, чтобы лучше объяснить абстрактные понятия, представленные в нем.
  • Определено : Все соответствующие термины и концепции, используемые на протяжении всего проекта, должны быть описаны и записаны в доступном формате.
  • Описательный : Наконец, а Концептуальная модель должен обеспечить базовую структуру для всех объектов, определенных в проекте.

Концептуальная модель в производстве

  • Определяет критические сущности : Установив и определяя все различные сущности и концепции, которые, вероятно, возникнут на протяжении всего жизненного цикла разработки программного обеспечения, а Концептуальная модель Можно помочь обеспечить меньше сюрпризов в будущем, где сущности или отношения в противном случае могут быть пренебрегли или забыты. Это особенно полезно в производстве, где неожиданные, массовые изменения могут быть дорогими и болезненными.
  • Возможные системные столкновения : С тех пор Концептуальное моделирование используется для представления таких абстрактных сущностей и их отношений, можно создать столкновения между различными компонентами. В этом случае столкновение просто указывает на то, что один компонент может противоречить другому компоненту, где -то в будущем. Это можно увидеть, когда дизайн сталкивается с DevOps, поскольку первоначальные предположения масштабирования во время процесса проектирования были доказаны неправильными, когда произошло фактическое развертывание. Крайне важно, чтобы такие потенциальные столкновения были признаны и рассматривались (или, по крайней мере, запланированы) до запуска производства.
  • Проблемы масштабирования : While Концептуальные модели По своей природе не подходит для крупных приложений, может быть трудно разработать и поддерживать постоянные для особенно сложных проектов, поскольку может произойти количество потенциальных «столкновений». Такие проблемы станут только более очевидными в производственной среде и по мере увеличения размера проекта.

Быстрая модель разработки приложений

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

Основы модели разработки быстрого применения

  • Требования к планированию : Во время этого начального этапа дизайнеры, разработчики и пользователи приходят к грубому согласию о объеме проекта и требованиях к приложениям, что делает возможным и легко переходить в будущее, которое требует прототипирования.
  • Пользовательский дизайн : Отзывы пользователей собираются, с большим акцентом на определение архитектуры системы. Это позволяет создавать первоначальное моделирование и прототипы. Этот шаг повторяется так часто, как необходимо, как развивается проект.
  • Быстрое строительство : После того, как основной дизайн пользователя и системы начался, этап конструкции — это то, где происходит большая часть фактического кодирования, тестирования и интеграции приложений. Наряду с фазой дизайна пользователя, фаза быстрого строительства повторяется так часто, как это необходимо, поскольку новые необходимые компоненты создаются для удовлетворения потребностей проекта.
  • Сокращение : Этот последний этап позволяет команде разработчиков время перемещать компоненты в живую производственную среду, где может пройти любые необходимые полномасштабные тестирование или командное обучение.

Быстрая модель разработки приложений в производстве

  • Быстро сгенерировать продуктивный код : Как появляются все больше и больше разработчиков программного обеспечения с полным стеком, проекты, которые используют Быстрая разработка приложений Методология позволит квалифицированным членам команды быстро производить прототипы, что может проиллюстрировать рабочие примеры, которые в противном случае могут потребоваться недели или месяцы, чтобы увидеть свет, используя более медленный метод разработки. Эта выгода особенно заметна в производстве, где часто необходимы быстрые итерации, чтобы протолкнуть быстрые исправления ошибок или новые тестовые компоненты A-B.
  • Ранняя системная интеграция : В то время как большинство Метод водопада Проекты программного обеспечения, по своей природе, должны ждать, пока хвостовая часть жизненного цикла разработки для интеграции других систем и услуг, быстро разработанное приложение будет интегрировано почти сразу. Требуя ранних интеграций в рамках прототипа, а Быстрая разработка приложений Проект способен быстро идентифицировать любые ошибки или осложнения в рамках указанных интеграций и начать процесс немедленного решения любых проблем. Это приводит к резкому снижению общих проблем интеграции постпроизводства.
  • Требуется частые отзывы пользователя : Получение постоянного, частого понимания пользователей и обратной связи, очевидно, является преимуществом с точки зрения дизайна, но этот обоюдоострый меч требует, чтобы команда была готова и способна общаться с пользователями на гораздо более частой основе, по сравнению с более традиционными Модель водопада методы Это особенно сложно во время жизни в производстве, где отзывы пользователей могут быть обильными и подавляющими. Планируйте такую возможность (и необходимость) путем установления четких и простых в использовании каналов связи с пользователями, поэтому прыжок к производству не так уж и является шоком для системы.

Модель водопада

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

Основы модели водопада

  • Требования : На этом начальном этапе потенциальные требования приложения методически анализируются и записываются в спецификационном документе, который служит основой для всех будущих разработок. Результатом должен быть документ требований, который определяет Что Приложение должно сделать, но не Как это должно это сделать.
  • Анализ : На этом втором этапе система анализируется для правильного генерирования моделей и бизнес -логики, которые будут использоваться в приложении.
  • Дизайн : Этот этап в значительной степени охватывает требования технического дизайна, такие как язык программирования, уровни данных, услуги и т. Д. Обычно будет создана спецификация дизайна, в которой описывается, как именно бизнес -логика, описанная в анализе, будет технически реализована.
  • Кодирование : Фактический исходный код, наконец, написан на этом четвертом этапе, внедряя все модели, бизнес -логику и интеграции услуг, которые были указаны на предыдущих этапах.
  • Тестирование : На этом этапе обеспечение качества, бета -тестеры и все другие тестеры систематически обнаруживают и сообщают о проблемах в приложении, которые необходимо решить. Это нередко, что эта фаза вызывает «необходимый повтор» предыдущего фазы кодирования, чтобы выявленные ошибки были должным образом раздавлены.
  • Операции : Наконец, приложение готова к развертыванию до производства. Стадия операций влечет за собой не только развертывание приложения, но и последующую поддержку и обслуживание, которые могут потребоваться для поддержания его функциональной и актуальной.

Модель водопада в производстве

  • Идеально подходит для ориентированного на веху развития : Из -за присущей линейной структуры водопад Проекты Такие приложения хорошо подходят для команд, которые хорошо работают под парадигмой на основе вехи. С четкими, конкретными и хорошо понятными этапами, которые могут понять и подготовиться каждый в команде, относительно просто разрабатывать временную линию для всего процесса и назначать определенные маркеры и вехи для каждого этапа, включая запуск для производства и пост- Производственные выпуски. С другой стороны, Метод водопада Как правило, создавать гораздо более строгие проекты, чем более гибкие методологии, что затрудняет реализацию быстрых изменений или итераций в производственной среде.
  • Минимальные отзывы клиентов : Из-за строгого пошагового процесса, который Модель водопада Обеспечение, отзывы пользователя и/или клиента, как правило, обеспечиваются довольно поздно в жизненный цикл разработки. Такое понимание часто слишком мало, слишком поздно и не может быть легко адаптировано к существующему проекту. Таким образом, если ваша команда работает в пределах Модель водопада , обязательно собирайте отзывы пользователей на протяжении всего процесса разработки. Кроме того, планируйте явные выбросы патчей после запуска производства для реализации необходимых изменений.
  • Задержка периода испытаний : Модель водопада В значительной степени уклоняется от тестирования, пока не поздно в жизненный цикл разработки программного обеспечения. Это не только означает, что большинство ошибок (и часто проблемы проектирования) не будут обнаружены до самого позднего процесса, но также могут поощрять несколько неадекватных методов кодирования, поскольку тестирование является лишь запоздалой мыслью. В стиле водопада Проекты особенно подходят для реализации дополнительных инструментов тестирования и управления ошибками, таких как Программное обеспечение для автоматического мониторинга ошибок в реальном времени в реальном времени .

Независимо от того, какая методология программного обеспечения использует ваша команда, вам понадобится солидный план и готовность скорректировать вашу траекторию после начала запуска до производства. Однако с Программное обеспечение для мониторинга ошибок аэрофтаса В вашей команде не нужно беспокоиться о потере ошибок производства! Airbrake обеспечивает мониторинг ошибок в режиме реального времени и автоматическую отчетность по исключениям для всех ваших проектов разработки. Состояние Airbrake Web Web Dashboard гарантирует, что вы получаете круглосуточные обновления статуса по уровню здоровья и ошибок вашего приложения. Независимо от того, над чем вы работаете, Airbrake легко интегрируется со всеми самыми популярными языками и рамками. Кроме того, Airbrake позволяет легко настраивать параметры исключений, одновременно предоставляя вам полное управление системой Active Error Filter, поэтому вы собираете только те, которые важнее всего.

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

Оригинал: «https://dev.to/airbrake/how-your-software-methodology-affects-production-behavior-3l7»