Техническое задание подробно описывает требования системы и гарантирует, что разработчик полностью понимает систему, которую он создает в соответствии с Вашими потребностями. Техническое задание также позволяет вам проверять систему еще до начала разработки, так что вы можете убедиться в том, что никакие важные аспекты не были упу-щены. Гораздо легче иметь дело с проблемами или неточностями, выявленными на стадии спецификации, чем с теми, которые были найдены позже, экономя тем самым Ваше время и деньги в долгосрочной перспективе.В то время как небольшая система может быть создана без спецификации, то любая другая стоимостью свыше несколько тысяч долларов должна ее использовать.
Спецификация может также оказаться незаменимой для Вас в конце разработки, что позволяет проверить, что все, что было согласовано в начале - действительно было внедрено в систему.
Неизбежно, что что-нибудь будет упущено при начальном создании технического задания, и Вы должны удостовериться, что Ваш разработчик допускает небольшие отклоне-ния для внесения изменений, которые будут сделаны во время разработки, если Вы имеете дело с согласованной фиксированной ценой проекта. Однако дополнительные расходы для больших изменений были бы оправданы разработчиком если число небольших изменений стало чрезмерным. Это еще раз доказывает важность вашей работы с Разработчиком для со-здания более точного технического задания.
Полное тестирование является неотъемлемой частью процесса разработки, во время которого любые ошибки должны быть найдены и исправлены прежде чем проект бу-дет закончен. Однако иногда ошибки не обнаруживаются и не становятся очевидными до конца процесса, когда будут введены уже тысячи отчетов. Вы должны убедиться, что это есть своего рода гарантией, что любые дефекты в системе, которые появились непосред-ственно в результате разработки разработчиком, исправляются бесплатно.
Вы должны убедиться, что соответствующий уровень поддержки для помощи се-бе и пользователям станет доступен после того, как система заработает. Точный уровень бу-дет зависеть от сложности системы, количества пользователей, а также внутренних ИТ-навыков, которые доступны для Вас. Однако Ваш Разработчик должен настроить поддержку и учесть все факторы так, чтоб она соответствовала Вашим требованиям.
Как правило, Вы должны будете платить за эту поддержку, но это означает, что вы можете быть уверены, что Вы не останетесь с «носом», если у Вас возникнут проблемы или вопросы, как только с системой начнуться проблемы.
Убедитесь, что вам будет предоставлен исходный код, созданный разработчиком системы. Хотелось бы надеяться, Вы сформируете долгосрочные отношения с Вашим разра-ботчиком. Однако, если что-то случится между Вами и разработчиком в будущем (разработ-чик прекратит свою деятельность, у Вас проблемы и др.), то этот код может быть использо-ван другими разработчиками для внесения любых изменений, которые могут понадобиться в будущем. Так же как исходный код, Вы также должны убедиться, что получите что-либо еще, созданное специально для проекта, такое как графические файлы или скрипты. Если у вас нет исходного кода, то Вы на 100% привязаны к первоначальному разработчику и ста-новится почти невозможным внести какие-либо изменения или исправления каких-либо ошибок и придется начинать снова с нуля. Кроме того, нужно с осторожностью относиться к соглашению об Условном депонировании. Условное депонирование - юридическое согла-шение, где обозначается согласованное третье лицо, которому принадлежит исходный код. В случае с заказным программным обеспечением это не самый предпочтительный вариант, поскольку программное обеспечение должно быть Вашим, для того чтоб делать с ним все, что захотите. Тем не менее, это нормально, если Вы не получите исходный код собственных библиотек разработчика.
Исходный код позволяет вносить изменения в Вашу систему, но разработчик также должен понимать внутренние механизмы работы системы до внесения каких-либо изменений. Хорошая техническая документация позволяет вносить изменения более эффек-тивно. Техническая документация должна объяснить структуру данных, а также описание самой системы и почему она была закодирована в определенный способ. Хотя оно может и не имеет смысла для Вас, но это жизненно важно для долгосрочной поддержки системы, и означает, что Вы не привязаны к первоначальному разработчику, поскольку он - единствен-ный, кто понимает, как система работает.
Убедитесь, что на этапе калькуляции Вы были осведомлены о каких-либо допол-нительных инвестициях, требуемых для оборудования и инфраструктуры, а также затрат на разработку. На ранней стадии Вам следует также задать вопрос о будущем росте вашей си-стемы. Система должна быть разработана с учетом вашей текущей инфраструктуры. Однако, в некоторых случаях системе требуется дополнительное программное или аппаратное обес-печение, необходимое для функционирования приложения. Иногда требуемое программное обеспечение может не потребовать никаких дополнительных затрат, поэтому Вы можете начать с использования бесплатных или недорогостоящих приложений базы данных и уже по мере необходимости перейти на более дорогие.
Убедитесь в том, что разработчик предоставит Вам имена и контактные данные людей, с которым работал ранее. Позвоните этим людям и убедитесь в том, что проделал хорошую работу . Знание того, что есть и другие люди, довольные работой разработчика будет давать Вам высокую степень уверенности в его способности поддерживать Вашу си-стему.
Нет никаких причин платить авансом, так как Вы должны убедиться в том, что Вы платите только за предоставленные Вам результаты. Было бы приемлемо заплатить не-кую сумму на определенном согласованном этапе для получения экземпляра прототипов или же на завершающем этапе.
В случае со сделанными на заказ системами не легко найти разработчика, кото-рый имеет предыдущий опыт разработки похожей системы, которая требуется Вам, так как потребности у всех отличаются. Однако, в идеале разработчик должнен быть в состоянии продемонстрировать соответствующий опыт, который он сможет перенести в Ваш проект. Попросите продемонстрировать предыдущие программы, которые разработались ним, кото-рые имеет отношение к Вашему проекту. Также спросите про квалификацию и опыт опре-деленных лиц, которые будут назначены для Вашего проекта.