Показаны сообщения с ярлыком PM. Показать все сообщения
Показаны сообщения с ярлыком PM. Показать все сообщения

пятница, 23 ноября 2012 г.

Evernote - приводим заметки в систему

Энштейн был знаменит тем, что иногда делал записи на всём что попадалось ему под руку (чтобы потом не упустить мысль). Как-то его с супругой пригласили на открытие нового астрономического телескопа. После открытия им устроили небольшую экскурсию. Гид, который сопровождал их, указывая на телескоп, заявил: С помощью этого прибора мы открываем тайны вселенной, на что супруга Энштейна тут же заметила:
- Странно, а моему мужу для этого достаточно огрызка карандаша и клочка бумаги…

Вы задумывались над тем, как часто в голову приходят гениальные мысли? Мозг ежедневно порождает интереснейшие идеи. Всякий раз, говоря себе "Было бы здорово если…" или "какое интересное решение" - вы находитесь на пути к успеху. А потом поворачиваете куда-то в сторону, продолжая движение привычным маршрутом. Стоит ли кидаться в неведомые дебри, при первой же иллюзии? Возможно и нет, но вот взять мысль на заметку точно стоит.
Безусловно, лучше всего делать записи на салфетках (этим методом я объяснял теорию электрических полей энергосберегающих двигателей одной барышне, и крайне успешно, так что способ точно работает ;-) ), но у них есть маленький недостаток – отсутствие поиска.
Существует множество программ и сетевых сервисов для ведения заметок. Если хочется простое решение - можно брать любой, к примеру, встроенный в MacOS Notes - ничего лишнего, позволяет составлять текстовые записи, добавлять изображения (а если очень хочется, то и файлы), есть поиск. Но со временем приходит потребность в группировке заметок, тегированию, совместному доступу, форматированию… Начинаешь приглядываться к сервисам, изначально казавшимся излишне усложненными. Именно так произошло мое знакомство с Evernote.

суббота, 8 сентября 2012 г.

Путь менеджера. О ценности времени



“Bad ideas are often good ideas that don’t fit. In the context of literature, books, and newspapers, it’s the job of the editor to pick the good stuff and weave it into a coherent story. You remove the bad stuff, but ‘bad’ can mean it’s a good idea but just doesn’t fit into the story…
Andrew Chen

Время - самый ценный ресурс в нашей жизни. Разменная монета, стоимость которой определяет сам человек. Как эффективно спланировать свой день, неделю, месяц? Можно ли эффективно организовать год? Процесс планирования напоминает игру в тетрис - есть множество задач разного объема, с различными сроками, и как-то их нужно запаковать в отведенное время. Пожалуй, я не совру, если скажу, что чемпионами таких игр можно смело считать менеджеров (руководителей). Обычно, менеджеры помогают сотрудникам скоординировать действия и эффективно использовать отведенные ресурсы. А возможен ли обратный процесс? Какое влияние оказывают сотрудники на эффективность использования времени руководителем?

понедельник, 21 мая 2012 г.

Sonar: автоматизируем проверку качества кода



“Иногда, читая чужой код, мне становится страшно, когда я пытаюсь представить процессы, проходящие в голове автора...”


Вам доводилось проводить code review своих проектов? А чужих? Процесс этот довольно трудоемкий, если производить его вручную, а к тому же, пока вы будете просматривать одну часть проекта, кто-нибудь обязательно успеет нагадить в другой. Не то, чтобы ручной труд занятие неблагодарное, но зачем, если его можно автоматизировать? Что автоматизировать и каким образом - об этом сегодня и поговорим.
Обычно выделяют следующие базовые показатели качественного кода:
- процент покрытия unit-тестами (весь покрытый тестами, абсолютно весь...)
- связность компонентов: цикличность (пересвязывали)
- отсутствие связности внутри методов: LCOM4 (недосвязывали)
- процент дублирования кода (есть такая религия - копипейст)
- сложность ветвления (if-ом кода не испортишь?)
- покрытие комментариями публичного API (чукча не читатель - чукча писатель)
- соответствие стилистическим нормам (как там учили в школе - красная строка размеров в два пальца?)
- прочие правила хорошего тона (это стул - на нем сидят, это стол - за ним едят)

воскресенье, 8 апреля 2012 г.

Идея, результат или деньги?



“Быть самым богатым человеком на кладбище для меня неважно. Ложась спать, говорить себе о том, что сделал что-то прекрасное — вот что действительно важно”
Стив Джобс

Ради чего вы работаете? Хотя нет, неверная формулировка вопроса. Почему каждый день вы ходите на работу? Что движет вами? Идея проекта над которым вы работаете? Результаты ваших трудов - вам приятно смотреть, как то, что вы делаете приносит пользу людям? Или вы работаете лишь для того, чтобы обеспечить себя деньгами? Можно ли рассматривать работу лишь как источник дохода?
Пожалуй, большинство людей отвечают на такой вопрос не задумываясь: я работаю, чтобы зарабатывать деньги. Некоторые добавляют, что работа не обязана нравится, она должна приносить стабильный доход, а жизнь начинается после работы. 70% жизни заниматься тем, что не приносит удовольствия, ради идеи о том, что возможно на выходных или во время отпуска они отдохнут? Оптимизм людей не ведает границ. А особо оптимистичные планируют начать настоящую жизнь после выхода на пенсию... Что влечет за собой такой подход к жизни? Есть три возможных сценария.

воскресенье, 16 октября 2011 г.

Monitoring Driven Deployment - unit-тесты для админов



На тему “искусства программирования” написано множество книг. Но я почти не встречал на просторах интернета литературы об “искусстве системного администрирования” (а кто-нибудь встречал?). Почему-то принято считать, что админ - это такой бородатый ленивый чудак, который живет со своим “сервером” в гражданском браке, а спит вот с этим. Люди считают, что админ - это мастер на все руки: он и принтер заправит, и антивирус настроит и сервер поднимет. Только это не админ ни разу, а эникейщик. И таких, имхо, нужно гнать из отрасли и прямиком на биокомпост (отголоски Дани в моем мозгу...).
На самом же деле, грамотное системное администрирование - это такое же искусство как и программирование, в котором есть свои приемы, паттерны, и при этом, они очень часто пересекаются по смыслу с приемами, используемыми программистами. Сегодня речь пойдет о таком важном понятии в администрировании, как “мониторинг” и его связи с unit-тестами.

четверг, 7 июля 2011 г.

Путь менеджера. Что вы сделали с вашей мечтой?

Иногда, глядя на деятельность менеджеров проектов приходишь в ужас! Любой проект - это мечта сделать мир лучше, сделать что-то грандиозное (я не беру в рассмотрение проекты с мечтой “бабло-бабло-бабло-машины-женщины-особняк”, люди руководящие такими проектами не менеджеры, а китайцы штампующие ширпотреб). Но мне очень часто приходится наблюдать печальную тенденцию: хорошо стартовавшая разработка, впоследствии перетекает в погоню за фитчами и преждевременную оптимизацию еще до первого официального выпуска в свет! По-моему, это те две вещи, которые могут на корню зарубить любую программную разработку, либо очень сильно затянуть выпуск и продвижение.

понедельник, 13 июня 2011 г.

Делаем жизнь ярче! Карты разума

Представьте, что вы сидите на диване, а лучше, лежите, скажем, в гамаке, натянутом между пальм, что растут на лазурном побережье вашего острова. И вот вы лежите такие, смотрите на заход солнца и придумываете гениальные идеи, одна другой лучше, а ваш верный менеджер сидит рядом и записывает их, готовый в любой момент сорваться с места и побежать их воплощать... Выдыхнули!
На самом деле идеи приходят в абсолютно любое время дня и ночи, когда вы едете в метро, поглощаете большого МакКряка, спите, занимаетесь сексом или справляете нужду. Многие этого даже не замечают, у них все останавливается на словах “а вот было бы не плохо если...”. И если то, о чем вы думаете, до селе не существует или существует в плохой реализации, то мои поздравления, вы только что породили бизнес-идею, которая, скорее всего, так и останется идеей, а вы даже не подумаете, что могли бы заработать на ней свой остров с пальмами, гамаком, лазурным побережьем... Выдыхнули!

четверг, 28 апреля 2011 г.

Тонкая настройка доступа к SVN c помощью hook'ов. SVN-Hooks framework

Все хорошие разработчики используют системы контроля версий. Но отнюдь не все используют их правильно. Это как в ситуации со столовыми приборами: да, можно есть руками; да, можно любую пищу съесть при помощи ложки; да, можно поделить кусок стейка на части при помощи исключительно вилки, но при этом вы измажетесь и потратите кучу времени, а окружающим людям будет крайне неприятно находиться рядом. В использовании систем контроля версий то же самое: можно делать commit неработающего кода, можно не до конца исправленные ошибки заливать в trunk, можно не писать комментарии к ревизиям - одним словом, можно вести себя как последняя свинья, вызывая всеобщее раздражение.
Решений здесь два: радикальное и правильное. Радикальное - покарать нерадивого разработчика физически (сделайте ему массаж почек и печени), морально (устроить публичную психологическую порку),  финансово (лишите премии). Но вы же понимаете, что все это плохо и поселит в глубине “чуткой” души разработчика обиду на вас. Может он был уставшим и просто недоглядел - бывает такое? Конечно бывает! Поэтому, решение правильное - автоматизируйте проверку кода (и всего, что к нему прилагается: комментарии, unit-тесты), поступающего в репозиторий! Благо, все хорошие системы контроля версий это позволяют делать. Сегодня речь пойдет о Subversion. Не смотря на то, что я сам предпочитаю Mercurial (в нем, кстати говоря, так же существуют hook’и), очень часто приходится сталкиваться с svn-репозиториями.

пятница, 8 апреля 2011 г.

суббота, 22 января 2011 г.

Автоматизация обработки заявок от пользователей, или как сделать свой HelpDesk


Рано или поздно перед создателями качественных программных продуктов (web-сервисов) встает вопрос технической поддержки своих клиентов (customers). Даже в самом хорошем программном продукте есть баги, которые внезапно “радуют” пользователей.
Что делают клиенты, когда находят баги? Нет, не так... Что делают хорошие клиенты, когда находят баги? - пишут об этом в техническую поддержку. “Техпод” обрабатывает заявку и ставит задачу разработчикам. Но такая модель не всегда верна.