Закрыть
Авторизоваться через пароль



Забыли пароль?
Авторизоваться через OpenID

 

Обзор rss-потоков, апрель 2008

Продолжаем ежемесячный обзор потоков прошедших через мою RSS-ленту.

Успешно прошли

  • LiveDev — интересный и приятный русскоязычный блог о веб-разработке, в том числе на Django. Побольше бы таких сайтов в рунете!
  • Психологический журнал «Искусство быть собой» — за последние год-два я еще не встречал настолько качественного сайта о саморазвитии и «популярной» психологии. В отличии от большинства подобных сайтов радует авторский контент и отсутствие «тупых понтов» у автора. Надеюсь, Олег Сатов, автор сайта, и дальше будет продолжать в том же духе.
  • Антикорпоратив.ру — сайт о бизнесе, корпоративной среде (вернее, о ее вреде), «лайфхаках». Наиболее полезен работникам больших бездушных компаний.
  • Управление проектами в картинках — интересный менеджерский блог, о нем я уже писал в прошый раз.
  • 4 конверта — блог о финансовом самоконтроле. Все сказано в названии. Интересный проект Макса Крайнова, недавно отделившийся от его основного сайта.
  • ContraMarketing — толковый блог с наблюдениями бывшего маркетолога. Искренний и циничный.

Не прошли карантин

  • SitePoint — крупное сообщество посвященное веб-разработке, управлениию небольшими интернет-проектами, маркетинге и дизайне в интернете. К сожалению, окончательно скурвился: минимум практических материалов.
  • LUK!Around — блог о путешествиях. Испортился: вместо блога о путешествиях превратился в блог о Берлине, где в каждом новом посте содержится совсем немного информации — складывается впечатление, что автору не о чем писать, потому он так поступает. Странно, что совпало это с активной рекламой у Давыдова. Надеюсь, в будущем сайт снова наберет обороты.

Временно в карантине

  • Иван Пирог в режиме онлайн — недавно открывшийся блог Ивана, организатора семинаров Exception. Он обещает писать статьи на темы самосовершенствования и самомотивации, IT-бизнеса. Пока что на сайте всего 3 статьи, но довольно познавательные. Уверен, сайт и дальше будет радовать качественным авторским контентом.
  • Agile-сообщество Беларуси — с одной стороны интересный сайт про agile-методологии. С другой — пока не могу понять, стоят ли его статьи затрачиваемого на чтение времени.
  • AGOGE — сообщество сильных. Блог с дурацким названием о личностном развитии современного человека. Пока не понятно, насколько он самобытен, время покажет.
  • David Cramer — интересный и полезный с практической точки зрения блог python-разработчика. Много информации о фреймворке Django и шаблонизаторе Jinja.
  • Mac OS от Винтика и Шпунтика — простой и забавный сайт о MacOS и софте для нее.
  • Пепелсбей.net — сайт о верстке с приятным дизайном. Негатива не вызывает, но статей на сайте пока слишком мало чтобы сформировать окончательное мнение.
  • Подлипенский Павел — Блог о технологиях и деньгах. В название все сказано. Молодой и интересный сайт об IT-бизнесе. Рекомендую!
  • MediaRevolutiuon — добротный русский сайт о маркетинге в средствах интернет-медиа. Радует обилие статистики вроде «Мужчины в возрасте 18-34 лет — наиболее активные зрители видеоконтента в Сети, 74% опрошенных заявили, что смотрят онлайновое видео по меньшей мере раз в неделю. Треть опрошенных мужчин в возрасте 18-24 лет смотрят онлайновое видео каждый день.».

Масштабируем Agile

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

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

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

  1. Пожалуй, самое главное, что удалось сделать — разделить один большой проект на целый пакет мелких и средних проектов, таким образом, каждая рабочая группа, состоящая из 2-5 человек, стала заниматься одним и только одним проектом.
  2. Вместе с разделением крупного проекта на мелкие изменилась и стратегия коммуникаций. Теперь команды разработки и их тимлиды регулярно взаимодействовали лишь с техническими руководителями в США, решая тактические вопросы и согласовывая API, а с локальными руководителями проектов вывяли текущие проблемы. В свою очередь, руководители проектов общались между собой и с высшим руководством сугубо о вопросах стратегии, рисков, интеграции проектов и изменения состава групп, а технические руководители между собой решали сложные архитектурные вопросы, утверждали API и следили за документированием технических решений. Отойдя от формальностей, можно сказать — главной задачей руководителей проектов и технических руководителей стало устранение преград на пути своих команд и интеграция проектов, но никак не отчетность.
  3. Часть команд стали проводить регулярные стоячие совещания, что было простым и дешевым способом для участников проекта «находиться на одной волне» и выявлять реальные и потенциальные проблемы своевременно. Без разделения «1 проект — 1 команда» это было бы невозможно.
  4. Длину итераций увеличили с одной до двух недель и стали планировать их так, чтобы в конце всегда оставался запас в пару дней. Это частично позволило избавиться от постоянной гонки, в которой все чувствуют себя проигравшими — когда работаешь в нормальном ритме, то и ошибок допускаешь меньше.
  5. Оценки сроков и планы перестали «спускаться сверху»: теперь оценки сроков задач проводилась их непосредственными исполнителями под присмотром тимлидов, после чего согласовывалась с руководителем проекта и техническим руководителем, которые, как правило, срок увеличивали, учитывая дополнительные риски и сложности.
  6. Стали использовать средства Continuous Integration. Полноценного TDD у нас все равно не получилось, но удалось заставить разработчиков тестировать свой код и более-менее стабилизировать качество билдов продукта.
  7. Ввели т.н. «development blogs», куда разработчики (реально — тимлиды) должны были каждый день записывать свои достижения и проблемы, с которыми они столкнулись. Эти блоги на некоторое время стали главным средством коммуникации удаленных команд (ведь они находились в разных офисах), кроме того, это заставляло разработчиков писать! Впрочем, когда объем взаимодействия между разными командами уменьшился, от блогов мы отказались для большинства проектов.
  8. Постепенно мы разработали различные автоматические средства отчетности и оценки сроков (используя идеи evidence based scheduling Джоэля Спольски), реализовав их как Jira plug-ins. Но постепенно отказались и от ежедневной формальной отчетности. Вести ее можно было разве что по собственному желанию, чтобы лучше ощущать «пульс проекта». Руководитель проекта теперь отвечал строго за успешное окончание каждой итерации, а не за успешное бумагомарание.
  9. Стали проводить ретроспективы (к сожалению, они проводились между руководством разных проектов без участия разработчиков) в конце итераций. Это не произвело чуда, но помогло увидеть проблемы с разных точек зрения и, конечно же, не наступать на одни и те же грабли дважды.
  10. Ввели еженедельную оценку оффшорных команд людьми из главного офиса в США, где каждый мог по пятибалльной шкале оценить уровень коммуникации, качества кода и адекватного восприятия документации. Локальные руководители проектов получали информацию и видели, кто какую оценку поставил. Многим поначалу казалось, что это сделано с целью найти козлов отпущения и показать «вот мы тут белые-пушистые, а они там за океаном бездельники и мудаки». На самом же деле, все эти оценки позволяли увидеть, кто конкретно не доволен взаимодействием, после чего не гадать — а связаться с этим человеком и узнать, чем именно он не доволен и совместно с ним улучшить рабочий процесс. Медленно, но уверенно все это получилось. Как всегда в распределенной разработке, главная трудность — коммуникация, а самый трудно контролируемый фактор — фактор человеческий.

Выводы

Пусть agile-процесс изначально и рассчитан под небольшие проекты и локальные команды — его вполне можно масштабировать. Главное для этого — открытость и смелость проектных команд и, в первую очередь, руководства.
Откажитесь от ложных целей вроде бюрократичной отчетности и стратегии прикрытия задницы, сконцентрируйтесь на получении необходимого вам продукта. Экспериментируйте с длительностью итераций, составом команд, способами взаимодействия и тестирования… Да, вы будете совершать ошибки, но суть гибкого адаптивного процесса в том, чтобы признавать свои ошибки, учиться на них и постоянно улучшать процесс, а не пытаясь скрыть ошибки и искать козлов отпущения. Технологии и процессы несовершенны, люди несовершенны, мир несовершенен… но это не означает, что не мы не должны учиться и улучшать качество своей работы.

А вы масштабировали agile-процесс? Если да, то как?


Неправильный Scrum

«То, что в первом приближении может очень походить на agile на самом деле может быть просто хаосом и способом траты денег, не имеющих четких целей и демотивирующих проектную команду.».

Алексей Кривицкий, тренер SCRUMguides

Гибкие (agile) методологии разработки ПО в последние годы активно набирают популярность. Они позволяют снизить риски проекта, уменьшить объем «бумажной волокиты» и попросту удешевить разработку.
Однако облегченность (например, в сравнении с «моделью водопада») этих методологий вовсе не означает, что их можно применять не разобравшись до конца в самой сути agile-процесса.

Данная история — пример хаоса, возникающего при неправильном обращении с agile-методологиями.
В прошлом году я участвовал в нескольких проектах, которые формально делались по методологии Scrum. Проекты были аутсорсинговыми, наш клиент продавал их своему клиенту как Scrum, соответственно, контракта с фиксированной оплатой не было, оплата шла повременная. Схема разработки была итерационной, каждая итерация включала в себя демо-версию продуктов и сессию планирования следующей итерации. Приоритеты требований менялись в зависимости от результатов демо. Так что же было не так?

  1. Начнем с того, что проекты были крупными и распределенными. Над одним проектом могло работать 35-45 человек, находящихся в разных офисах в разных городах в разных часовых поясах. Согласитесь, серьезное осложнение для процесса, где по канонам все должны работать в одном офисе (в идеале — в одной комнате), ведь живое общение — одна из основ agile-процесса: именно живое общение снижает уровень бумажной бюрократии.
  2. В первую очередь, наши клиенты восприняли Scrum с его ежедневными «стоячими совещаниями» как отличный способ получения отчетности (одна из величайших проблем крупного бизнеса в том, что отчитаться о проделанной работе часто важнее, чем эту самую работу качественно выполнить). Выглядело это так: каждый день для общения по телефону собирались руководители разработки из разных офисов и докладывали американскому руководству о состоянии текущих задач и дальнейших планах, после чего координировали работу со своими командами. Но у этих руководителей было по несколько групп разработчиков, а это в сумме — 20-25 человек на каждого… Реалистично отчитаться о задачах каждого из них — задача нетривиальная, потому к совещаниям вскоре подключили и руководителей команд. Даже для тимлидов не всегда было по силам досконально описать ситуацию в текущих задачах и способы ее решения, потому к совещаниям время от времени стали подключать и ключевых разработчиков. В итоге, большинство ключевых сотрудников стало отвлекаться на час-полтора каждый день, чтобы посовещаться. Это называлось «daily scrum» (который по правилам длиться должен не более 15 минут) и не могло не вредить общей продуктивности.
  3. Вскоре клиенты признали — такой подход не годится. Ведь больше всего о конкретных задачах проекта знают сами разработчики — значит они и должны отчитываться о своей работе, как это написано в книгах по Scrum’у. Но в команде проекта 30-40 разработчиков, притом, работающих в разных офисах, выслушать их всех и не потерять нить обсуждения крайне трудно. Выход был найден: вместо телефонных разговоров стали использовать групповой чат, логи которого всегда можно было перечитать. Но теперь уже не только ключевые сотрудники, но и вся проектная команда тратила ежедневно 1-2 часа на отчетность.
  4. Отчетность эволюционировала: когда стало понятно, что 1-2 из 8 рабочих часов ежедневно — это неприличная роскошь, схему пришлось изменить. Теперь разработчикам просто задавали подряд 3 классических для Scrum вопроса: «Что сделали за прошедший день?», «Что делаете теперь?», «Есть ли у вас препятствия на пути?», а разработчики должны были синхронно ответить на эти вопросы в чате. Больше никаких индивидуальных обсуждений… Позже американское руководство анализировало логи этих чатов… Зато все успевали «выговориться» за 15 минут. Было понятно, что подобные «daily scrum’ы» — чистый формализм, к счастью, разработчики воспринимали этот идиотизм с юмором.
  5. Впрочем, отчеты разработчиков вовсе не освобождали локальных руководителей разработки от собственных отчетов (еще более формальных) и за каждую итерацию, и за каждый день в отдельности. Я до сих пор не могу понять, где наши американские коллеги находили время для чтения всех отчетов.
  6. Все без исключений agile-методологии итеративны. В конце итерации (в Scrum они называются спринтами) мы получаем билд продукта, готовый к демонстрации. Создатели методологии XP предпочитают короткие итерации в 1-2 недели, Scrum — длинные в 1-2 месяца. Наш клиент решил сделать итерации максимально короткими — 1 неделя, то есть 5 рабочих дней. А иногда у нас бывали и микро-итерации — 2-3 дня… Клиент надеялся таким образом иметь больший контроль над процессом: ведь 1 неделя работы в неправильном направлении не так губительна, как две или даже четыре недели. Кроме того, если итерации недельные — значит и отчеты о результатах итерации можно получать каждую неделю. На практике же недельные итерации приводили к спешке: разработчики торопились, чтобы успеть закончить хоть что-то значимое в столь короткие сроки (впрочем, это скорее ошибка менеджмента), из-за чего уделяли минимум времени тестированию собственного кода. Осложняло ситуацию еще и то, что из 5 дней спринта реально на разработку оставалось всего 4, так как день уходил на «разворачивание» продукта, подготовку демо-версии и.т.п.. Каждый новый билд кишел глюками и мелкими недоработками.
  7. Роль тестировщиков в agile-процессе до сих пор слабо освещена. Клиента это нисколько не смущало, потому тестировщики у нас не были интегрированы в процесс разработки, а разработчики — в процесс тестирования. Если демо у нас в проектах проводилось каждый понедельник, то тестировщики (находящиеся не в тех же офисах, где работали разработчики) приступали к работе над тестированием нового билда лишь во вторник. Сессии планирования (стоит ли рассказывать, что, вопреки принципам Scrum’а, рядовые сотрудники в них не участвовали?) у нас проходили по четвергам, тестирование последнего билда в это время все еще длилось. Таким образом, просто не получалось составить план следующей итерации так, чтобы сначала исправлялись глюки, а лишь затем разрабатывался новый функционал. Можно было лишь предполагать что-то вроде «40% времени мы потратим на исправление ошибок». Такой подход вел к неконтролируемому распространению глюков.
  8. Сами заказчики продуктов были удалены от проектных команд. Такой инструмент гибких методологий как «пользовательские истории» тоже не использовался. Таким образом, заказчики и конечные исполнители не находились «на одной волне» и нередко воспринимали одни и те же требования по-разному. А ведь это одна из проблем, которую должны решать гибкие методологии.
  9. Не было и «ретроспектив». В конце каждого спринта команды не собирались вместе, чтобы обсудить слабые стороны итерации и решить, как можно улучшить процесс: распределенная природа разработки этого не позволяла. Иногда такие вопросы обсуждались руководителями на сессиях планирования, но решались лишь локальные вопросы — глобальные (а их было большинство) требовали многократного утверждения высшим руководством в США и «повисали» на неопределенный срок.

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

В последующих проектах совместно с клиентом нам удалось изменить стратегию, мы масштабировали agile-процесс для работы распределенных команд, отказались от понятия «Scrum» и побороли большинство проблем, описанных в этой статье, что увеличило продуктивность работы в несколько раз. Хотите узнать, как мы этого добились, как внедряли изменения? — это тема следующей статьи.


Эволюция фотобанков

«Сначала тебя игнорируют, затем над тобой смеются, затем с тобой борются, затем ты побеждаешь».

Махатма Ганди

Давайте мысленно вернемся в 2003-2004 годы: еще не существовало понятие AJAX, еще не было блога у каждой третьей студентки в большом городе, закругление уголков и зеркальное отражение логотипов еще не стало модной тенденцией веб-дизайна, а сайты с возможностью поиска одних пользователей другими еще не называли социальными сетями. В эти же годы со словом «фотобанк» в интернете ассоциировались Getty Images и Corbis.

Фотобанками пользовались и пользуются студии дизайна, рекламные и туристические агентства, издательства и многие другие, кому нужны фотографии на заданную тему, но не хочется (или нет возможности) нанимать для этой цели фотографов. В интернете фотобанки являлись логичной эволюцией информационных агентств вроде ИТАР ТАСС или Рейтерс.
Подход у этих служб был соответствующим: например, Corbis (основаный в 1989 году Биллом Гейтсом) не работал со сторонними фотографами, предпочитая все делать собственными силами, либо скупать традиционные информационные и фото-агентства. В Корбисе был целый штат аналитиков, следящих за мировыми тенденциями в политике, спорте, культуре, науке… и решающих, какие темы и стили фотографий будут наиболее ходовыми в ближайшее время. Наготове всегда был штат фотографов и моделей, светотехников, гримеров и костюмеров, экономистов и юристов. Если в Корбисе хотели снять фотосессию на медицинскую тематику — они просто арендовали настоящую больницу на ночь, привозили туда оборудование, моделей, часть декораций и проводили сессию.
Как видите, накладные расходы получались астрономическими, но фотобанки компенсировали это высокой стоимостью самих фотографий. Сколько я помню, 100-200 баксов за фотографию в низком разрешении считалось нормальной ценой.

На фоне этих гигантов возник проект iStockPhoto — фотобанк, являющийся посредником между фотографами и потребителями фотографий. Его цены были мизерными по сравнению со старшими братьями и составляли всего 1-20$ за фотографию. Большинство серьезных фотографов, игнорировали фотобанк, считая ниже своего достоинства продавать фотографии за 1-20$ (не считая комиссионных iStockPhoto). Игнорировали его и «старшие братья». Но фотобанк рос, набирая базу за счет любителей и средненьких фотографов.
Оказалось, что «любительские» фотографии тоже сильно востребованы и нередко оказываются по качеству не хуже «профессиональных» при значительно меньшей стоимости.
Вскоре бизнес-модель iStockPhoto стали копировать и появились новые фотобанки, такие как Dreamstime, Shutterstock (предлагающий абонементы вместо поштучной оплаты фотографий). Вслед за ними на рынок вышли Fotolia, StockXpert, BigStockPhoto… Этот тип фотобанков назвали «Микростоками» (Microstocks), и являлись они типичными представителями того, что сейчас принято называть «web 2.0».

Осенью 2005 года Киеве проходила презентация Zefa/Corbis. В это время я руководил разработкой Fotolia и, конечно же, хотел побольше узнать о конкурентах. Я спросил у представителя Corbis, как они относятся к конкуренции со стороны микростоков. Представитель улыбнулся и объяснил, что микростоки с их качеством фотографий не являются конкурентами Corbis и Getty Images.

Сейчас 2008 год. По данным Alexa iStockPhoto (проданый 2 года назад Getty Images) по своей популярности значительно обошел все остальные фотобанки — как микростоки, так и крупные. Затем идет Getty Images, с небольшим отрывом от нее следуют Fotolia и ShutterStock. Замыкает пятерку Corbis, запустивший собственный микросток — Snap Village.

Именно так энергичные стартапы побеждают «корпоративное зло», простые гибкие методологии разработки постепенно вытесняют бюрократизированные так же, как динамические языки программирования вытесняют статические.


Обзор rss-потоков, март 2008

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

Успешно прошли

  • Блог Henrika’а Kniberg’а — лучшее из всего что видел за последний год по теме гибких методологий разработки ПО. Хенрик умещает все основы методологии Scrum в один mindmap, описывает схемы работы с системами контроля версий при итеративной разработке, интеграцию тестировщиков в agile-процесс и многое другое.
  • Микромаркетинг — очень приятный сайт о маркетинге и бизнесе. Все написано простым понятным языком. Прочитал этот сайт «от корки до корки».
  • Ukrainian SCRUM Portal — продолжатель дела Agile Ukraine. Наиболее качественный украинский сайт со статьями о гибких методологиях разработки.
  • Персональные вопросы — интересный блог о тонкостях работы кадровых отделов (в IT).
  • Интернет нового века — автор этого блога недавно выступал на семинаре Exception 07, его доклад мне показался поверхностным и непродуманным… в то же время его блог о разработке с использованием фреймворка Django оказался значительно глубже и статьи несут практическую пользу.
  • Блог об IT бизнесе — интересный и толковый авторский сайт об IT, один из лучших подобных сайтов, как мне кажется. Минус всего один — автор болен «синдромом блоггера»: пишет довольно часто, но разбавляет классные продуманные статьи откровенной халтурой. Если бы статей стало в 3 раза меньше и оставались только хорошие — стало бы гораздо лучше.
  • Дедлайн как стиль жизни — толковый менеджерский блог. Освещаются темы управления проектами, мотивации, самоорганизации и различных «лайфхаков». К сожалению, как и большинству других менеджерских блогов, этому не хватает одного — изюминки.

Не прошли карантин

  • Urbansheep — пишет только в LJ. Там его и читаю.
  • Amazing development — никакой активности вот уже месяц, думаю, сайт сдох.
  • GeoSpot — «много букф». И сайт явно рассчитан больше на туристов чем на путешественников.
  • Agile Ukraine — теперь все полезное идет на scrum.com.ua.
  • Аналитика Cnews — сухая подача материала из мира больших корпораций.
  • How To Change the World — уже пару месяцев от Гая Кавыасаки никаких практических материалов, никакой пользы.
  • IT и Бизнес, сайт превратился в помойку «корпоративных новостей» крупных компаний бывшего СССР.
  • Overclockers Software — новости о софте для виндовс больше не интересуют.
  • Алена C++, наверное, я слишком далек от мира C++ и компьютерных игр, потому что посты жены Сагалаева совсем не цепляют.
  • Блог про Google Apps — все это и так публикуется на Хабрахабре.
  • The Meanwhile — словил себя на мысли, что в последние месяцы читаю блог Ильи Бирмана «на автомате», а чего-то полезного для себя не нахожу.
  • Agile Dokuwiki — проект морально устарел на пару лет и почти не обновляется.
  • Sitepoint Blogs PHP — мало аналитики, много информации для новичков PHP. Мне такое не нужно.
  • Блогбастер — блог о блогах. Довольно слабый и с малым количеством собственного контента.
  • ITC.ua — сайт о компьютерах. С одной стороны новостей много и адекватных, с другой — тут вперемешку и новости «софта», и «железа», и интернета, что прилично раздражает, хочется читать только определенную тематику.
  • XHTML.RU — сайт о верстке. Ничего плохого, но о самых интересных вещах все-равно читаю на «Хабре».
  • У Wadа — об этом сайте я уже писал в прошлом обзоре. Увы, автор мешает интересные статьи о бизнесе, обществе потребления и.т.п. с историями «как я катался по Америке на авто»… последнего, к сожалению, больше.
  • GUI.RU — неплохой сайт о юзабитили, но все его материалы, как оказалось, дублируются на «Хабре», так зачем же плодить сущности?

Временно в карантине

  • Популярная веб-механика — довольно перспективный, на первый взгляд, блог о веб-разработках, но с мизерным количеством контента. Посмотрим: умрет ли сайт или будет жить.
  • SitePoint — известный ресурс о веб-разработках: дизайне, верстке, программировании, управлении проектами и маркетинге. Читаю его уже 4 года, но в последнее время толковых статей становится все меньше и меньше, в основном публикуют довольно поверхностные материалы уровня «для чайников».
  • Пепелсбей.net — сайт о верстке с приятным дизайном. Негатива не вызывает, но статей на сайте пока слишком мало чтобы сформировать окончательное мнение.
  • Антикорпоратив — интересный блог о бизнесе, корпоративной среде (вернее, о ее вреде), «лайфхаках». Наиболее полезен работникам больших бездушных компаний. Серьезно смущает, разве что, обилие ненужных картинок к постам.
  • Управление проектами в картинках — забавный менеджерский сайт. Картинки со схемами с него мне нравятся, а вот тексты — так себе…