Две мышки для вдвое эффективной работы (c) via Flickr |
Долгое время, пока не пришли эти доморощенные инноваторы, мы (пользователи) были предоставлены сами себе. За это время я написал множество простейших утилит, макросов и просто полезных шаблонов, которые облегчали мой труд. Почти всеми этими полезными вещами я пользуюсь до сих пор - они работают замечательно и пережили два сгоревших компьютера и четыре переустановки операционной системы.
Находясь на месте пользователя и одновременно на месте программиста, я получил весьма ценный опыт и много удовольствия от написания программ. Хочу поведать о некоторых ценных мыслях, которые я вынес занимаясь тестированием и внедрением самописных программ для автоматизации делопроизводства.
Нельзя начинать писать программу не понимая до конца что ты хочешь получить в итоге и что от тебя требуется пользователю. В конечном итоге это закончится тем что всю работу придется начинать сначала. Сколько раз я быстро программировал что-то, а потом с удивлением узнавал что от меня требовалось совершенно другое. Или не совсем другое, с маленькими изменениями... но из-за этого придется переписать и перерисовать половину программы. В настоящем программировании есть такая штука, ТЗ - техническое задание, но не каждый пользователя умеет его грамотно составлять, и не каждый программист может его понять...
(c) via Flickr |
Я поступал также. Программа написана, программа работает, программа выдана пользователю. Пользователь вроде не выражает недовольство. Кажется все в порядке. Такое заблуждение длится ровно до того момента, когда ты сам начинаешь пользоваться своей программой. Да, я подменял пользователей в их работе, когда кто-то уходил в отпуск или отсутствовал. Коллектив у нас небольшой и каждый должен был уметь выполнять функции своего коллеги (в разумных пределах, конечно). Так вот, когда я начинал работать на месте пользователя, я обычно хватался за голову. Наконец я понимал как именно должна работать программа для максимального удобства и эффективности. Никакое вдумчивое чтение ТЗ и продумывание всех нюансов заранее не даст такого озарения. Нельзя ограничиваться только формальным тестированием продукта - необходима вдумчивая работа на месте пользователя.
Те люди, которые сейчас "работают на нас", нарушают все эти простые заповеди и еще массу других. Они плевать хотели на пользователей и их желания. Они не хотят знать каким образом происходит работа этого пользователя. Они ведут себя как полнейшие профанами и болванами, каковыми и являются. Не происходит никакого общения между программистом и пользователем. Когда я писал свои программы, я находился в непосредственной близости от пользователей, стоял за спиной и вникал во все детали работы. Те надменные люди (я их даже в лицо никогда не видел), которые пишут нам программы, купили (я на это надеюсь) IDE, получили компоненты, фреймворки и считают себя умнее нас, простых пользователей, о чем уведомляют руководство. Конечно же, всем очевидно что при подобном подходе они не смогут написать никакой полезной программы и тем самым разрушат нашу работу, все наши бизнес-процессы и впустую потратят деньги, которые им выделили.
Я все-таки надеюсь что эта неудача (когда начальству станет понятен весь масштаб катастрофы) хоть кого-то научит, а этих людей которые посмели себя называть программистами, выгонят из профессии.
Комментариев нет :
Отправить комментарий