Чем сложнее программный продукт, тем больших усилий потребует его внедрение. Счастливый обладатель игры Тетрис не сможет понять трудностей, которые возникают при эксплуатации SAP ERP, а функциональность Oracle не всегда гарантирует надежность высоконагруженных систем управления базами данных. Недетерминированность окружения, в котором работает продукт, самым явным образом влияет на его эффективность.
Периоды создания и выпуска являются лишь фундаментом, отправной точкой в жизни программных систем. Безусловно, та функциональность, которую продукт обрел в "школьные годы чудесные", пригодится ему во взрослой жизни, но это далеко не все, что нужно для его эффективного существования. Самые надежные методики разработки и тестирования не смогут сами по себе обеспечить качественную работу приложений. Человеческие и стихийные факторы, уже упомянутая недетерминированность окружения могут свести на нет все усилия аналитиков, программистов и тестировщиков.
Мы не можем предусмотреть всех трудностей, с которыми столкнутся пользователи продукта, но мы можем быть готовы им помочь. Мы можем оперативно прореагировать на форс-мажорные обстоятельства, мы можем выпустить "заплатки", мы можем предложить альтернативные решения.
Мы можем не надеяться на "авось", а изучать, анализировать среду, в которой предстоит работать продукту. Мы можем закладывать риски в план проекта и быть готовы высвободить лучшие силы на возникающие эскалации.
Мы можем быть открытыми, чуткими, внимательными ко всем пользователям, которые обратятся к нам за помощью. Даже к тем, кто не заключил с нами договор о сопровождении продукта или же выбрал бесплатную версию.
Мы можем сформировать команду, в которой каждый сотрудник понимает и принимает базовые ценности, на которых строится наш бизнес.
Можем или должны? И то, и другое - если не по внутренним убеждениям, то по соображениям доверия пользователей к предлагаемым нами услугам. В долгосрочной перспективе это обязательно принесет свои плоды.
Под качеством программного продукта следует понимать степень его соответствия потребностям пользователя. Чем выше степень соответствия, тем лучше качество продукта.
Важно всегда помнить об этом.
Что такое качество программного обеспечения и как его улучшить.
Т1. Мы думали, что это баг, а тут, оказывается, вирус затесался.
Т2. Не баги горшки обжигают?
Подходы к разработке, тестированию и внедрению приложений.
Debugging is like being the detective in a crime movie where you are also the murderer
In my 30+ year programming career, every single, bizarrely obscure bug that took weeks to chase down has ended up being a one-line fix.