Рубрика «управление разработкой» - 23

Законы, теории, принципы и закономерности, полезные для разработчиков

Введение

Перевод репозитория github.com/dwmkerr/hacker-laws

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

Здесь содержатся объяснения некоторых законов, принципов и закономерностей, но нет никакой агитации в их пользу. Применять их или нет – это всегда вопрос спорный, и всё зависит от того, над чем вы работаете.

Законы

Закон Амдала

Закон Амдала — это формула, демонстрирующая потенциал ускорения вычислительной задачи, которого можно достичь при увеличении количества ресурсов системы. Обычно он используется в параллельных вычислениях, и может предсказать наличие реальных преимуществ от увеличения количества процессоров с учётом ограничений параллелизуемости программы.
Читать полностью »

Синий кит — отличный пример того, как проектирование сложного проекта пошло не по плану. Кит внешне похож на рыбу, но он млекопитающее: кормит детенышей молоком, у него есть шерсть, а в плавниках до сих пор сохранились кости предплечья и кистей с пальцами, как у сухопутных. Он живет в океанах, но не может дышать под водой, поэтому регулярно поднимается на поверхность глотнуть воздуха, даже когда спит. Кит самое большое животное в мире, длиной с девятиэтажный дом, а массой как 75 автомобилей Volkswagen Touareg, но при этом не хищник, а питается планктоном.

Когда разработчики работали над китом, то не стали писать все с нуля, а использовали наработки из старых проектов. Он словно слеплен из несовместимых частей кода, которые не тестировались, а все проектирование сводилось к выбору фреймворка и к срочному «велосипедированию» уже в продакшне. В итоге получился проект красивый внешне, но с кусками дремучего легаси и костылей под капотом.

Инструменты Domain Driven Design - 1

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

Что такое DDD и какие инструменты в нем есть, мы расскажем в статье на основе доклада Артема Малышева. Подход DDD в Python, инструменты, подводные камни, контрактное программирование и проектирование продукта вокруг решаемой проблемы, а не используемого фреймворка — все это под катом.
Читать полностью »

image
Чистый скрам — как единорог на музыкальном фестивале: вроде бы он существует, все о нём говорят, только вот показать тебе его никто не может. Так же сложилось и у нас в команде, об этом и поговорим. А если конкретнее — о том, как мы сократили время на встречи и не потеряли пользу от них.
Читать полностью »

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

Что ж, поговорим о том, как “правильно” взаимодействовать с разработчиком, например лично со мной…

image

(Если всей семьей купаться вы отправились к реке,
не мешайте папе с мамой загорать на берегу.
Не устраивайте крика, дайте взрослым отдохнуть.
Ни к кому не приставая, постарайтесь утонуть, — Григорий Остер)...

Читать полностью »

Платформенные команды, DDD радар и MVP, который не превратится в техдолг — все это на TechLead Conf 2020 - 1

Привет!

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

Но нашу команду поджидали две серьезные проблемы.

Читать полностью »

Долой техдолг! На TechLead Conf 2020 расскажем как - 1

Привет!

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

Но нашу команду поджидали две серьезные проблемы.

Читать полностью »

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

Например, есть такая абстракция, как KPI. Еще Scrum. Канбан. Корпоративная культура. Soft skills. И т.д.

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

Чтобы повысить эффективность работы программиста через Scrum, надо заставить его клеить стикеры и вставать на митапах. Так в методичке написано. В Канбане — переклеивать стикеры почаще. Чтобы сработала корп.культура, надо заставить программиста выучить гимн. Через soft skills — пусть учится говорить. И т.д.

Особо популярны три группы абстракций. Первая — методы серийного производства, вроде Канбана или даже конвейера. Рабочий, который годами точит одинаковые детали — тот же программист ведь, правда?

Вторая — методы проектного управления, вроде Scrum или Waterfall. Понятно, что вмешательство метода выглядит мягким — вроде, задачу ты решай по-программистски, а между задачами веди себя по-скрамовски. Но диффузия есть, в обе стороны. Что водопадный лозунг «уложись в срок», что скрамовский «а-а-а, херачим-херачим-херачим!» влияют на программирование «магически».

Третья — э-ге-гей-методы. Надо просто всех подружить, как в детском саду, шарики развесить, и код напишется. Ну а чё.

Давайте с другой стороны зайдём. Не снаружи, из далеких галактик непонятных абстракций, а изнутри. Программистским умом поймём, как повысить эффективность работы программиста, и чем он должен заниматься. Это ненадолго, слишком всё просто, если ты изнутри.Читать полностью »

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

Как это сделать средствами самого git: зафиксировать состояние в ветке для ревью, затем в merge request к этой ветке оставить свои замечания.

В общем суть метода уже изложена, ниже лишь немного подробностей.

Читать полностью »

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

  • порядке проведения ревью,
  • скорости (и на что она влияет),
  • как правильно писать комментарии,
  • дискуссии в ходе ревью.

Читать полностью »

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

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

Мы в Слёрме любим пробовать и узнавать новое. И нам близка тема образовательных проектов.

Тем интереснее было заглянуть на территорию геймдева благодаря управляющему директору направления премиум игр в компании 101XP Ольге Макушенко. Перед вами лекция Ольги, которая которую она прочитала в Высшей школе бизнес-информатики НИУ ВШЭ в рамках образовательной программы Менеджмент игровых проектов, и родилась эта статья.

Управляющий директор 101XP Ольга Макушенко: «5 ключевых ошибок разработки игры как бизнеса» - 1

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js