Проектирование, Циклы Разработки И Тестирование

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



Дизайн

  1. Лучше потратить большое количество времени на этапе проектирования информационной системы, чем потом потерять время и деньги.

  2. Ошибки в проектировании могут привести к срыву сроков и многократному увеличению стоимости проекта.

  3. Стоит спроектировать всю систему от начала до конца (без добавления дополнительного функционала) или предусмотреть модульность: — полная разработка и доработка концепции.

    — разработка детального технического задания.

    — разработка схемы базы данных — разработка скриптов контроллера — разработка дизайна шаблона презентации — разработка сценария поведения пользователя (также известного как сценарий тестирования) - ГЕНЕРАЛЬНЫЙ ДИРЕКТОР — .

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



Разработка

1. При разработке использовать готовые и стабильные решения: это значит, что для работы с базой данных лучше использовать фреймворк MVC (Model View Controller) или ORM (Object Relational Mapping) или AR (Active Record), а для работа со стандартными CRUD-скриптами (Create Read Update Delete — генератор, создающий безошибочный код. Ваше мастерство разработчика низкого уровня никто не оценит, но если система будет работать стабильно и без ошибок, это будет гораздо большим плюсом.

2. Документируйте свой код. 3. Создайте хорошую и понятную техническую документацию.

4. Используйте докер.

5. Используйте системы автоматического управления версиями.



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

  1. Используйте системы контроля версий, я в своей работе использовал git.
  2. Разделите работу разработчиков на разные функциональные модули, чтобы при объединении ветвей системы контроля версий в одну не возникало конфликтов.

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

Ставьте задачи минимум на неделю и максимум на месяц до выхода следующей сборки.



Тестирование

  1. Не используйте системы постановки и корректировки задач тестировщикам.

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



Цикл разработки

После того как вы создали качественное техническое задание, можно приступать к разработке; вот повторяющийся цикл: 1. Постановка задач разработчикам в различных системах управления задачами, чтобы они не влияли на код друг друга, например, разделение системы на модули, каждый из которых работает в своей ветке.

Задания необходимо выполнить в течение недели.

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

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

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

Затем цикл повторяется.



При таком подходе

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

  2. Вы сможете создать лучший программный продукт.
  3. Вы сэкономите время.

  4. Вы сэкономите деньги.

  5. Команда будет работать быстрее, эффективнее, слаженнее (не конфликтуя в плане изменений кода).

  6. Вы сможете выполнять задания вовремя.

  7. Выполненные задания будут качественнее.

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

Что сделает результат более предсказуемым, простым и понятным.

Программированием занимаюсь более 10 лет, желаю всем интересных и успешных проектов! Теги: #дизайн #дизайн и рефакторинг

Вместе с данным постом часто просматривают: