Розробка сайтів

Розробка сайтів в даний час - основний мій вид діяльності. Це хобі, яке перейшло в основну зайнятість.

Почну з того, що ж я маю на увазі під поняттям "сайт". У мережі є величезна кількість різних "розумних" визначень даного поняття, але вони скоріше для фахівців даної професії і не завжди зрозумілі людям, далеким від даної термінології. Тому в поняття "сайт" я включаю будь-яку групу інтернет-сторінок, об'єднаних одним доменом або групою піддоменів одного домену (рідше - групою різних доменів): від промо-сайту або сайту-візитки, до інтернет-магазинів, складних інформаційних порталів та корпоративних порталів.

Раз вже почав поняття домену, то зазначу відразу і про це, щоб не було недомовленостей. Домен - це зрозумілий людині адреса комп'ютера у всесвітній інтернет-мережі. 

З основними поняттями розібралися. Тепер розберемо, які ж етапи можна виділити в розробці будь-якого веб-рішення. Етапів може бути безліч. Кожен розробник може називати етапи по своєму, розділяти більші етапи на частини, або, навпаки, об'єднує деякі етапи в одне ціле. На підставі мого досвіду, я виділяю такі етапи:

  1. Знайомство. На даному етапі замовник починає приймати рішення про те, що з даними розробником можна мати справу: шукає в мережі різну інформацію про розробника, про його досвід, читає відгуки від інших замовників (хоча, якщо замовник залишився задоволений роботою - цей відгук опублікують, а ось якщо з замовником трапився якийсь казус, то це будь-який замовник постарається приховати :) Вибачте за правду). Замовник зв'язується з розробником, починається процес взаємодії, який, можливо і не перейде на наступний етап.
  2. Збір відомостей про проект. Якщо етап знакомсства пройшов успішно і було прийнято рішення про початок співпраці, то починається збір всієї інформації про майбутній проект. Відразу скажу - чим більше інформації буде зібрано на даному етапі, тим точніше буде вхідна інформація для розробки. Чим докладніше буде описано те, що з себе повинна представляти кожна частина проекту після виконання всіх робіт, тим менше ймовірність того, що в результаті всіх робіт вийде результат сильно відрізняється від очікуваного. На даному етапі замовник отримує попередню оцінку за термінами і вартістю робіт. 
  3. Розробка технічного завдання. Хоч даний етап я і називаю традиційно, але насправді при роботі з готовою cms мова йде скоріше про технічну записці, ніж про технічне завдання. Немає необхідності, наприклад, прописувати всі взаємозв'язки в базі даних, або описувати механізми функціонування адміністративного розділу сайту. Технічне завдання повинно включати в себе опис всіх робіт, які необхідно виконати з максимальною деталізацією. Технічне завдання - це вже готовий продукт. В принципі, на цьому етапі співпраця може бути і припинено. Замовник оплачує вартість розробки завдання, забирає отриманий документ і звертається до будь-якого іншому розробнику. Але я з таким в своїй практиці ніколи не стикався. Якщо я створюю ТЗ, то я ж і проводжу його реалізацію. На підставі розробленого ТЗ встановлюється бюджет і терміни здачі проекту.
  4. Розробка. Далі після створення докуменатціі, йде безпосередня розробка готового продукту. Результатом даного кроку є продукт, що відповідає тому, що описано в технічному завданні. В ході розробки за домовленістю сторін замовнику може надаватися інформація про хід робіт, по можливості, показуватися готовий функціонал. Можливо, замовник на якомусь етапі побачить, що описаний функціонал не зовсім відповідає його уявленню про сайту, тоді в ТЗ вносяться зміни (з обов'язковим перерахунком термінів і вартості робіт). 
  5. Тестування і виправлення помилок. Даний етап чомусь завжди замовники опускають, хоча дуже навіть дарма. & Nbsp; Я не кажу про тестування з опрацюванням різних unit-тестів і проведенням тестування навантаження, але весь функціонал сайту повинен бути перевірений на відповідність ТЗ і робити це повинен не розробник, тому як розробники, як правило, не завжди можуть знайти свої помилки, а людина, який не займався розробкою, тобто проводиться тестування на те, що сайт відповідає поставленим цілям. Це може робити або сам замовник, або притягнута розробником боку обличчя. Результатом даного кроку є документ зі списком помилок і відміткою про їх виправлення.
  6. Завершення проекту. На даному етапі замовнику передається все необхідна для роботи з сайтом інформація: дані по доступам, інструкції по роботі з функціоналом сайту. На даному етапі може бути сформований список доробок, які в подальшому планується провести на сайті. Також результатом даного етапу може бути договір про супровід сайту розробником.
Ось, в принципі, і всі основні етапи. Їх можна розділяти, об'єднувати, перейменовувати, але загальної картини це не змінить.
Тепер, про те, що ж входить у вартість розробки:
  1. Розробка технічного завдання. Як і писав вище, ТЗ - це готовий продукт. Тому за готовий продукт необхідно проводити оплату після завершення розробки даного документа. Зазвичай, вартість розробки ТЗ входить в оплату за роботи.
  2. Безпосередня розробка. Тут, думаю, все зрозуміло. Замовником оплачуються описані в ТЗ і виконані розробником роботи.
  3. Тестування. Якщо тестування виконується засобами розробника, то пошук помилок - це робота, яка повинна також оплачуватися. Виправлення помилок, природно, виконується за рахунок розробника (якщо, звичайно, це саме помилка розробки, а не помилка проектування, яка була не врахована в ТЗ. В іншому випадку - це вже не помилка, а доопрацювання, яка йде в загальний список доробок).

Існує практика, коли вивішують якийсь прайс-лист на розробку з угрупованням сайтів по різним типам. Але досвід показує, що кожен, абсолютно кожен сайт чимось відрізняється від інших і встановити якусь конкретну ціну, орієнтуючись тільки на угруповання сайтів за типами - це обдурити або замовника, або розробника. Можливо, коли-небудь я все-таки зможу сформувати якісь основні критерії, за якими сайт можна буде оцінити. Тоді даний текст буде розширено. В даний час, оцінка кожного сайту дуже індивідуальна.

Для оцінки вартості робіт надішліть мені на адресу info@pai-bx.com максимально повну інформацію про те, який продукт ви хочете отримати після виконання всіх робіт. Я буду виконувати приблизну розробку термінів і вартості.