29 декабря 2010 г.

Несколько мыслей о проектировании работы приложений с данными

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

1) Модель данных должна быть предельно простой и лаконичной. Это важно в виду многих причин. Простую модель проще понять и, соответственно, разработчикам проще с ней работать и строить на ее основе необходимую бизнес-логику. С технической точки зрения простая модель проста и в своей реализации. Не нужно рекурсий и сверхглубоких вложений объектов друг в друга. Не нужно обилия связей, особенно это касается связей типа «многий ко многим». Понятно, что не всегда возможно этого избежать. Где-то прикладная область диктует свои правила и создает дополнительные ограничения. Но во всех остальных случаях простота модели вполне достижима.

Почему важна простота реализации? А потому, что в большинстве проектов обязательно используются одни и те же связки уже готовых компонентов для представления слоя данных. Это СУБД плюс какое-нибудь ORM решение, если говорить о разработке с помощью объектно-ориентированной технологии программирования. Иногда эти готовые решения хорошо справляются со сложными взаимоотношениями объектов, но иногда, как показал наш случай, не очень. Когда случится это «не очень» никто не знает. Но с уверенностью можно сказать, что проблемы в этом случае вам обеспечены. Как минимум придется провести N-ое количество часов в попытках понять работу этого черного ящика под названием ORM+СУБД. Или надеяться на помощь со стороны поставщика готового решения. В любом случае все это ставит успешное завершения проекта в срок под угрозу.

14 декабря 2010 г.

Перестраиваем фундамент приложения

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

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

Если проводить аналогии, то эта задача будет похожа на перестройку фундамента жилой многоэтажки. Причем, без эвакуации проживающих в ней людей :-) Того и гляди, кто-нибудь обязательно выпадет из окна. А если не выпадет, до обязательно перепутает свою квартиру и подвал соседа. У кого-то очередная подпорка будет проходить по центру кровати в спальне. Или вообще дом в конце концов будет стоять под углом в 30 градусов к земле (что, само собой, опять же спровоцирует внезапные падения из окон). Тот еще геморрой одним словом.

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

7 декабря 2010 г.

Так возможно ли качественное тестирование силами разработчиков?

Среди множества статей, книг, докладов конференций периодически наталкиваюсь на мысль, что качественное тестирование силами разработчиков невозможно. Мол, программисты не любят тестировать свой код - примите это как аксиому. Поэтому без полноценного отдела тестирования или просто тестировщика вашему проекту крышка. Кроме того, тестирование силами разработчиков еще и дорого. А учитывая неудовлетворительный результат этого тестирования затраты ресурсов будут неэффективными.

Так вот, я с такими утверждениями категорически не согласен. Могу согласиться, разве что, с тем, что время разработчиков действительно может стоить дорого. Но вот остальное, на мой взгляд, очередной миф.

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

1 декабря 2010 г.

Книга месяца: «Психбольница в руках пациентов», Алан Купер

Вот и началась зима - в этом году как никогда по расписанию. Уже два дня назад в Гродно резко выпал снег и столбик термометра упал в чувствительный для организма «минус». Лично у меня зима ассоциируется с таким «основательным» временем года. Когда хочется сесть в теплое кресло, заварить чашку чая и внимательно изучить какую-нибудь новую книжку или разобраться в новой технологии. Другими словами, рабочее настроение улучшается.

Если месяц назад мы рассматривали легкий и до безобразия позитивный «Rework» от основателей 37signals, то в этом месяце, как и полагается зимой, книжка будет более глубокая и требующая внимания. Да-да, и это несмотря на название: «Психбольница в руках пациентов» за авторством Алана Купера, эксперта в области взаимодействия приложений с пользователем.

Эта книга далеко не новинка и пережила уже одно переиздание на русском. Любой, кто интересуется проектированием взаимодействия и юзабилити давным давно ее прочитал. А так ли это? Я, конечно, не эксперт в этих областях. Но в целом они мне достаточно интересны, чтобы покупать и читать книги и статьи других авторов - Стива Круга или Якоба Нильсена. Но, к сожалению, на эту замечательную книгу я обратил внимание только недавно. И причина этому очень проста - убогость дизайна обложки первого русского издания. Именно это оттолкнуло меня от прочтения этой книги раньше, посудите сами и посмотрите на старую обложку под катом.

26 ноября 2010 г.

Итоги конкурса приложений под Android - поздравляем победителей!

Вчера были подведены итоги конкурса приложений под Android, который проводился мобильным оператором Velcom. Очень приятно, что первое место заняли гродненцы. И еще более приятно, что некоторых из них я знаю лично и в свое время поработал в одной команде. Поздравляю, ребята! И призываю всех гродненцев присоединится к поздравлениям. Ознакомиться с полными результатами конкурса можно здесь.

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


Приложение-победитель называется «Семь чудес света». Вот как позиционируют его сами разработчики:

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

Компас покажет вам точные координаты, фотографию и расстояние до цели, а также сколько времени потребуется на ее достижение. 

Заполучить себе это приложение можно по ссылке. Жаль, нету аппарата на базе Android, я бы попробовал. Кстати, когда конкурс еще только начинался была мысль поучаствовать самому, но не срослось. Радует, что первый приз ушел в Гродно. Еще раз поздравляю!

19 ноября 2010 г.

Главное правило коммуникаций для любого менеджера

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

«Заткнись и слушай!»

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

Дядя Сэм как бы намекает
Рецепт применения прост до безобразия. Перед разговором с сотрудником один на один или перед совещанием со всей командой нужно крепко зажмурится и повторить про себя эту волшебную мантру три раза. Или лучше пять. И не только зажмурится, а еще и заткнуть уши. Сразу  же после применения мантры следует идти на встречу или совещание - срок действия «лекарства» ограничен!

Можно, конечно, подходить к вопросу не так радикально. Я вот, например, сделаю себе закладку на этот пост и повешу ее на самое видное место на панели браузера - лишним точно не будет :-)





16 ноября 2010 г.

Эффективные письма, часть 2: загляните в головы ваших читателей

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

Начнем с самого простого:

Четко укажите действие

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

Наша первостепенная задача - чтобы на той стороне нас поняли и предприняли правильные действия. Поэтому, ответив на вопрос о действиях, нужно сформулировать мысль максимально просто и лаконично. Эта мысль должна содержать действие (количество) и время. Например, «Пожалуйста, отсортируйте по приоритету все открытые ошибки последних двух итераций и составьте отчет с десятью наиболее важными ошибками к собранию в Четверг, 18 ноября.». Просто? Да. Достаточно ли этого? Не совсем.

12 ноября 2010 г.

В центре внимания - приложения и пользователи!

Вот уже две недели прошло, как состоялось крупнейшее событие года в мире разработки Microsoft - конференция PDC 2010. Вообще, я не фанат этой компании, но мне всегда интересно понаблюдать за такого рода событиями - очень часто можно уловить тренды, которыми будет жить IT индустрия в самое ближайшее время. И, конечно же, всегда захватывающе посмотреть выступления таких знаковых фигур, как Стив Баллмер. А вдруг он опять выкинет что-нибудь эдакое или сумасшедшее?

Выкроив два свободных часа, решил посмотреть KeyNote - вступление с обзором ключевых тем конференции. В этот раз Баллмер вел себя пристойно (может, годы уже не те?), но его экспрессивность при подаче материала всегда остается при нем. Видно, что человек действительно верит и болеет за то, о чем рассказывает. И это хорошо. Необходимое условие, чтобы расположить к себе аудиторию. Кстати, keynote можно посмотреть онлайн на сайте http://player.microsoftpdc.com/session, который мне показался на удивление неудобным.

Что касается трендов, то для Microsoft сейчас это:
  • Новая версия браузера Internet Explorer 9
  • Недавний релиз платформы Windows Phone 7
  • Облачные вычисления (платформа Windows Azure)
  • Дальнейшее развитие .NET технологий
Про Windows Phone я уже упоминал - ждем появления девайсов на основе этой платформы у нас. Новый IE пока не видел, поэтому промолчим. Хотя их главная идея - аппаратное ускорение видео, звука и графики неплоха. Жаль, что работает только на Windows-системах, но тут другого ждать не приходится. Мир .NET до сих пор остается для меня далеким и неизвестным - даже если бы я хотел что-нибудь сказать, я бы выглядел просто чайником :-) А вот на облачных вычислениях хотелось бы остановиться.

10 ноября 2010 г.

Эффективные письма, часть 1: как сделать так, чтобы ваши письма читали

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

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

8 ноября 2010 г.

Обновления блога: Разработка ПО в регионах версии 1.1

Решил собраться с силами, не ленится, и поработал на выходных над своим блогом. В результате получилась версия «Разработка ПО в регионах» v1.1 :-) Как и положено при выпуске релизов, публикую список изменений:

  • Переработана структура рубрик: мне удалось выкристаллизовать наиболее мне интересные темы для публикаций
  • Переработана страница Об авторе - содержание изменилось чуть более чем полностью
  • В конце каждого поста появился блок «Читайте также» с похожими материалами, а также ссылки для быстрой подписки на сообщения через RSS и Twitter
  • Добавлен блок «Популярное» со списком пяти самых просматриваемых страниц
  • Добавлен блок с пятью последними комментариями
  • Немного перетасованы виджеты в правой колонке, убран блок последних публикаций - уж слишком он был уродливый :-)
  • Спрятана навигационная панель blogger - толку от нее было мало

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


4 ноября 2010 г.

Ицхак Адизес о менеджменте, лидерстве и лидерах

Видео с рассуждениями Ицхака Адизеса о менеджменте, лидерстве и лидерах, а также о взаимодополняющих командах. Адизес - один из гуру менеджмента современности, автор множества книг и консультант с многолетним опытом.

 

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

1 ноября 2010 г.

Книга месяца: «Rework. Бизнес без предрассудков», Джейсон Фрайд и Дэвид Хайенмайер

Вот и я добрался-таки до этого бестселлера. Книга читается умопомрачительно быстро. С одной стороны из-за того, что она не такая уж и объемная :), с другой - после окончания очередной главы  сразу же хочется узнать что же будет дальше. В целом - авторы Джейсон Фрайд и Дэвид Хайнемайер постарались на славу. Однако, не все ладно в датском королевстве.

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


28 октября 2010 г.

Коммуникация с заказчиком - немного уличной магии

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

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

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

26 октября 2010 г.

Тренинг Александра Орлова в Минске - День второй

Речь идет о тренинге Александра Орлова (проект Happy-PM), который состоялся 16 и 17 октября в Минске. Первый день был посвящен управлению командой, а о втором я сейчас расскажу.



Итак, темой второго дня были эффективные коммуникации. В ее рамках мы успели рассмотреть следующие вопросы:
  • Конструктивная конфронтация и обратная связь
  • Как писать письма
  • Эффективные совещания
  • Работа в распределенной команде
Сразу скажу, что в сравнении с первым днем второй показался мне не таким интересным. Но это лишь в сравнении. Сам по себе он очень даже удался.

UPD Участие в этом тренинге стало катализатором для рассуждений на тему тренингов вообще, их полезности и составляющих - Составляющие хорошего тренинга

Теперь обо всем по порядку.

22 октября 2010 г.

Тренинг Александра Орлова в Минске - День первый

16 и 17 октября в Минске состоялся тренинг Александра Орлова, автора проекта Happy-PM, и в этот раз мне посчастливилось стать одним из его участников. Учитывая, что до этого момента я видел ряд записанных на видео выступлений Орлова на конференциях и уже больше года слежу за проектом Happy-PM в интернете, было вдвойне интересно принять участие в тренинге. Когда есть шанс лично познакомится с человеком, начинаешь немного по-другому (позитивнее)  воспринимать то, что он пишет на страницах своего блога или рассказывает на всевозможных конференциях. Как мы знаем, личные встречи и контакты вообще очень важны в нашей отрасли, где очень большая часть коммуникаций происходит в удаленном режиме. Но к этому мы еще вернемся.

На два дня тренинга были заявлены вот такие темы:
  • День1: Управление командой
    • Почему важны люди?
    • Отбор специальных людей
    • Удержание и мотивация
    • Материальная мотивация
    • (Анти-паттерны командного поведения)
    • (Условия работы)
  • День 2: Эффективные коммуникации
    • Конструктивная конфронтация и обратная связь
    • Как писать письма
    • Эффективные совещания
    • Работа в распределенной команде
(Подпункты в скобках мы, конечно же, не успели, но на общем впечатлении от тренинга это никак не отразилось. Да и будет что поизучать самостоятельно :) Про те же анти-паттерны очень хорошо написано у ДеМарко в «Балдеющих от адреналина»)

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

14 октября 2010 г.

Под Минском проходит ежегодная конференция «Деловой интернет»

Сегодня начала работу пятая ежегодная конференция «Деловой интернет» - наиболее крупное событие для Байнета. В этом году она расширила свои временные рамки и теперь займет целых четыре дня! В программе огромное количество интересных докладов на самые разные темы, участники точно не будут скучать и находится в тонусе. Особенно этому будет способствовать секция #devcamp со своим маш-питом - надеюсь у ребят получится что-нибудь захватывающее. Список докладчиков занимает несколько страниц - встречаются среди них и  такие люди, как генеральный директор Google Russia!  

И самое главное - участие абсолютно бесплатно. Так и хочется добавить: «Звоните нам прямо сейчас сейчас - и в подарок вы получите замечательный чехол для вашей новой хлеборезки!»....


Короче говоря, праздник жизни для любого айтишника. Жаль - не удалось поучаствовать, нужно ведь и кому-то работать, пока все развлекаются :) И тут бы мне начать рассказывать как полезно участвовать в конференциях и жалеть, что много работы  так далее... Но нет! Для всех «фронтовиков» приятный сюрприз от TUT.by - прямая трансляция онлайн прямо на главной странице сайта конференции. Поэтому запасаемся попкорном, рассказываем начальству, что изучаем важнейшие мануалы и новейшие технологии и смотрим!

11 октября 2010 г.

Windows Phone 7 - на старт!

Сегодня произошло важное событие в мире мобильных разработок - наконец-то официально представлена платформа Windows Phone 7 от Microsoft, а также первые модели аппаратов с ней на борту. Конечно же об этом сегодня трубят все крупные интернет-издания и блоги, поэтому данный пост совсем не с целью подхватить и донести эту волну информации до кого-либо еще. Хочется поиграть в предсказателя и кратко сказать о другом - что же ждет эту платформу в ближайшем будущем? Грандиозный успех или не менее грандиозный провал?

7 октября 2010 г.

Стив Джобс возглавляет рейтинг бизнесменов по мнению подростков

Недавно прочитал занимательную новость о том, что Стив Джобс, глава Apple, был назван самым почитаемым бизнесменом по мнению подростковой аудитории. Вот краткая выдержка новости на dev.by:
Компания Junior Achievement провела занимательное анкетирование среди подростков США. Обзвонив тысячу респондентов, чтобы получить представление, каким предпринимателем больше всего восхищается сегодняшняя молодежь, Junior Achievement обнаружила, что кандидатура Стива Джобса обошла по популярности не только автора Гарри Потера, но и Марка Цукербергера - основателя Facebook....

...Почти четверть респондентов (23%) назвали Джобса самым почитаемым бизнесменом. Показатель хороший, но по сравнению с результатами прошлого года (35%) он сильно упал.
Стив Джобс, беусловно, великий бизнесмен и предприниматель. Многие идеи Apple  действительно изменили мир. Но все ли проголосовавшие за него знают, что в этой бочке меда есть огромный половник дегтя?

2 октября 2010 г.

Книга месяца: «Путь камикадзе», Эдвард Йордон

Первоначально очень хотелось успеть прочитать и сделать отзыв о другой книге: новинка от 37signals «Rework. Бизнес без предрассудков». Но, к сожалению, на oz.by ее расхватали как горячие пирожки и мне экземпляра пока не досталось. Поэтому, снова обратимся к классике IT литературы - в этом месяце это «Путь камикадзе» Эдварда Йордона.

В этой книге раскрыто очень много важных вопросов, которым далеко не всегда уделяют внимание в работах об управлении IT проектами: политика, переговорные игры, взаимоотношения всех заинтересованных в проекте лиц и другие. Кроме того, автор раскрывает основные на его взгляд причины появления безнадежных проектов и участия в них людей. И, что очень важно, дает очень простые и действенные рекомендации как выжить и выстоять в таких проектах, которые будут полезны как программистам, так и менеджерам проектов.

Какие проекты относятся к безнадежным?

30 сентября 2010 г.

Путь джедая - эпизод 5, Империя наносит ответный удар

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

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

25 сентября 2010 г.

Участие в IT конференциях: вовлеченность в индустрию и мотивация

Во всем мире каждый год проводится просто прорва разнообразных конференций, слетов, фестивалей, семинаров и прочих подобных мероприятий. Многие из них, так или иначе,  посвящены IT отрасли. И некоторые проводятся у нас, в Беларуси. Каждая из них дает прекрасную возможность для самообразования разработчикам, тестировщикам, менеджерам. Думаю, не нужно объяснять почему. Лучше подчеркну другой огромный плюс участия в таких конференциях.

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

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

Однако, есть парочка проблем.

20 сентября 2010 г.

Оценка задач: как делать хорошие оценки

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

16 сентября 2010 г.

Оценка задач: причины неудачных оценок

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





15 сентября 2010 г.

Иконки в Eclipse

При разработке приложений на базе платформы Eclipse RCP время от времени возникает необходимость найти иконку для очередной кнопки панели управления или другого элемента интерфейса Eclipse. Конечно же нам, программистам, рисовать новые иконки зачастую лень, поэтому проще найти готовую. По ссылке внизу можно найти отличную подборку всех (наверное) иконок из множества плагинов Eclipse IDE. В принципе, найти среди них подходящую под ваши собственные нужды несложно. Пользуйтесь!

14 сентября 2010 г.

Почему ваше следующее приложение должно быть с открытым исходным кодом

Эта статья - перевод. Мне она показалась весьма интересной. В основном касается разработки приложения для App Store, но я думаю, что многое может быть применено и в других сферах. Далее повествование идет от лица автора статьи.

За последние несколько лет мне довелось поучаствовать в разработке всевозможных видов программного обеспечения. Начиная от внутреннего ПО с закрытым исходным кодом для компаний и продуктов и заканчивая фреймворками и инструментами для разработки приложений с открытым исходным кодом.

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

И вот почему:

10 сентября 2010 г.

Test Driven Development - так далеко, так близко

Недавно наткнулся на неплохие посты о TDD и в очередной раз у меня возникли очень противоречивые чувства.  Нет, не потому, что TDD меня чем-то не устраивает. И не потому, что я являюсь фанатом или евангелистом данной методики разработки. Все намного проще. Осознавая общую полезность этого подхода и полностью признавая его плюсы и преимущества, я никак не могу начать сознательно его использовать! Вот такая проблема. Разберемся?

8 сентября 2010 г.

Динамические выражения в Eclipse

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

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

Итак, расскажу как это устроено и работает у нас.

2 сентября 2010 г.

Оценка исследовательских задач


Все знают, что оценивать исследовательские задачи очень трудно. Как по времени («будет сделано к следующему понедельнику.... или через неделю... или...»), так и по фактическим трудозатратам («на эту задачу у меня уйдет... скажем, 24 часа и примерно 35 минут»).


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

30 августа 2010 г.

Книга месяца: «Deadline. Роман об управлении проектами.», Том ДеМарко


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

Начать свои книжные обзоры я хочу с классики жанра. Пускай об этой книге сказано немало, однако я считаю что она заслуживает того, чтобы говорить и говорить о ней. Итак, «Deadline. Роман об управлении проектами» Тома ДеМарко.







26 августа 2010 г.

Интерфейс пользователя Eclipse: порция критики

Я долго работал (и продолжаю работать) с платформой Eclipse RCP. В целом - платформа безусловно хороша для java-разработчика. Без шума и пыли мы получаем готовый каркас приложения прямо «из коробки», а также развитый API для создания гибкого полноценного desktop-приложения. Конечно, есть в этой платформе свои недостатки. В том числе, обусловленные слишком модульной и гибкой архитектурой. 

Но сегодня не об этом. Поговорим об интерфейсе приложения, который так легко построить с помощью компонентов Eclipse. Практически всегда я был более или менее доволен возможностями платформы в плане разработки интерфейса пользователя. Однако, пора выписать свою порцию критики.

23 августа 2010 г.

Путь джедая - эпизод 4, Новая надежда

Дисклэймер: не претендую на оригинальность, универсальность и премию Оскар. Думаю, что мои рассказы смогут стать интересными как новичкам, так и более опытным разработчикам. Первые найдут здесь полезный опыт и (надеюсь!) полезные советы, вторые - смогут поностальгировать о давно прошедших временах. 

И не волнуйтесь - никто не перейдет на темную сторону, не смотря на то, что временами их печеньки выглядят очень и очень аппетитно:)

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

Что обычно происходит с новым разработчиком на проекте?

18 августа 2010 г.

Традиционное начало или «Гроссмейстер сыграл e2-e4»

Итак, первый пост – он трудный самый. Чтобы хоть как-то начать, я не стану отходить от «канонических» правил всевозможных мануалов из мира разработки ПО. Поэтому,

Hello, world!

Тадаам! Пару слов о том почему «разработка» и почему она «в регионах».