Ефективний підхід до нетипової розробці сайтів

    
 
Ми кілька років займаємося розробкою сайтів різного ступеня складності. За 5 років зробили понад 300 проектів. У своїй роботі ми не використовуємо шаблони, дизайн унікальний і розробляється під потреби клієнта. Чи не беремо готову CMS і не намагаємося привести завдання клієнта до типового рішення, використовуємо Django Framework і розробляємо такий сайт, який максимально підходить під задачу. Загалом, намагаємося зробити максимально якісний сайт, на який здатні. Як при цьому не зламати спину, добитися результату і заробити грошей, щоб розвиватися далі?
 
У той час, як ми думаємо про якість продукту, клієнт хоче отримати результат якомога швидше, сайт відразу повинен стабільно працювати, дизайн і інтерфейс повинні відповідати очікуванням клієнта, а то і бути вище цих самих очікувань.
 
Для досягнення максимальної ефективності ми переконалися, що потрібно змінювати підхід до розробки. Стандартний варіант з послідовною організацією етапів проекту нам не підходить. Тому в цій статті я б хотів поділитися нашим досвідом і міркуваннями про максимально ефективній системі.
 
 

Основні проблеми звичайного підходу, які заважають нам працювати ефективно

 
 Незрозумілі узгодження. Ми змушені погоджувати дизайн сайту без взаємного розуміння всієї структури проекту. Технічне завдання повного бачення не дає.
 
 Багаторазова постановка задачі. Відразу всім (програмісту і дизайнеру) поставити завдання не вийде, так як програміст починає роботу після узгодження дизайну сайту. В результаті упускаються деякі моменти і деталі.
 
 Дорогі помилки етапу дизайну. Дизайнер може помилитися або щось упустити, що залишиться непоміченим до роботи програміста. Дизайнер змушений виправляти недоліки, коли він вже занурений в інший проект. Це позначається на якості продукту.
 
 Слабка комунікація команди. При послідовній роботі не формується єдиної команди і кожен працює окремо над своїм етапом.
 
 Очікування інформації від клієнта. Клієнт часом довго готує всю необхідну інформацію для сайту, щоб ми могли її обробити і привести у відповідність із загальними очікуваннями. З нею теж потрібно ще працювати, а робоча група вже зайнята іншими проектами.
 
Як я писав вище, ми не використовуємо готових шаблонів і приділяємо багато часу дизайну сайту. Для нас це відповідальний і важливий процес, тому він займає більше часу ніж хотілося б. Іноді клієнт хоче дивного і тут ми ще витрачаємо час на довгі узгодження макетів, іноді ми самі не можемо знайти відразу відповідне рішення.
 
У результаті всі терміни пливуть, клієнт починає квапити з результатом. Немає часу на детальне тестування і на роботу над дрібними приємними дрібницями (красиві модальні вікна, приємна валідація форм без перезавантаження сторінки, зручні фільтри, оформлення листів для повідомлень і багато іншого). Сайт виглядає якось так:
 
 
 
Такий результат навряд чи кого влаштує, та й потім буде багато проблем у підтримці проекту та подальшу роботу з клієнтом.
 
 

Ефективне вирішення

Очевидне рішення в цій ситуації — це почати етап програмування паралельно з дизайном.
 
Розробка сайту — це не будівництво будинку, ми завжди можемо щось змінити і поправити. Головне почати і всі проблеми швидше дадуть про себе знати, а частина з них зважитися дизайном або рано обговоренням з клієнтом.
 
З'являється зайвий, на перший погляд, додатковий етап проектування, але це зовсім не так. З докладним технічним завданням складно працювати, так як це виходить досить об'ємний документ. Текстова інформація залишає багато місця для уяви, тому кінцевий результат всі учасники процесу представляють дещо по різному. Та й людина, яка приймає рішення з боку клієнта, рідко вичитує великий і об'ємний документ. Набагато легше подивитися прототип і прийняти рішення. Прототип дозволяє краще «розгледіти» структуру майбутнього сайту і тому буде менше проблем при занесенні інформації клієнта, та й по прототипу її значно легше готувати, так як вже є бачення проекту.
 
Завдяки прототипу ми не витрачаємо час на написання докладного ТЗ, але можемо почати програмувати паралельно з дизайном сайту. З дизайнера знімається додаткове завдання з проектування всієї структури сайту і він може зосередитися на візуальної складової.
 
У нас може бути готова і погоджена графічна концепція сайту. Всі макети ще не готові, але вже точно зрозуміло яка потрібна інформація для сайту і як вона має виглядати. Так як ми використовуємо Django framework, то за готовими моделям програміст може швидко розгорнути просту систему управління і паралельно з програмуванням бізнес-логіки та доопрацювання макетів ми вже можемо заносити інформацію для майбутнього сайту.
 
Як тільки ми отримаємо узгоджений дизайн, технолог починає верстать шаблони для сайту і зводити з готовим кодом від програміста. Поки дизайнер далеко не пішов і не відволікся на інші проекти, ми можемо доопрацювати приємні дрібниці і якщо буде потрібно скорегувати якісь рішення.
  
 
 
В результаті, ми отримуємо працюючий і приємний сайт, який вирішує проблеми клієнта, та й часу на розробку з таким підходом йде значно менше. Звичайно, у нас накопичилося досить багато своїх напрацювань, які теж допомагають нам у роботі. Ми намагаємося зробити і розвинути нашу платформу для розробки, щоб оптимізувати вже всі внутрішні процеси. Звичайно, ми не плануємо і не хочемо написати свою нову чергову CMS, це зовсім інший бізнес і для цього процеси повинні бути влаштовані зовсім по-іншому. Надалі ми розповімо про нашу роботу більш детально, якщо це буде цікаво.
 
 Хотів ще відзначити, що в звичайному послідовному підході можна організувати отримання якісного та гідного результату, але це буде не швидко і в робочій групі по проекту буде не 4-5 чоловік, а значно більше.
    
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.