20
08/2009

Закончили тут этап проекта

Закрыли сегодня первый этап крупного проекта (начался в ноябре). Многому научился за это время — и в организационном плане, и в плане разработки.

Во-первых, пересмотрел свои взгляды на оценку сроков разработки. В первую очередь это касается тестирования — не недооценивайте сроки, отводимые на тестирование! Еще в Древней Руси знали толк в тестировании, все знают про 7 раз отмерь и один раз отрежь. В общем, многие наступают на эти грабли, только пока сам не наступишь, всерьез не воспринимаешь.

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

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

Во-вторых, понял, что перед началом проекта обязательно нужно проводить подготовительные работы:

  1. Настроенные и готовые к работе средства коллективной разработки: система версионного контроля (svn, cvs, git, на любителя), багтрекер и средства планирования/обсуждения в отдельных или одном лице.
  2. Документация и материалы. Сюда входят ТЗ, описаниях архитектуры, интерфейса, дизайн, а также согласованные командой документы по организации кода, комментариев, базы данных и т.п.

Хаос в этих моментах приведет к хаосу во всем проекте (не путать с Доктором Хаусом ;).

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

P.S. Да, и если вам предлагают поучаствовать в проекте по разработке мессенджера за 2 месяца командой из 2-х человек, я настоятельно вам не рекомендую соглашаться. 

13
07/2009

Что читать этим летом

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

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

«Путь камикадзе». Эдвард Йордон

Автор делится опытом о том, что делать, если вы по воле случая участвуете или руководите «безнадежным» проектом разработки ПО, т.е. там, где реальная стоимость/сроки/план получаются в 1,5–5 и более раз больше заявленных. Рассказывается что с этим делать и как с этим жить. Решил почитать, т.к. начал сталкиваться с такими проектами на практике. 

«Золотой теленок». Ильф / Петров.

Смотрел фильмы по их произведениям, но никак не мог добраться до книг. Почти дочитал, и очень понравилось: пишут живо, колоритно и с юмором. Всем советую. Как дочитаю, хочу взяться за «Одноэтажную Америку».

«Совершенный код». С. Макконнелл

Изложены вопросы разработки, проектирования, отладки и тестирования программного обеспечения. Слышал много положительных отзывов, а читать начал только-только. Могу только сказать, что начало уже заинтересовало.

И 2 книги стоят в очереди на чтение, пока что не успел начать:

«Александр Македонский». Илья Шифман

Македонский безусловно был культовой личностью, захотелось подробнее почитать про его жизненный путь.

«Аналитическая психология. Тавистокские лекции». Карл Густав Юнг

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

--

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

13
06/2009

Macbook-приключения

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

читать далее...

07
06/2009

Did you know? Technology

Видео на тему скорости происходящих в мире процессов в целом и развития технологий в частности.

Подсмотрено у Виктора Ронина.

29
05/2009

Использование OpenGIS на практике

Спецификация OpenGIS на практике оказывается не так уж и сложна. К ее недостаткам, пожалуй, можно приписать только то, что нужно потратить час на ее изучение.

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

читать далее...

10
05/2009

Хранение гео-данных. OpenGIS

Хранение гео-данных и подводные камниХранение гео-данных — одна из самых актуальных задач в области хранения данных. Будь то каталог автозаправок, база данных городов, система отслеживания пробок — везде требуется эффективная система хранения больших объемов географических данных.

За стандартизацию этой области на данный момент отвечает Open Geospatial Consortium (OGC) или сокращенно Open GIS, в который, если верить Википедии, входит более 370 организаций. В течение нескольких лет они дружно выработали аж 28 стандартов.

Какие преимущества дает этот стандарт:

  • Позволяет хранить геометрический/географический объект в виде одного кортежа и нативно строить реляционные связи между этими объектами и другими данными БД;
  • Позволяет строить индексы по геометрическим полям и выполнять выборки с их помощью;
  • Предоставляет набор функций для манипулирования и выявления отношений между объектами (включение, пересечение, расстояние, соприкасание и т.п.);

Все наиболее известные разработчики СУБД создали расширения, осуществляющие поддержку хранения гео-данных. Перечислю некоторые из них.

читать далее...

_