Pull to refresh
26
0
Алексей Васильев @sbase

Agile/XP coach, ТОС-консультант

Send message

Как мы наш большой проект на KPHP мигрировали

Reading time 12 min
Views 5.1K

История о том, как мы мигрировали нашу систему управления проектами на KPHP. Если у вас есть PHP-проект с длинной историей и вы хотите запуститься на KPHP для получения выгод, то приготовьтесь! Будет сложно, больно, сборка будет падать много раз. И если у вас останутся силы подняться вместе со сборкой, вы победите.

Узнать продробности
Total votes 47: ↑46 and ↓1 +45
Comments 11

Планирование проектов в организации (часть 4)

Reading time 5 min
Views 18K
Я продолжаю цикл публикаций о Pulse Management — Управление проектной организацией (Метод Пульса). В этой статье я расскажу о самой «вкусной» части: Планирование проектов. Планирование — это самая простая и самая сложная часть любого проекта основанного целью которого является создание интеллектуальной собственности. Простая — потому что «берешь алгоритм действий и пошел планировать», а сложная — потому что дьявол в в деталях о которых мы постоянно забываем.
Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Comments 2

Управление целями в организации: Цели и инженеры (часть 3)

Reading time 3 min
Views 4.5K

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

Первые основные правила: Правила Целей. Инженеры такие люди, которые могут достичь любую цель, однако если им цель не поставят, то они будут достигать свою цель. И она может не совсем соответствовать целям организации.
Читать дальше →
Total votes 10: ↑8 and ↓2 +6
Comments 4

Инструменты Метода управления проектной организацией (часть 2)

Reading time 5 min
Views 3.3K
Продолжаю серию публикаций об управлении проектной организацией в условиях когда много нужно выполнять все обязательства в срок и в полном объеме и есть ограничение по ресурсам. В прошлый раз я рассказал о концепции Pulse Management (Метода Пульса, далее «Метод»), а сейчас затронем тему инструментов.

Рассказывая на тренингах про Agile-подходы типа Scrum или eXtreme Programming неизбежно затрагиваешь тему ценностей и принципов. Но когда начинаешь внедрять те же методы в Организацию, то выясняется, что ценности это хорошо, но они не соответствуют целям компании. Потому, что это ценности существования самого процесса, эти ценности важны для совершенствования принципов процесса работы, для того, чтобы на основе принципов совершенствовать методы процесса. А у компании могут быть свои ценности, что ей на самом деле важно как «живому организму». Часто это вынесено в Миссию компании.
Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Comments 1

Управление проектной организацией

Reading time 5 min
Views 9.2K
Agile подходы набирают популярность из-за хорошей реализации работы с неопределенностью за счет постоянной поставки результата. Однако, почти любой Agile-процесс требует выделенной команды на проект и почти ничего не предоставляет для стратегического планирования. Реальность организацией такова, что им нужно выполнять все свои обязательства вовремя и в полном объеме имеющимися ресурсами. А с другой стороны, программно-портфельное управление — это отдельные книжки-приложения к PMBoK и до них мало кто добирается, хотя почти в любой организации есть «направления» и ограниченные ресурсы.

Поэтому, я создал Метод управления проектной организацией «Pulse management» — Метод Пульса (далее Метод). Это набор рекомендаций и Правил на основе Теории Ограничений, Agile-подходов и проектного управления обеспечивающий выполнение обязательств Организацией вовремя и в полном объеме в условиях ограниченных ресурсов и высокой неопределенности содержания проектов.
Читать дальше →
Total votes 18: ↑14 and ↓4 +10
Comments 12

Откуда мифы про Agile

Reading time 4 min
Views 9.5K

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

Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Comments 10

Хороший дизайн, плохой дизайн…

Reading time 3 min
Views 8.2K

Иногда, открываешь какой-нибудь проект с историей и понимаешь, что история и у этого проекта была длинная… Да еще и авторы менялись, и видно, что у них был небольшой опыт.

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

Проблемы и решения
Total votes 22: ↑12 and ↓10 +2
Comments 11

Применение Теории Ограничений для постановки процесса

Reading time 5 min
Views 20K

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


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


Алгоритм решения
Total votes 13: ↑12 and ↓1 +11
Comments 4

CxxMock — принцип действия

Reading time 9 min
Views 9.2K

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

Когда у меня возникла необходимость в создании CxxMock, о котором я писал в статье CxxMock — Mock-объекты в C++, я разобрал принцип действия похожего GoogleMock. Или еще раньше разобрал основную идею c10k сервера mathopd, что последующих проектах позволило мне лучше маневрировать в проектировании архитектуры.

Поэтому, я расскажу об основных концепциях и за счет которых работает CxxMock. И которые было интересно придумывать. Возможно, некоторые трюки покажутся вам простыми, а другие смогут вам помочь в вашей практике.
CxxMock взгляд изнутри
Total votes 18: ↑13 and ↓5 +8
Comments 3

CxxMock — Mock-объекты в C++

Reading time 5 min
Views 19K
Если вы верите в Agile и разработка через тестирование для вас является нормой, а не какой-то непонятной практикой, но наверное столкнулись с такой нехорошей проблемой как организацией тестирования объектов которые используют другие объекты через интерфейсы на C++.

Если для .NET есть замечательная библиотека Rhino.Mocks, которой достаточно «скормить» интерфейс и вы получаете возможность программирования поведения методов интерфейса прямо в модульном тесте. То для С++ все сильно сложнее, так как нет замечательного рефлекшена который позволяет строить код во время исполнения. И приходится писать объекты-заглушки вручную. И в случае изменения интерфейса приходится не только обновлять все классы в приложении но обновлять весь набор «одноразовых» классов заглушек реализующих интерфейс которые применяются в тестах.
Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Comments 6

Проектная кухня. Снижение архитектурных рисков проекта

Reading time 6 min
Views 7.1K
За свой опыт в разработке ПО я работал на многих проектах, и часто приходилось включаться в уже существующий проект или видеть как новая команда на моих проектах подхватывает проект с историей. Часто новый разработчик приходящий на проект и приступающий к выполнению задачи первым делом начинает плеваться на существующий дизайн. Ему кажется, что всё сделано не правильно, не очевидно и слишком переусложнено. И как результат, при выполнении задачи, начинают появляться дыры в уже разработанном дизайне и существующая архитектура начинает обрастать костылями. В конце концов, проект или его подсистему требуется переписать почти полностью. Чем старше проект, тем таких случаев может быть больше.

Также бывает и другая крайность, для реализации нового функционала или переделки существующего, один и разработчиков говорит: «Я знаю как сделать лучше!» после чего, вместо того чтобы дать идее «отлежаться» и оценить все плюсы и минусы, сразу начинает её делать. Где-то через месяц разработки может возникнуть ситуация, что чего-то он не предусмотрел, и приходится отказываться от разработки и выкидывать код или срочно искать варианты решения проблемы. Почти каждому разработчику в этом случае хочется сохранить лицо: «Как же так? Я же профессионал!» — думает он, «Если я признаю свою ошибку то все подумают, что я не настолько крут как всем говорю». И в этом случае Идея которая недостаточно проработана входит в проект и становится проблемой уже всей команды. Что также удорожает проект. А так как это становится заметно не сразу и внимания на причинно-следственные связи почти никто не обращает, то ситуация может повторяться снова и снова.
Это похоже на Ваш проект?
Total votes 13: ↑12 and ↓1 +11
Comments 11

Экспресс-курс «Проектное планирование»

Reading time 8 min
Views 22K

Везде ли применимо проектное планирование


Любую деятельность компании или отдельного человека можно разделить на два состояния:

  1. Я делаю (сделаю) что-то сейчас;
  2. Я буду это делать в будущем.

Первое состояние очень популярно в торгово-закупочной деятельности:

  • купить прямо сейчас;
  • заказать прямо сейчас;
  • позвонить прямо сейчас.

На вас сваливается десяток задач которые надо сделать прямо сейчас. Как правило, это задачи на «на пять минут», хотя иногда подготовка к выполнению самой задачи может занять и больше пары часов. Если такое происходит, тогда весь поток задач, которые надо сделать «прямо сейчас», останавливается, пока короткая задача не будет завершена, Однако, каким-то мифическим образом все такие задачи «рассасываются» к концу недели.
Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Comments 5

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity