понедельник, 30 марта 2015 г.

Создание учетной системы в SQL Server

На эту тему я выступал на SQL Server User Group 26 марта 2015 года. Ниже запись доклада:

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

В докладе я рассказывал как реализовать двойную бухгалтерскую запись в SQL Server и как получать баланс за любой диапазон дат за доли секунды на 100 миллионах проводок.

T-SQL скрипты, используемые в презентации, доступны по ссылке http://1drv.ms/1D9PCdN

В докладе не смог рассказать про использование Clustered Columnstore Index для решения задач учетной системы. В первую очередь потому, что они не позволяют ускорить вычисление баланса по всей системе, это работа для индексированных представлений. Но эксперименты показали, что использование CCI на таблице проводок удобно, в том случае если аналитические признаки являются отдельным колонками в таблице проводок и часто делаются запросы, которые выбирают записи по нескольким признакам.

Например если вы делаете складскую систему, то наиболее частые запросы будут – движения товаров за период по поставщикам\клиентам\товарам. Такие запросы прекрасно обрабатываются CCI индексами.

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

Если у вас есть интересные истории о создании учетных систем, особенно на других движках БД – делитесь в комментах.

понедельник, 23 марта 2015 г.

Выявление факторов лидерства среди ИТ-специалистов

Коллеги, хочу провести исследование факторов лидерства среди ИТ-специалистов.
Буду очень благодарен если вы ответите на небольшой опрос - http://1drv.ms/1xqh6uX.

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


понедельник, 26 января 2015 г.

Алиса в стране ИТ-проектов

Недавно наткнулся на сборник цитат из произведений Льюиса Кэрролла про Алису. Очень удивился, как некоторые цитаты описывают что происходит в ИТ-проектах.

 

Про заказчиков

Шляпных дел мастеров я уже видела. Мартовский Заяц, по-моему, куда интереснее. К тому же сейчас май — возможно, он уже немножко пришёл в себя.
— Ничего не поделаешь, — возразил Кот. — Все мы здесь не в своем уме — и ты, и я!
— Откуда вы знаете, что я не в своем уме? — спросила Алиса.
— Конечно, не в своем, — ответил Кот. — Иначе как бы ты здесь оказалась?

Про анализ требований

Не грусти. Рано или поздно все станет понятно, все станет на свои места и выстроится в единую красивую схему, как кружева. Станет понятно, зачем все было нужно, потому что все будет правильно.
Не все ли равно, о чем спрашивать, если ответа все равно не получишь, правда?
— Как мне попасть в дом? – повторила Алиса громче.
— А стоит ли туда попадать? – сказал Лягушонок. – Вот в чем вопрос.
– Ты что, не знаешь, что такое «это»?
– Я прекрасно знаю, что такое «это», когда я его нахожу.
Всё страньше и страньше! Всё чудесатее и чудесатее! Всё любопытственнее и любопытственнее! Всё страннее и страннее! Всё чудесится и чудесится!

Про написание Технического Задания

Я видала такую чепуху, по сравнению с которой эта чепуха — толковый словарь.
Как она ни пыталась, она не могла найти тут ни тени смысла, хотя все слова были ей совершенно понятны.
Если в мире все бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл?
Думай о смысле, а слова придут сами.
— Этой ужасной минуты я не забуду никогда в жизни.
— Забудешь, если не запишешь.
Правильность формы несущественна!

Про управление проектом

План, что и говорить, был превосходный: простой и ясный, лучше не придумать. Недостаток у него был только один: было совершенно неизвестно, как привести его в исполнение.
Любое приключение должно с чего-либо начаться... банально, но даже здесь это правда...
— Скажите, пожалуйста, куда мне отсюда идти?
— А куда ты хочешь попасть? — ответил Кот.
— Мне все равно… — сказала Алиса.
— Тогда все равно, куда и идти, — заметил Кот.
— … только бы попасть куда-нибудь, — пояснила Алиса.
— Куда-нибудь ты обязательно попадешь, — сказал Кот. — Нужно только достаточно долго идти.
Она всегда давала себе хорошие советы, хоть следовала им нечасто.
Не понимаю, как он может когда-нибудь окончить, раз он и не собирается начинать.
Делать ей было совершенно нечего, а сидеть без дела, сами знаете, дело нелегкое.
— С чего начинать, Ваше Величество? — спросил он.
— Начни с начала, — важно ответил Король, — продолжай, пока не дойдешь до конца. Как дойдешь — кончай!
То ли колодец был действительно уж очень глубоким, то ли летела Алиса уж очень не спеша.
Нельзя делать то, что нельзя.
Не понимаю, как он может когда-нибудь окончить, раз он и не собирается начинать.

Про оценку проекта

Алиса засмеялась. «Нет смысла и пытаться, — сказала она, — нельзя верить в небылицы». «Я полагаю, у тебя не слишком много опыта, — сказала Королева. — Когда я была моложе, я имела обыкновение делать это по полчаса в день. Да что там говорить, иногда я успевала поверить не менее чем в шесть небылиц ещё до завтрака».
Пока думаешь, что сказать, — делай реверанс! Это экономит время.
А у нас больше одной пятницы разом не бывает.
Знаешь, сколько стоит его время? Тысяча фунтов одна минута!

Про команду

Чем ниже голова, тем глубже мои мысли.
Лучший способ объяснить – это самому сделать!
Лестные слова часто вынуждают людей действовать.

Про ИТ-индустрию в целом

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

среда, 21 января 2015 г.

Трехдневный практический тренинг по PowerPivot и PowerView

С 18 по 20 февраля 2015 года пройдет тренинг по анализу данных и созданию решений с применением технологий PowerPivot и PowerView. Развивайте свои навыки по антикризисным ценам. Ссылка на тренинг - http://gandjustas.timepad.ru/event/176755/

Описание

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

Основное ограничение штатных средств Excel - анализ на относительно небольшом количестве строк - не более миллиона в последних версиях. Это, конечно, очень мало для анализа продаж даже небольшого магазина. При этом на миллионе строк расчеты происходят довольно медленно, что ограничивает полезность данного инструмента.

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

Третье ограничение - небольшой набор источников данных, к которым может подключаться Excel.

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

PowerPivot был создан как решение этих проблем. Он позволяет анализировать сотни миллионов строк данных (максимум 2 миллиарда строк), поддерживает анализ множества связанных таблиц без необходимости написания формул с ВПР и может подключаться к источникам данных используя стандартные протоколы.

Фактически с PowerPivot можно подключиться напрямую к ERP или CRM системе, забрать оттуда данные, построить аналитическую модель и визуализировать её в виде сводных таблиц или графиков. А используя PowerView можно визуализировать данные на карте или построить интерактивные диаграммы, отражающие динамику показателей во времени.

И все это не выходя из Excel и не написав ни единого SQL-запроса! И не нужно дополнительного софта, все уже встроено в Excel 2013. Идеальный инструмент для аналитиков, финансистов и тех, кто называет себя data scientist.

Но это не конец истории. Книгу Excel с моделью PowerPivot можно опубликовать на портале SharePoint и просматривать в браузере, не пересылая по почте огромные файлы (если загрузить сотню миллионов строк, то файл получится немаленький). Кроме того, на портале можно настроить автоматическое обновление модели, и пользователи каждый день будут видеть свежие данные.

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

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

Хотите научиться использовать PowerPivot и PowerView? Регистрируйтесь на мой тренинг (http://gandjustas.timepad.ru/event/176755/). Тренинг состоит из трех частей:

  • Первая часть - обучение построению моделей в PowerPivot и отчетов PowerView в Excel - для аналитиков и разработчиков. Вы научитесь:
    • Загружать данные в модель
    • Использовать язык DAX для создания расчетов
    • Пользоваться time-intelligence функциями
    • Применять типовые подходы (паттрены) проектирования моделей для типовых задач
    • Оптимизировать быстродействие отчетов
    • Создавать отчеты PowerView
  • Вторая часть - развертывание средств PowerPivot и PowerView на сервере SharePoint - для ИТ-специалистов и архитекторов решений. Вы научитесь:
    • Планировать архитектуру фермы SharePoint для использования PowerPivot и PowerView
    • Лицензировать серверные компоненты
    • Устанавливать и настраивать службы PowerPivot и PowerView в SharePoint
    • Решать типовые проблемы, возникающие при установке и настройке
  • Третья часть - создание решения с использованием PowerPivot и SharePoint - для разработчиков и архитекторов решений. Вы научитесь:
    • Проектировать решение для работы с большими объемами данных в SharePoint
    • Использовать модель PowerPivot для реализации вычислений на сервере
    • Интегрировать вычисления в рабочие процессы и формы SharePoint
    • Внедрять PowerView отчеты на страницы портала

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

Внимание! Для выполнения практических задач вам необходимо иметь ноутбук с установленным Excel 2013. Для тех, кто будет обучаться развертыванию и разработке (вторая и третья части), необходимо иметь ферму SharePoint Enterprise.

 

Программа тренинга

    1. Первый день - для аналитиков, финансистов и разработчиков
      • Загрузка и отображение данных PowerPivot
      • Как работают вычисления в PowerPivot
      • Введение в DAX, меры
      • Сложные вычисления с помощью calculate
      • Работа с множеством таблиц
      • Связанные и отсоединенные таблицы
      • FILTER vs CALCULATE
      • Time Intelligence
      • Итераторы
      • Паттерны:
        • Бюджетирование
        • Анализ корзины покупателя
        • Нестандартный календарь
      • Быстродействие
      • Создание отчетов в PowerView
    2. Второй день - для ИТ-специалистов и архитекторов
      • Архитектура PowerPivot и PowerView
        1. Компоненты PowerPivot и PowerView в SharePoint
        2. Лицензирование
        3. Как работает PowerPivot и PowerView на сервере
      • Установка PowerPivot на SharePoint
      • Настройка PowerPivot на ферме
      • Установка Reporting Services на SharePoint
      • Настройка Reporting Services на ферме
      • Траблшутинг
    3. Третий день - для разработчиков и архитекторов
      • Планирование решения
      • Создание схемы данных на портале
      • Создание модели PowerPivot и публикация на портале
      • Использование вычислений в формах
      • Создание отчетов PowerView и внедрение их на страницы
      • Рабочие процессы согласования с использованием данных PowerPivot и принудительное обновление модели

Стоимость

Вы можете выбрать наиболее подходящий вам вариант:

  1. Только первый день - 6,000 рублей
  2. Первый и второй день - 13,000 рублей
  3. Все три дня - 21,000 рублей

Специальное предложение

Для тех, кто пройдет тренинг по развертыванию ферм SharePoint (http://gandjustas.timepad.ru/event/175552/), будет действовать скидка в размере 3,500 рублей на все три дня тренинга. То есть вы можете БЕСПЛАТНО обучиться развертыванию фермы SharePoint, если будете участвовать в тренинге по PowerPivot и PowerVIew.

Регистрируйтесь прямо сейчас!

четверг, 15 января 2015 г.

Тренинг “Развертывание ферм SharePoint”

Если вам доводилось работать с SharePoint как разработчику, администратору или архитектору, то вы определенно сталкивались с проблемой развёртывания новых ферм. В SharePoint 2013 уже невозможно просто запустить мастер настройки чтобы получить работающую ферму. А развертывание фермы по всем по всем best practices уже требует джедайских навыков.

Посетив мой тренинг по развертыванию фермы SharePoint вы научитесь быстро и надежно развертывать как тестовые\разработческие среды, так и продуктивные.

Когда появился SharePoint 2013 мне потребовалось около 3 дней на развертывание всего функционала, я прошелся практически по всем граблям, которые присутствовали в релиз-версии. После этого я много раз занимался развертыванием продуктивных ферм и научился ставить SharePoint за несколько часов. За прошлый год только на установках SharePoint я заработал значительную сумму денег и привлек таким образом несколько клиентов. Хотите знать как - секрет ниже.

Ключевой компонент успеха - проект autospinstaller (http://autospinstaller.codeplex.com/), он позволяет задавать нужную конфигурацию фермы и проводить развертывание в повторяемом виде. Но кроме самого SharePoint еще требуется настройка DNS, развертывание workflow manager и Office Web Apps, а также тюнинг SQL Server. Для этого, к сожалению, готовых инструментов нет. Но на тренинге вы получите необходимые знания, для того, чтобы обойти возможные грабли.

Тренинг пройдет 29 января 2015 года и займет всего полдня. На тренинге вы будете своими руками :

  1. Развертывать виртуальные машины для фермы SharePoint в Windows Azure.
  2. Настраивать AD и DNS для создания масштабируемой фермы.
  3. Планировать конфигурацию фермы и структуру сайтов для применения всех возможностей.
  4. Интегрировать ферму с Workflow Manager и Office Web Apps
  5. Тюнить SQL Server для максимальной производительности

А во время установки и настройки компонент будем обсуждать вопросы масштабирования и обслуживания ферм.

Стоимость тренинга - 3500 рублей с человека.

Регистрируйтесь, количество мест ограничено.

Перейти к заказу билетов

среда, 14 января 2015 г.

Как проектному менеджеру провалить продажу проекта

В статье речь пойдет о типовых ИТшных проектах, которые продают большинство компаний-интераторов\аутсорсеров\разработчиков.

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

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

Способ №1

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

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

И это при том, что скорость в современном мире – один из важных факторов дифференциации от конкурентов.

Способ №2

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

  1. Обследование
  2. Написание ТЗ\Рисование архитектуры\Другие бумажные работы
  3. Разработка
  4. Тестирование
  5. Внедрение и настройка
  6. Сдача проекта

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

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

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

Способ №3

Отличный способ провалить продажу проекта – это вываливать на клиента свои проблемы. Чаще всего это проявляется в двух подходах:

  • Составляется список ограничений, в которых готов работать исполнитель, которые крайне неудобны заказчику. Например в проектах перехода на новую версию какой-либо системы требуют полную документацию по всем настройкам и кастомизациям, которая отсутствует чуть реже, чем всегда.
  • В плане проекта появляются “работы”, которые не имеют фактического результата и служат фактически риск-буферами. Объем этих буферов составляет значительную часть объема проекта.

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

Первопричина всех проблем

Менеджеров проектов учат, что успех – это попадание в “треугольник” объем-сроки-бюджет.  Многие процессы управления проектами рассчитаны на то, чтобы этот треугольник не менял размеры.

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

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

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

вторник, 13 января 2015 г.

Итоги 2014 года и планы на будущее

2014 год для меня выдался очень бурным. В апреле я покинул компанию АйТеко, где работал менеджером по развитию бизнеса, а до этого архитектором решений. За время работы в АйТеко я приобрёл огромный опыт продажи и создания бизнес-решений, разобрался как работает крупный бизнес (в основном банки и телеком) и понял как можно помогать им делать работу более эффективно.

После айтеко я еще несколько месяцев работал part-time архитектором, параллельно развивая свой бизнес. С июля я работаю исключительно на себя и безмерно этому рад.

Последние три месяца 2014 года выдались очень “горячими”, было много проектов и все хотелось закрыть до нового года, чтобы в 2015 войти без хвостов и с кучей денег. К счастью мне это удалось, но пришлось отодвинуть на второй план блогинг и другие активности. Зато удалось заработать в два раза больше, чем я зарабатывал, работая в интеграторе.

Рынок в 2014-2015 году

Еще с начала 2014 года была очевидна тенденция снижения размеров проектов. Мало кто заказывал типичные корпоративные порталы с длинными циклами планирования и внедрения, все хотели быстро получить результат . В 2015 году эта тенденция усилится из-за экономического кризиса.

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

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

Развертывание ферм SharePoint

Как ни странно самая высокая маржа получилась на развертывании ферм SharePoint. На практике спланировать и развернуть развернуть ферму SharePoint 2013 очень непросто. Встроенный configuration wizard делает от силы треть необходимых настроек, а развертывание на несколько серверов требует недели работы.

Используя правильные инструменты мне удалось разворачивать многосерверные фермы буквально за один день, а развертывание тестовых и разработческих  сред вообще можно выполнить за несколько часов. В итоге я заработал на развертывании SharePoint более 200,000 рублей, потратив суммарно около 5 дней работы.

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

PowerPivot и PowerView

Год назад я начал использовать PowerPivot и PowerView в SharePoint как инструмент разработки решений и это дало просто потрясающий эффект. PowerPivot помог реализовать решения, которые обрабатывают сотни тысяч элементов списков, не написав при этом ни единой строчки серверного кода SharePoint, а PowerView позволил делать отчеты за считанные минуты. Рукопашная реализация всех расчетов заняла бы несколько недель чистого времени на разработку и пару месяцев на отладку и внедрение.

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

Сообщество

В прошлом году был перезапущена юзер-группа по SharePoint и родилось фактически два формата мероприятий – встречи для разработчиков и инженеров, с короткими докладами для желающих и бизнес-ориентированные мероприятия с упором на передовые (читай облачные) продукты и технологии Microsoft. Я планирую и в этом году провести несколько подобных мероприятий.

Кстати для тех, кто дочитал до сюда, бонус – записи с декабрьской встречи юзер-группы - http://www.youtube.com/playlist?list=PLfB6mTkgdUsILmayFAM41h0Wr8YQyE7ma

В онлайн-сообществе на facebook количество участников подбирается к 500, надеюсь и дальше будет расти, пополняясь интересным контентом.

Мне нужен партнер

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

Мне не нужен просто сотрудник, который будет “кодить по ТЗ за зарплату”, я ищу именно партнера, который будет получать часть прибыли, помогать с поиском клиентов, продажей проектов и проведении тренингов. Я ищу человека, который сам хотел бы заниматься бизнесом, готов рисковать и брать на себя ответственность, настроен постоянно развиваться, и будет “крутиться”, чтобы зарабатывать больше.

Если вам интересно работать в таком режиме - пишите.

Мне нужен специалист по SharePoint, с навыками программирования C#, JavaScript и PowerShell, готовый изучать другие языки и технологии, например Microsoft Dynamics, BizTalk и даже 1C, а в дальнейшем сможет развиваться как менеджер.