• Скрытые расходы при переходе на микросервисы

      В идеальном мире можно просто взять исходный код монолита, разделить его код между микросервисами и, соединив их между собой, получить ту же систему, но на новой архитектуре. В жизни так не происходит никогда. Жизнь вносит множество сложностей в эту идеальную картинку. Какие конкретно сложности могут увеличить бюджет перехода на микросервисы в два-три раза?

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

      Читать далее
    • Управление проектом по Fix Time, Fix Budget, Flex Scope (FFF)

        Не мечта ли любого владельца компании управлять IT-продуктом так, чтобы поставлять продукт в срок, обгоняя конкурентов, и делать это с высоким качеством, радуя пользователей? Хотелось бы найти серебряную пулю для управления и, кажется, она есть. Не такая уж серебряная и не такая уж пуля, но довольно надежный и обкатанный годами подход к управлению, который можно назвать FFF: Fix Time and Budget, Flex Scope.

        Почему и когда стоит выбрать FFF? Давайте посмотрим.
        Читать дальше →
      • От микросервисного монолита к оркестратору бизнес-сервисов

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


          Если вы определите, на каком из этапов находитесь сейчас, это поможет вам понять плюсы и минусы текущего этапа, оценить стоит ли идти на следующий этап и, если стоит, увидеть шаги необходимые для перехода.
          Читать дальше →
        • Шпаргалка для предпринимателя по IT-миру

          • Tutorial
          Бизнес в России учится делать не только скучные проекты по автоматизации бизнес-процессов, но и создавать IT-решения, способные помочь в борьбе с конкурентами. Например, проекты по предсказанию спроса, real-time offer management, оптимизации логистики, микротаргетированию. Такие сложные задачи отличаются от типовых внедрений CRM или выбора CMS. Надо иначе искать разработчиков, иначе мотивировать, думать об IT-архитектуре и методологии управления.

          Шпаргалка — навигация по темам, которые стоит знать руководителю компании и топ-менеджеру, чтобы грамотно реализовать IT-проекты нового уровня сложности. По каждой теме будет много ссылок на статьи, интервью, обзоры и видео.
          Читать дальше →
        • Кейс OZON.ru: Как сделать тарификацию доставки прозрачной и управляемой

            image
            Инфографика в посте сделана на R по реальным данным из Тарификатора.

            Вы сталкиваетесь с тарификацией доставки, когда делаете заказ в интернет-магазине. Тарификатор — IT-система, которая говорит каким способом товар доставят, на какие посылки разобьется корзина, сколько стоит доставка и когда привезут заказ. Тарификатор собирает информацию со склада и служб доставки, перерабатывает и выдает результаты покупателям интернет-магазина на сайте.

            Цена за доставку товара для покупателя интернет-магазина редко совпадает с ценой, которую транспортная компания возьмет с самого магазина. Захотели вы привезти книги с помощью DHL в Новосибирск. OZON.ru выставит вам конкурентную цену за доставку — 500 руб. При этом DHL за эту доставку выставит OZON.ru счет на 1000 руб. Это кажется странным, но такова реальность, которую диктует рынок.
            Читать дальше →
          • Кнопочное мышление против целостного IT-продукта

              Эта статья — выражение моей личной боли. Кнопочные решения портят мне жизнь, я трачу время на споры и обоснования.



              Когда мы общаемся с коллегами, заказчиками или пользователями, я использую фразу «кнопочное мышление». Что я имею ввиду под этим термином? Текущая статья — развернутый ответ на этот вопрос.



              Синонимами кнопочного мышления я считаю «экранное мышление» или преждевременную концептуализацию. Я раскрою мышление кнопками на десятке примеров из практики. А здесь для начала история, которая наверняка случалась с каждым. Представьте к вам приходят и рассказывают о падении конверсии на сайте. А вы ему сразу: «Давайте кнопку покупки сделаем побольше и поярче!». Что произошло? В бизнесе возникла проблема. Вместо погружения в детали, вместо исследования причин, вы играете с размерами кнопки. Вот в таких случаях я говорю о кнопочном мышлении.



              Для тех, кто любит смотреть, а не читать, есть видео и слайды.


              Читать дальше →
            • JavaScript-приложение, или зачем нам Razor в ASP.NET MVC?

                image

                Не думал, что напишу это, но JavaScript победил. Мы перестали использовать Razor для создания веб-приложений. Вместо этого реализуем front-end в отдельном проекте на JavaScript-фреймворках. От ASP.NET остался только WebAPI и «движок», на котором мы пишем бизнес-логику и API для пользовательского интерфейса.

                Читать дальше →
              • Стендапы в стиле Kanban

                • Tutorial
                Stand-up meeting, Daily Scrum Meeting или просто планёрки стали привычной практикой в IT. Я описывал различные нюансы стендапов ещё 5 лет назад в статье Stand-up meeting: лучшие и худшие практики. Казалось бы, техника проведения стендапов уже рассмотрена со всех сторон. Что в планёрке может быть сложного? Но совсем недавно наша компания начала практиковать несколько другой подход, с помощью которого мы ускорили выход задач в релиз.

                Всё началось, когда летом 2014 года в Москве мы с Асхатом шли на тренинг и он обратил моё внимание на разницу между стендапами в Scrum и Kanban. До этого я не придавал особого значения таким нюансам. У нас в компании для части проектов используется Kanban, но стиль стендапов остался от Scrum'а.

                Сейчас мы поменяли подход к стендапам, об этом я расскажу дальше, покажу разницу между тем, что было и тем, что стало. В конце статьи есть ссылки для более глубокого погружения в тему с описанием разных мнений и нюансов.
                Читать дальше →
                • +20
                • 36,8k
                • 7
              • Impact Mapping на практике

                • Tutorial


                Когда читал книгу Impact Mapping первый раз, у меня было желание бросить её на середине. Всё, что там написано, слишком очевидно. Я нашел в себе силы и дочитал, благо книга коротная и с большими картинками. Как в последствии выяснилось, вся соль была в том, что все эти очевидные и простые практики из книги я не применял в своей работе.

                Иногда заказчики писали свои цели в официальных документах к проекту. Иногда мне казалось, что я и так понимаю цели заказчика — они абсолютно очевидны. К чему уточнять очевидное? Разницу я почувствовал, когда начал применять Impact Mapping в работе.

                Читать дальше →
              • Подборка манифестов из мира IT

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

                  В статье описаны:
                  1. Manifesto for Agile Software Development
                  2. Agile Manifesto — IBM version
                  3. MoreAgile Manifesto
                  4. Agile Manifesto 2.1
                  5. Manifesto for Half-Arsed Agile Software Development
                  6. Declaration of Interdependence
                  7. Programming, Motherfucker
                  8. Software Craftsmanship Мanifesto
                  9. DevOps Manifesto


                  Читать дальше →
                • Экстремальное программирование: Pair Programming



                    Парное программирование является одной из практик XP. Эта практика воплощает экстремальную (преувеличенную) идею Code Review. Если ревью позволяет улучшить качество кода, то давайте делать его постоянно, во время рефакторинга и написания нового кода.

                    Проблема проведения обычного Code Review заключается в том, что программисты дают очень поверхностную обратную связь, когда просто смотрят на ваш код. Но как только они начинаются с ним работать, вот тогда прилетает настоящая обратная связь по всем тонким местам и недочетам.
                    Читать дальше →
                  • Тестирование: Ручное или Автоматизированное?

                      Хочу поделиться опытом по организации процесса тестирования, который охватывает 3 года моей работы и создание нескольких крупных систем. Описание будет затрагивать только автоматизацию «ручного» тестирования без пересечения с другими аспектами разработки ПО.

                      Я думаю стоит сразу упомянуть, что на всех этапах мы использовали:
                      • Модульные тесты с покрытием около 50%
                      • Continuous Integration с запуском модульных тестов (в последствии и интеграционных), автоматической сборкой и выпуском релиза
                      • Пересечение из гибких методологий под общим названием ScrumbanXP


                      Везде, где я буду говорить про автоматизацию тестирования, речь будет идти про тестирование интерфейса с подключением к внешним ресурсам (БД, файловая система, сервисы и т.п.).

                      Читать дальше →
                    • Материалы онлайн конференции .NET разработчиков

                        4-я .NETconf прошла 28 апреля 2012 и первый раз была в онлайн формате. Это позволило принять участие разработчикам, которые не могли прилететь на 3 предыдущие встречи. За время трансляции 7-ми выступлений в конференции приняли активное участие 508 человек.

                        Ниже выложены 6 докладов и один мастер-класс с видео, слайдами и ссылками на исходный код.

                        Читать дальше →
                      • 3-я конференция .NET разработчиков

                          3-ю конференция .NET разработчиков состоится 25 сентября в Челябинске. Официальный адрес в сети http://www.dotnetconf.ru, встреча ВКонтакте и #dotnetconf + @dotnetconf. Регистрация на конференцию открыта по адресу http://www.dotnetconf.ru/Registration.

                          Читать дальше →
                        • FluentOpenXml — Foxby

                            Foxby — это библиотека для работы с Word документами в формате OpenXml. Предназначена для генерации документов по шаблону и внесения изменений в существующие документы. С помощью неё вы сможете отказаться от работы с COM+ или редактирования OpenXML-дерева через OpenXML SDK и перейти к механизму построения структуры документа из метаэлементов в декларативном виде.

                            В классе решаемых задач: создание параграфов, создание и заполнение таблиц, списков, работа с изображениями, форматирование и т.п. Фактически библиотека является оберткой над OpenXML SDK с API в виде Fluent-интерфейса.
                            Читать дальше →
                          • Началась подготовка к 3-й конференции .NET разработчиков

                              Конференция .NET разработчиков

                              Мы начали организацию 3-й конференции .NET разработчиков в Челябинске. Официальный сайт http://www.dotnetconf.ru, встреча ВКонтакте и твиттер #dotnetconf + @dotnetconf.

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

                              Читать дальше →
                            • Карьера в IT

                                Что является основным критерием карьерного успеха? Как попасть на желанную работу, если недостаточно опыта? В этой статье я попытался ответить на эти и другие вопросы, связанные с карьерой IT-специалиста.

                                Читать дальше →
                              • Вторая конференция .NET разработчиков в Челябинске

                                  Конференция .NET разработчиков

                                  Мы приглашаем вас на вторую встречу .NET разработчиков, которая состоится 25 марта в Челябинске. Официальный адрес в сети http://www.dotnetconf.ru, встреча ВКонтакте и хэш-тэг в Twitter #dotnetconf

                                  Читать дальше →