Записки координатора.Первые впечатления об удаленной разработке
Проект ИГЛА Записки координатора. (Первые впечатления об удаленной разработке) Не претендую на истину в последней инстанции. На моем месте координатора скоро будут и другие. Ничего личного. Только для общего блага. О проекте "АЛЬФА".Те, кто следит за развитием и становление группы "Игла", наверное, заметили, что первоначальная активность представления на сайте несколько спала. Одна из причин - выполнение первого проекта "АЛЬФА". Проект не уникальной сложности. Каждый из нас сделал бы его легко и элегантно в одиночестве, но ставилась задача отработать способы, методы и приемы работы в команде УДАЛЕННЫХ разработчиков и данный проект подошел как нельзя лучше. Мы пригласили пятерых разработчиков, считая координатора. Те, кто скачает проект для ознакомления (будет предоставлен для просмотра) - обратят внимание на избыточную структура данных. Это заложено в ТЗ - ЗАКАЗЧИК очертил структуру данных ЖЕСТКО. Проект будет выполнять функции надстройки к уже существующей системе. Постановка задачи (приближенно). Фирма использует базу данных для учета своих абонентов. Абонентов много. Платежей также. Оплаты вводят операторы с нескольких разных компьютеров. Основная база - на сервере. Проблемы. Большое количество ошибок операторов. Частые сбои сети. Как следствие - затруднения при "выверке" итогов за отчетный период, потери данных, повторные вводы и т.д. Задача: Разработать надстройку к системе по вводу оплат. Особенности реализации: Ввод данных осуществляется ИДЕНТИФИЦИРОВАННЫМ оператором на компьютере-клиенте в СОБСТВЕННУЮ базу данных. После проверки ввода данных определенным образом осуществляется пакетное обновление данных на сервере: - Создание архивной копии базы клиента на компьютере-клиенте с указанием даты и фамилии оператора. - Распечатка отчета о введенных данных на компьютере клиенте. - Передача данных на сервер. - Очистка базы клиента для нового сеанса ввода данных. - Просмотр данных об оплатах с общей базы на сервере. - Архивное копирование данных с сервера - Построение отчетов по данным сервера об итогах оплат по заданному периоду. Распределение заданий. Координатор, который связан с заказчиком, ведет согласования между разработчиками, собирает все в единое целое и т.д. Команда разработчиков, выполняющая задачи поставленные координатором. Я взялся за роль координатора. Заказчик мой и задача у меня перед глазами (в том числе и расстроенные постоянными сбоями операторы :). ВЫВОД ПЕРВЫЙ. Координатором должен становиться разработчик, находящийся рядом с заказчиком или четко представляющий себе ЗАДАЧУ. Было выбрано четверо исполнителей. Подзадачи распределили следующим образом : - формы заполнения справочников операторов, видов оплат, мест оплат.Форма идентификации оператора. - форма собственно ввода оплат с последующей пересылкой на сервер. - форма просмотра и поисков в общей базе, модули архивного копирования. - отчеты. - сборка воедино, общий вид и т.п.(координатор) Первые решения. Вскоре поступили первые решения. Здесь и далее я ни в коей мере не хочу показаться старым брюзгой и все же вынужден высказываться, в основном, с критическими замечаниями (в том числе и себя). Сначала многие разработчики обрушились с гневной критикой структуры базы данных. Я соглашался с ними в принципе, но отстаивал интересы заказчика. Выше я уже изложил причину. ВЫВОД ВТОРОЙ. Не спорь с координатором - ему виднее.(?) При постановке задаче было объявлено, что формы делаем стандартные, чтобы не вызвать эффекта ярмарки. Разработчики, работающие над проектом, хотели показать себя во всей красе. Отсюда один минус. Делали СЛОЖНО то, что можно было сделать ПРОСТО. К тому же такой подход вызывает затруднения у "сборщика" - как придать единообразный вид разномастным формам? Вначале было оговорено, что формы делаем стандартные, но нет - разные у всех . ВЫВОД ТРЕТИЙ. Координатор! Жестко и четко формулируй требования к формам! ВЫВОД ЧЕТВЕРТЫЙ. Разработчик! Не делай сложно то, что можно сделать просто! Ляпы Вообще ляпов оказалось предостаточно. Некоторые из них целиком на моей совести. Вот самый ляпный ляп: В структуре данных, разосланных разработчикам, я указал такую таблицу: "Т_ОПЛАТЫ_СЕРВЕР_ПРИЛИНКОВАННАЯ". Отгадайте с трех раз как называется таблица на сервере. Мне почему-то казалось очевидным, что других вариантов кроме "Т_ОПЛАТЫ_СЕРВЕР" (имя у заказчика) нет - просто я подчеркнул, что она линкуется... Однако, я глубоко заблуждался. Везде в модулях и формах фигурировали "ПРИЛИНКОВАННЫЕ" и я потихоньку исправлял все сам (сам виноват). ВЫВОД ПЯТЫЙ. Координатор! Четко формулируй свои мысли, особенно в ИМЕНАХ объектов. КОММЕНТАРИИ Уж сколько раз твердили миру... Пишите комментарии к программам. Ан нет... Дал шаблон - в начале модуля пишем '(R) Имярек 'Модуль того-то и того-то И комментариев побольше. Ничуть не бывало. ВЫВОД ШЕСТОЙ. Разработчик! Комментарии, особенно при удаленной разработке НЕОБХОДИМЫ! Обсуждения форм и модулей Конечно, самое тонкое дело - обсуждение сделанного и устранение недочетов. Здесь, мне кажется, самое важное уяснить, что координатор - это не учитель, ставящий оценку, а заинтересованное в результате лицо. У меня сложилось мнение, что со многими моими замечаниями разработчики соглашались с трудом, через "немогу" даже. Хотя в конце концов удавалось убедить... Дело в том, что координатор выступает еще и тестером. И то, что самому разработчику не видно при отладке своего куска, сразу бросается в глаза при сборке. Например, неадекватный ввод данных - реакция у формы не та. На чате даже проскочил тезис "Надо работать с заказчиком" - т.е. учить его как правильно вводить данные. Однако, мой долгий опыт позволяет заключить - надо запрограммировать так, чтобы оператор ничего не заметил. Ну, например, если он всю жизнь не пользовался мышкой для раскрытия списка, а нажимал F4 и стрелкой вниз, зачем его переучивать - не проще ли изменить интерфейс? Причем, в результате все равно делали как надо. Но спорили ведь... ВЫВОД СЕДЬМОЙ. Координатор еще и тестер. Разработчики! Прислушивайтесь к нему. Пересылка решений На первом этапе я разослал всем "чистую" базу MDB со структурой таблиц. Просил: "Ребята, не присылайте мне обратно ВСЮ базу, только с вашим кусочком". Все шлют все разрастающиеся базы со своими вариантами. ДА ЕСТЬ ОНА У МЕНЯ! ВЫВОД ВОСЬМОЙ. Разработчики! Выполняйте пожелания координатора по формату присылаемых данных! Заключение Наверное, у многих складывается впечатление, что все провалилось и состоит из одних недостатков. НИЧЕГО ПОДОБНОГО! Силами удаленных программистов, не знакомых лично, из разных стран СОЗДАН РАБОТАЮЩИЙ ПРОЕКТ. Я просто балдел (в перерывах между замечаниями) от ощущения рождающейся базы данных. Очевидно, что возможно делать и более значимый проект с бОльшим количеством участников... Только замечания учтите, будущие разработчики и координаторы. :))
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
Просмотров: 8010
 Ваш коментарий будет первым | | |