Pull to refresh
Sergey @sbz read-only

PSM I, PSM II, PSPO I

  • Posts
  • Comments

Domain Driven Design на практике

Website development *Programming *System Analysis and Design *.NET *Designing and refactoring *
Tutorial
Эванс написал хорошую книжку с хорошими идеями. Но этим идеям не хватает методологической основы. Опытным разработчикам и архитекторам на интуитивном уровне понятно, что надо быть как можно ближе к предметной области заказчика, что с заказчиком надо разговаривать. Но не понятно как оценить проект на соответствие Ubiquitous Language и реального языка заказчика? Как понять, что домен разделен на Bounded Context правильно? Как вообще определить используется DDD в проекте или нет?

Последний пункт особенно актуален. На одном из своих выступлений Грег Янг попросил поднять руки тех, кто практиукует DDD. А потом попросил опустить тех, кто создает классы с набором публичных геттеров и сеттеров, располагает логику в «сервисах» и «хелперах» и называет это DDD. По залу прошел смешок:)

Как же правильно структурировать бизнес-логику в DDD-стиле? Где хранить «поведение»: в сервисах, сущностях, extension-методах или везде по чуть-чуть? В статье я расскажу о том, как проектирую предметную область и какими правилами пользуюсь.
Читать дальше →
Total votes 32: ↑28 and ↓4 +24
Views 169K
Comments 18

Заменяем User Story на Job Story

OTUS corporate blog Product Management *
Translation
Всем привет. Перевели еще один интересный материал для студентов курса «Product Manager IT-проектов». Приятного прочтения




Раньше, я уже писал о проблемах с user story (пользовательскими историями). В те времена я считал, что лучше просто попросить команду обсудить предлагаемые изменения в продукте. Стратегия была хорошей, если команда оказывала помощь, а продукт был уже зрелым. Однако теперь я работаю с новой командой и создаю продукт с нуля. В таком случае перед нами лежит чистый лист и нам непросто прийти к согласию, когда речь заходит о мотивации клиентов, событиях и ожиданиях. На сегодняшний день все изменилось. Я нашел отличный способ использовать философию Jobs To Be Done, чтобы определить функционал продукта. Сегодня мы поговорим о Job Stories.
Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Views 11K
Comments 1

Мой опыт трудоустройства на роль Agile Coach в Европе, часть первая

Agile *IT-emigration IT career
Sandbox
Всем привет!
Меня зовут Денис, мне 27 лет и я работаю Agile Coach в компании N26 (Берлин, Германия) — самом быстрорастущем мобильном банке в Европе.

image

Прежде чем переехать в Берлин в апреле 2018 года, я провел 9 месяцев в поисках подходящего места работы в Европе. За это время я успел:
— пройти порядка 20 интервью;
— дойти до финального этапа с 8 компаниями*;
— получить 3 оффера.

Для этого мне пришлось совершить порядка 18 перелетов и посетить 3 страны (Германия, Нидерланды, Австрия).

Рассказать о своём опыте меня сподвигло несколько факторов:
1) Высокий интерес к подобным материалам в IT-сообществе при практически полном отсутствии историй “тракторизма” от специалистов в области Agile на просторах сети;
2) Стремление поделиться с сообществом полученными инсайдами о том, как же выглядит «тот самый» Agile в Европе;
3) Желание зафиксировать все пережитое для себя лично, пока краски не потускнели и воспоминания еще живы.

* В данной статье Вы не встретите прямого указания на компании, с которыми я успел пообщаться, но общее описание контекста я постараюсь все же давать.
Читать дальше →
Total votes 44: ↑35 and ↓9 +26
Views 21K
Comments 50

Зачем играть в getKanban: опыт Туту.ру

Туту.ру corporate blog Development Management *Project management *Agile *Product Management *
Сегодня я хочу поделиться двухлетним опытом проведения игры getKanban в Туту.ру. В целом, игровые механики мы используем довольно активно: играем в getKanban, Playing Lean, Lego Serious Game и т. д. Но getKanban, по нашему мнению, наиболее цельная и качественная игра. Для нас эта игра уже стала традицией и привычным инструментом обучения и коммуникации. Возможно, кто-то из читателей возьмет наш опыт на вооружение.

image
Читать дальше →
Total votes 36: ↑36 and ↓0 +36
Views 17K
Comments 5

Интеграция программного обеспечения. Описание процесса от бизнес консультанта

Trinion corporate blog Programming *.NET *
Синерги́я (греч. συνεργία — сотрудничество, содействие, помощь, соучастие, сообщничество; от греч. σύν — вместе, греч. ἔργον — дело, труд, работа, (воз)действие) — суммирующий эффект взаимодействия двух или более факторов, характеризующийся тем, что их действие существенно превосходит эффект каждого отдельного компонента в виде их простой суммы[1], эмерджентность.

Википедия.

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

Мне постоянно приходится сталкиваться с одними и теми же проблемами и решениями многие из которых приходится пояснять в каждом новом проекте заказчикам, некоторые – программистам. А потому я считаю, что о процессе интеграции стоит поговорить подробно. В большинстве примеров я выбрал различные случаи интеграции 1С и CRM, так как сегодня именно этот вопрос, как показывает моя практика, наиболее актуален. Хотя данная статья подойдет при интеграции практически любого программного обеспечения. Итак начнем.
Читать дальше →
Total votes 2: ↑2 and ↓0 +2
Views 67K
Comments 1

Как мы разрабатывали интеграцию интернет-магазина с 1С: Предприятие и почему она стала массовой

1С-Битрикс corporate blog
Как обеспечить актуальный каталог товаров и их наличие на сайте и обработать заказы покупателей в соответствии с внутренними бизнес-процессами? Многие владельцы интернет-магазинов сталкиваются с данной задачей.

Интегрировать отдельно взятый интернет-магазин с учетной системой предприятия в целом несложно. Реализовать готовую интеграцию в коробочной поставке CMS-системы и сделать ее простой и понятной для массового использования, универсальной для различных задач — непростая и интересная задача. Данный топик — о нашем опыте разработки интеграции интернет-магазина с популярной учетной системой 1С: Предприятие.



Под катом мы расскажем как ставились задачи, выбиралась архитектура и технические решения, что получилось в итоге, как это настраивается и работает.
Читать дальше →
Total votes 88: ↑59 and ↓29 +30
Views 105K
Comments 81

Интеграция на основе сообщений. Преимущества и отличия от других подходов

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

Основные способы интеграции приложений:

• Обмен файлами
• Обмен через общую базу данных
• Удаленный вызов функций
• Сервисная шина предприятия (MQ, ESB)
Читать дальше →
Total votes 15: ↑12 and ↓3 +9
Views 18K
Comments 10

REST? Возьмите тупой JSON-RPC

PHP *JavaScript *API *
В последнее время на Хабре разгорелось много споров по поводу того, как правильно готовить REST API.

Вместо того, чтобы бушевать в комментариях, подумайте: а нужен ли вам REST вообще?
Что это — осознанный выбор или привычка?

Возможно, именно вашему проекту RPC-like API подойдет лучше?
Читать дальше →
Total votes 233: ↑229 and ↓4 +225
Views 125K
Comments 254

RPC, Messaging, REST: Терминология

Programming *

RPC, Messaging, REST: Терминология



Цель данной статьи — обсудить терминологию. Статья — не о том, как и для чего, а только исключительно об использовании терминологии. Статья отражает мнение автора и не претендует на научность.

RPC, Messaging, REST- Terminology - RPC, Messaging, REST- Терминология

Вступление



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

Проблема возникает, когда встречаются люди, использующие разные технологии, и когда эти люди начинают технические разговоры. При этом часто возникает взаимное недопонимание, обусловленное терминологией. Я здесь попытаюсь свести воедино терминологии, используемые в разных контекстах.
Читать дальше →
Total votes 17: ↑11 and ↓6 +5
Views 54K
Comments 20

Сертификационный курс Certified Agile Professional

Development Management *Project management *Agile *Product Management *


Когда я прочитал: «Agile is much more than just Scrum» — в описании сертификационного курса Certified Agile Professional компании ScrumTrek, то первое, о чем я подумал: почему ScrumTrek, тогда уж нужно было назваться AgileTrek? После прохождения этого обучения я вернулся к этому утверждению с более серьезным настроем. Так что же я вынес с тренинга? Записи, раздаточный материал и сертификат Certified ICAgile Professional? А как же понимание, что такое Agile? В чем заключается концепция Agile-подхода? Что такое Agile mindset?

В этой заметке я делюсь впечатлениями о тренинге. Это не столько пересказ содержания тренинга, сколько субъективная оценка пользы полученных на нем знаний. Надеюсь, что это поможет определить, нужно ли вам это обучение.
Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Views 19K
Comments 0

Как делегировать простые отчеты роботу. Пишем бота на Python и Google BigQuery

Skillbox corporate blog Python *Programming *Studying in IT
Translation


Есть ли у вас задачи, которые повторяются изо дня в день, из недели в неделю? Например, написание отчетов. Вы запрашиваете данные, проводите анализ, визуализируете (делаете графики, диаграммы), а затем отправляете начальнику. Но что, если все это автоматизировать?

В этом туториале мы создадим бота для Telegram, который поможет автоматизировать отчетность. А самое классное — вся программа будет состоять всего из 50 строк кода! Если вы создаете бота для Telegram впервые, то стоит прочитать еще вот этот пост.
Читать дальше →
Total votes 18: ↑18 and ↓0 +18
Views 13K
Comments 0

PyTorch — ваш новый фреймворк глубокого обучения

Python *Programming *Machine learning *

Gotta Torch?


PyTorch — современная библиотека глубокого обучения, развивающаяся под крылом Facebook. Она не похожа на другие популярные библиотеки, такие как Caffe, Theano и TensorFlow. Она позволяет исследователям воплощать в жизнь свои самые смелые фантазии, а инженерам с лёгкостью эти фантазии имплементировать.


Данная статья представляет собой лаконичное введение в PyTorch и предназначена для быстрого ознакомления с библиотекой и формирования понимания её основных особенностей и её местоположения среди остальных библиотек глубокого обучения.

Fire walk with me
Total votes 66: ↑64 and ↓2 +62
Views 110K
Comments 20

Горящий дедлайн: как проджект-менеджеру не лишиться пальцев

Project management *
Sandbox
image

Все знают, что такое дедлайн, но не все знают, как правильно его ставить. Для разговора о срыве дедлайна на проекте можно подобрать много красивых метафор. Юбицумэ — одна из таких. Это ритуальное отрезание фаланги пальца в Японии. В частности к юбицумэ прибегают, чтобы принести извинения перед руководителем или хозяином за оплошность. Если вы смотрели фильмы про якудза, то поняли, о чём речь.

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

Неважно, в каком времени и месте ты живёшь и чем занимаешься — командные отношения должны быть крепкими, а сроки нужно соблюдать. Менеджеры студии Лайв Тайпинг хоть и не отрезают себе пальцы, но всё равно несут ответственность за данное клиенту слово. Опыт позволил мне сформулировать шесть ошибок, допустив которые, вы точно рискуете сдать работу не вовремя, и что делать, чтобы соблюдать дедлайны. Перестав допускать эти ошибки, вы заметите, как вырастет качество ваших проектов, сколько времени освободится на отдых и как улучшатся отношения между членами команды и с клиентом.
Читать дальше →
Total votes 20: ↑18 and ↓2 +16
Views 4.7K
Comments 11

Information

Rating
Does not participate
Location
Россия
Registered
Activity