SimbirSoft: управление разработкой – Telegram
SimbirSoft: управление разработкой
1.34K subscribers
658 photos
103 videos
3 files
390 links
Авторский канал IT-компании SimbirSoft про разработку и управление ей: делимся экспертизой, лайфхаками, разбираем реальные кейсы.

🔹Наш сайт: https://s.simbirsoft.com/FT1c
🔹Вопросы: info@simbirsoft.com
Download Telegram
Делимся новой статьей на vc.ru 🔥 Здесь мы в формате вредных советов рассказываем, как добиться качества IT-продукта.

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

⛔️ Внимание! Не пытайтесь повторить описанные кейсы – это опасно для здоровья вашего проекта!

Прочитать можно тут: https://s.simbirsoft.com/ZwFm

#SimbirSoft
Архитектура приложения — это его технологическая база, которая учитывает риски проекта, бюджет, требования и ограничения, потребности в масштабировании.

🔥 Рассказываем в нашей новой статье на Хабре, как с помощью Attribute-Driven Design создать архитектурное решение, выбрать инструменты под проект, а также снизить затраты на разработку.

https://s.simbirsoft.com/2N4f
Для создания веб-сайта можно использовать PHP-фреймворки или готовые инструменты – конструктор сайтов или CMS. В этом посте разберемся, в чем разница между ними и как выбрать наиболее подходящий для вашего бизнеса вариант.

1) Конструкторы сайтов
Предоставляют набор функций для создания и размещения простых проектов. На их основе можно сделать веб-ресурс с несложной логикой работы.

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

📌 Для какого бизнеса подойдет:
С помощью конструктора удобно быстро создавать лендинги для рекламных акции, простой сайт для представительства компании в интернете.

👇👇👇
2) CMS (Content Management System)

CMS – это система управления контентом сайта. Существует множество различных CMS, которые зачастую предназначены для конкретного направления бизнеса: интернет-магазин, блог, учебный центр и прочее.

Плюсы:
Высокая скорость разработки полноценного сайта.
Минусы:
Сложность добавления логики, не предусмотренной конкретной CMS.

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

👇👇👇
3) PHP-фреймворки

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

Плюсы:
Универсальность и возможность разработки проекта любой сложности.

Минусы:
Для создания сайта с помощью PHP-фреймворков бизнесу понадобится команда квалифицированных специалистов: аналитики, backend- и frontend-разработчики, тестировщики, DevOps-инженеры и т.д.

📌 Для какого бизнеса подойдет:
PHP-фреймворки позволяют настроить более сложные процессы, специфичные для конкретного бизнеса, и решить важные задачи в интернете или интранете, для которых не подходят стандартные бизнес-процессы сайта-каталога или интернет-магазина. Стоит отметить, что различные CMS уже используют компоненты фреймворков (например, Drupal) или основаны на них (например, October CMS).

👇👇👇
Среди множества PHP-фреймворков, на наш взгляд, стоит выделить следующие:

✔️ Laravel – один из наиболее популярных фреймворков на сегодняшний день. Это обусловлено относительно невысоким порогом вхождения (если сравнить с Symfony), универсальностью, мощным набором встроенных компонентов и инструментов для разработки (например, почтовые сервисы, простое добавление авторизации и аутентификации пользователей, обеспечение безопасности). Кроме того, наличие подробной документации и многочисленного сообщества разработчиков позволяет оперативно находить оптимальные решения задач. Laravel отлично подходит, если вам нужно быстро создать проект, внутри которого будут реализованы бизнес-процессы разного уровня.

✔️ Symfony – один из самых сложных, надежных и высокопроизводительных фреймворков. Представляет собой множество модулей для реализации любой функциональности, подходит для крупных проектов, в том числе уровня enterprise. Порог вхождения для разработчиков несколько выше, чем у других фреймворков, поэтому скорость разработки может быть ниже, но код более предсказуем. У Symfony также есть подробная документация на разных языках и большое сообщество разработчиков. Фреймворк активно развивается и поддерживается на протяжении многих лет. Symfony – хороший выбор, если у вас в приоритете надёжность и возможность лёгкого масштабирования.

✔️ Yii 2 – один из самых быстрых и не требовательных к ресурсам фреймворков. Также входит в число наиболее популярных и имеет активное сообщество. Порог вхождения довольно низкий, что позволяет быстро начать работу над проектом специалисту, не знакомому с этим фреймворком. Это ускоряет и в конечном итоге уменьшает стоимость разработки. Если у вас в приоритете скорость и простота работы сайта, то выбирайте Yii2.

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

#SimbirSoft
Проджект-менеджеры SimbirSoft составили подборку книг, которые помогают им в работе и управлении проектами.
🙌 Делимся списком с вами и надеемся, что он будет для вас интересным и полезным.

Мы всегда рады обратной связи, а также вашим рекомендациям — расскажите нам о своей настольной книге, если не встретили ее в нашем списке ♥️

#SimbirSoft #ProjectManager
Как лучше выстроить процессы в ситуации, если в качестве исходных данных есть только код — без описания продукта и прочей технической документации (ТД)? Делимся нашим чек-листом👇
✔️ Первое. Общаемся с клиентом и узнаем больше о продукте, его целях, аудитории и функционале. Это достаточно очевидный пункт, но мы хотим подробно рассказать о процессе, поэтому оставляем его в нашем списке.
✔️ Второе. Получаем доступ ко всей имеющейся информации — техническому заданию, доске разработки, тестовым стендам и т.д. Анализируем её и определяем пул необходимых доработок. Для этого:
🔹 Изучаем логи запросов к серверу, базу данных в realtime.
🔹 Находим нужный для изменения код и исследуем его.
🔹 Проверяем, чтобы функционал приложения совпадал с указанным в технической документации. Если мы обнаружили расхождения, то отмечаем и передаем информацию владельцу.
↓↓↓↓
✔️ Третье. В случае, если у проекта нет описания, то мы формируем его самостоятельно. Основные его составляющие — это информация о функционале, список запросов к серверу и их последовательность (от запуска приложения до завершения сценария), данные о состоянии продукта до и после выполнения какого-либо действия.
✔️ Четвертое. Согласовываем с клиентом изменения и приступаем к разработке.
✔️ Пятое. Выпускаем релиз и тестируем продукт.
✔️ Шестое. Вместе с заказчиком составляем план дальнейшего развития системы.
Отсутствие четкого описания функционала и логики работы приложения может привести к тому, что реализованный продукт не будет соответствовать ожиданиям заказчика. Все пункты нашего чек-листа созданы для того, чтобы избежать этой проблемы и выполнить работу качественно.

Узнать больше про наши реализованные проекты вы можете по ссылке: https://s.simbirsoft.com/fQP7

#SimbirSoft
Сегодня в центре нашего внимания автоматизированное тестирование, которое проводят SDET-специалисты.

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

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

✔️ Стратегия

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