вторник, 10 апреля 2012 г.

Software people. День первый.

Побывал сегодня на softwarepeople, вобще конференция считается самая-самая айс на нашем пост-советском пространстве. 
Потому уже можно поставить себе ачивмент - "побывал на swp" =) 
Куча знакомых и не знакомых лиц, известные гуру и т.д., в общем хороший повод по социализироваться)

Коротко опишу доклады, на которых побывал и впечатления:

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


Первым был доклад 
Джеффа Де Люка (Nebulon Pty Ltd) "Почему мы терпим неудачи. Разработка ПО в наши дни (Why We Fail. A Discussion of Software Development Today)"
Не хочется прям быть такой негативной сволочью, но чел был - Кэпом(тм).

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



Чуть-чуть рассказал про модель развития команды такмана - форминг-сторминг-норминг-перформинг. Рассказал об внесении изменениях и связанным с этим падением продуктивности, через что ажайл индустрия опять же уже прошла 100500 раз(например быстрое гугление "change chaos" дало данный линк).

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

После выступления решил, что хватит с меня иностранных докладчиков пошел послушать:
Сергей Высоковских (Нетвокс Лаб) Альтернативный метод визуализации хода IT-проектах

Сергей показывал способ визуализации хода проекта в виде эдакой военной карты наступления с штриховым\пунктирным кодированием прогресса задач, цветовым кодированием их типов, указания стрелочками порядков выполнения и т.д., эдакое проецирования прогресса на плоскость. Тема новая, но мне была не слишком интересной и потому я убежал слушать
Дмитрия Ханецкого (IBM) про "Эффективное управление жизненным циклом разработки ПО"
Дмитрий рассказывал про ibm jazz это эдакий комбаин, который позволяет тем или иным образом совместить в себе чуть ли не все продукты IBM от управления требованиями и моделирование бизнес процессов, до выполнения задач, проектирования, разработки, тестирования, отчетов, деплоймента и т.д.
С возможностью оттрасировать все и вся, что в принципе удобно.

Рассказывал про 100 миллионов строк в каком-нить софте для управленяи машиной, и 20ки миллионов для банков со всеми их регуляциями и правилами.
Для какого-нить банка или производителя автомобилей я думаю очень даже удобно и вполне себе решение, может даже применимо для компаний для разработки ПО, если вы готовы отвыкать от привычных жиры\редмайна. Для меня польза от доклада -  довольно сомнительна)

После послушал 
Василия Малинова (Oktogo.ru) про "Роль продукта в успехе привлечения инвестиций", увлекательно конечно узнать про размеры инвестий и на каких стадиях их дают, но не более того, видимо все существенное я пропустил пока искал, что-то более интересное (в главном зале в это время шла живая сессия БДД\ТДД, что в общем то то же не ново).

После Василия шел  Станислав Калканов (жж, там же есть ссылка на презентацию ) про "Управление инновациями в стиле Lean Startup", т.к. я был 1 из 3х-4х человек читавших книжку (думаю допишу по ней отзыв через неделю-другую, как будет свободное время).

Станислав сказал, что  - извините, буду рассказывать - основы, потому в общем-то провел основное время общаясь в калуарах, но судя по отзывам которые, я собрал тему он не сильно донес(т.к. книжку реально сложно уткнуть в 30 минут, да еще и с вводными), хотя тема реально интересная.

После был обед, к обеду претензий нет, он был вкусный)
Во время обеда с коллегами обсуждали ажайл\не ажайл, есть ли от него толк и польза и в  результате дискуссии (мы кажется были единственные кто громко ржал во время обеда) появилась мысль : "процесс, как средство позволяющее уменьшить мудаковатость соседней команды в 2 раза =)"

После обеда хотел послушать 
Дмитрия Евтеева (Positive Technologies) про "Собираем команду хакеров", да докладчик там чето долго колупался, а потом еще сказал ждем 5 минут, пока "что-то там".
Я решил, что лучше пойду пока кого другого послушаю, в главном зале шел Асхат Узарбаев с "Л
идерством в стиле Lean" (слайды) и хотя бы зажигательно рассказывал про свои любимые темы типа Лина, Ажайла, рассказывал про цикл Деминга PDCA, о том, что существенная часть команд останавливаетсья в развитии потому, что "итак вроде не плохо",  рассказывал про превращение работы в игру (сделай 20 тасков и получи ачивмент, стань программистом 80го уровня =)), в принципе идея не плохая тренд с бейджами и очками, вполне такой живой во всех социальных приложениях и игры, как средство получения фана от работы вполне себе идут.

После послушал 
Влада Балин(жж) (Финам) про "Разработку как процесс коллективного решения проблем".

Вот он рассказал классно, просто, понятно с примерами и вполне насущный вопрос: о том, что вся разработка ПО - по сути проектирование и как это проектирование делать правильно.

По сути разработка ПО - уже в будущем (по сравнению с материальынм производством), наше изготовление предмета занимает минуты (сборка-деплоймент), а не месяцы, как в обычном производстве: "Х времени придумывали схему устройства(проектирование), месяц ждали его изготовления(фабрика), пофикисли баги, поменяли схему(проектирование), еще месяц ждем(фабрика)" и так пару циклов.

У нас же сборка\выкатка - дело минут, тестировать можно сразу и фактические единственное, что осталось - это ТОЛЬКО проектирование.

А проектирование - это решение конкретной проблемы пользователя, ну по сути пользователи ВСЕГДА прибегает с РЕШЕНИЕМ своей проблемы - "нужно переписать риск-сервер!"(реальная проблема: в риск-сервере 10 критичных багов, их фикс займет 3 дня), "нужно сделать все на .net"(реальная проблема: никто не хочет лезть в этот код на дельфи), чаще всего пользователь даже хорошо знает о своих проблемах, просто сразу предлагает свое решение, и зачастую не самое оптимальное.

После того как проблема определена, наступает обычный инженерный этап проектирования:
- найти ВСЕ возможные варианты
- оценить их затратность, побочные эффекты и т.д.
- откинуть невозможные
- выбрать получше
а не сразу "переписать риск-сервер" =)

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



После послушал Андрея Сикорский (РИА Новости) про "Вниз по «скунсовой норе» или как внедрить UX в разработку".

Андрей рассказал про уровние юзабилити в вашей компании, (оригинал рассказал -
http://www.useit.com/alertbox/maturity.html), дал метрики индикаторы, как посчитать на каком вы уровне, + рассказал, что в принципе предшествует внедрению юзабилити в компании(падение продаж, отток пользователей, и т.д.).
Рассказал откуда его можно начинать внедрять(либо по партизански, либо имея чемпиона "бегемота" - большого босса, который скажет - "что за Х у вас тут твориться !?"), в общем интересно, НО "маловато будет")

После пошел слушать Сергея Минюрова про "Семантическая формализация требований: опыт построения проектной базы знаний", но докладчик был настолько скушен и не смог за первые 5 минут внятно донести - ни какие прям вот реально насущные проблемы со сбором требованиям у меня есть, и как их так прям резко можно решить его чудесным способом, что я просто ушел слушать Виктора Кузьмина (AlterGeo)  про то "Как выстроить разработку сервиса под несколько мобильных платформ".
Было довольно интересно. Рассказали зачем вам вобще мобильное приложение, что оно дает вместо допустим сайта(гео-* штуки, адресная книга), какие проблемы могут возникнуть.

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

Пользователи (вот ведь подлецы) существа ленивые и вот прям не очень то хотят обновлять свои приложения и потому их надо мотивировать:

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

Рассказали про свои проблемы с приемом в эппловский апп-стор.

Последним был 
Руслан Мартимов (General Satellite) с докладом "Death march projects и развитее разработки в компании", рассказывал хоть и очевидные вещи, но вполне живо: придется рубить углы, команда важна, безнадежный проект - хороший повод посмотреть, где у вас узкие места, чтоб сделать работу эффективнее. Извлек из доклада спорную мысль "Deathmarch, как двигатель прогресса" =)

1 комментарий:

  1. ibm jazz действительно замечательный инструмент, простой, удобный и интуитивно понятный, jira после него смотрится как ад. Да и процессы в IBM поставлены на удивление просто и эффективно, после современных переаджайленных команд прямо-таки глоток свежего воздуха. Хотя, мне пока довелось познакомиться лишь с маленькой частью системы.

    ОтветитьУдалить