В помощь разработчику: как преодолеть пропасть между требованиями проекта и вашими знаниями

0
385
views

 

Пропасть между требованиями проекта и вашими знаниями

Для начала сообщим вам удивительный по своей простоте факт: все знать просто невозможно. Даже если вы – самый крутой мэтр в своей области, все равно, рано или поздно вы столкнетесь с тем, что чего-то не знаете или не понимаете.

Почему мы с этого начали? Потому что очень важно, чтобы программист, глядя на сложную задачу, не опускал руки, а принимал ее как вызов. Конечно, здесь речь не идет о явном несоответствии знаний и требований. Нельзя от джуниора веб-разработчика требовать написания мобильного приложения «под ключ». Но если задача вам близка и для ее понимания и реализации не хватает каких-то нюансов, ситуация вполне преодолима.

Причины «слишком сложных задач»

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

Чаще всего у разработчиков ощущение «сложной и непонятной задачи» возникает в таких случаях:

  1. Заказчик не может дать подробное техническое задание, а описывает пожелания «своими словами». Программисты, привыкшие к работе в команде под управлением опытных коллег, от такого подхода нередко теряются. И даже отказываются от проекта.
  2. В техническом задании присутствует большое число непонятных терминов. Это особо часто случается при разработке специализированных приложений для бизнеса, производства, науки. Нередко программисты пугаются непонятной терминологии, даже если сама задача на самом деле – очень простая.
  3. К реализации предлагают крупный проект. И срабатывает обычный страх нового и неумение правильно оценить свои возможности.

На самом деле, в большинстве случаев задачи оказываются не столь сложны, как кажется поначалу.  При желании решение найти можно и нужно. Вы же не собираетесь до пенсии заниматься простейшим кодингом на уровне джуниора! А потому – учимся искать решения.

Как программисту понять пожелания заказчика

Проблема отсутствия техзадания – очень распространена на фрилансе. Разработчики в крупных компаниях избавлены от прямого общения с клиентами и пользователями, там этим занимается отдел продаж. Но если вас привлекает возможность работать на себя, придется учиться понимать пользователей.

У вас есть два пути:

  1. Используйте брифы-опросники. Примеры таких документов под самые разные типы работы можно найти в сети. Большинство фрилансеров собирают целые коллекции брифов, доработанных и адаптированных «под себя».
  2. Задавайте вопросы, пока не поймете все важные нюансы. Вариант интервью нравится многим заказчикам. Здесь важно не бояться спрашивать. Чем точнее вы поймете задачу, тем проще будет реализовать проект. А в процессе общения вы, так сказать, бонусом, сможете понять, насколько комфортным будет последующее сотрудничество. Ведь человеческий фактор – всегда важен.

Независимо от метода получения информации, обязательно нужно зафиксировать все договоренности в письменном виде. Наилучший вариант – самостоятельно составить техническое задание, которое будет приложением к договору. Так вы точно поймете суть задачи и защитите себя от появления неожиданных «хотелок» заказчика.

Выясняем требования проекта

Сложности терминологии

Здесь решение аналогично предыдущему пункту. Не бойтесь спрашивать! Вы – разработчик программного обеспечения, а не химик, физик, технолог или бухгалтер. А потому вам совсем не стыдно не знать какие-то слова.

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

Очень удобно перефразировать для себя непонятные фрагменты ТЗ после пояснения каждого термина. Так вы получите документ «для внутреннего пользования», где вам будет все понятно. И точно ничего не забудете, и не перепутаете.

Если в результате задача перестала быть слишком сложной, можно начинать сотрудничество.

Что делать с большими проектами

Создание программного продукта «под ключ» или большой объем различных доработок существующей программы всегда можно разделить на отдельные этапы. Составьте примерный план выполнения работ и попробуйте представить, как можно реализовать каждый из пунктов. Если какой-то все еще кажется сложным, скорей всего, его также можно разделить на части.

Кроме того, не забывайте, что вы всегда можете для реализации отдельных этапов привлечь субподрядчиков. Например, в случае внедрения и настройки CRM-системы практически всегда возникает потребность в интеграции с сайтом, бухгалтерской программой, учетной системой. И для этого привлекают к проекту специалистов по указанным программным продуктам.

Важно понимать: если вы берете в работу большой и сложный проект, придется не только писать код, но и выполнять также обязанности проект-менеджера. С одной стороны, это – сложно, с другой – такой опыт очень полезен. Конечно, если вы стремитесь построить карьеру или создать собственный бизнес.

 

Крупный проект требует большого объема знаний

Задавайте вопросы в сообществах разработчиков

Напоминаем еще раз: все знать невозможно, а развиваться – необходимо. Если вы будете браться только за задачи, которые уже когда-то решали, вы никогда не сумеете вырасти как специалист. Скорей всего, вы постоянно читаете литературу, изучаете опыт коллег, осваиваете новые языки. Но без практики все это – «мертвый груз».

Не бойтесь брать сложные задачи «на грани» вашей компетенции. Здесь самое сложное – это преодолеть психологический страх неудачи. Вы обязательно справитесь. А если в процессе возникнут сложности, всегда можно поискать решение на просторах интернета или спросить у коллег.

Сообщества разработчиков – очень полезны каждому. Это и общение, и новые знания, и помощь. Делитесь с другими полученными знаниями, помогайте тем, кто еще учится. И тогда вы также найдете поддержку и помощь в случае действительно «головоломной» для вас задачи.

Как видите, самое главное, это преодолеть внутренние страхи и неуверенность. Все остальное – вполне решаемо.



ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here