Adam Boduch napisał(a)
Dla przykladu: zrobiles stronnicowanie pewnych danych. Klient patrzy i mowi: "Eee, myslalem, ze bedzie to na ajaxie". Dla niego fajnie by bylo na ajaxie, dla Ciebie to jest juz roznica, ale nic o tym nie mowil, a w specyfikacji tez nie bylo jasno okreslone.
Tutaj to programista jest w lepszej sytuacji, IMO. Ja te "ogólne" specyfikacje rozumiem tak, że trzeba spełnić to, co jest w nich napisane i trzeba zrobić to sensownie. W przypadku paginacji wystarczy, by można było się przewijać na następną, poprzednią i n-tą stronę. O to chodzi w "paginacji". A ten warunek "sensowności" dotyczy tego, że przyciski nie mogą mieć po 3 piksele szerokości, a gdy istnieje przypuszczenie, że stron ma być kilkadziesiąt, trzeba umożliwić nie tylko skok do następnej i poprzedniej.
I tyle. Było napisane ogólnie, że ma być paginacja? To jest słaby warunek, niewielkie wymaganie. W interesie klienta (a więc i profesjonalnego programisty) leży to, by warunki były bardziej restrykcyjne. Jak specyfikacja mówi tylko o zrobieniu paginacji, to aby ją spełnić, wystarczy zrobić paginację -- aby nie wyszło chamsko, trzeba jeszcze ją oczywiście zrobić sensownie. Ale klient nie może powiedzieć, że "myślał, że to będzie zrobione z trójwymiarową animacją przejścia pomiędzy stronami, oczywiście wszystko bez przeładowania strony, ale z możliwością dodania zakładki i w ogóle z foo, bar i baz.". To tak jakby ktoś zamówił połączenie dwóch miast drogą za rozsądną cenę przy takim i takim oczekiwanym ruchu(i tylko tyle by było wiadomo ze specyfikacji), a po skończeniu projektu mówił, że "myślał, że to będzie dwupoziomowa czteropasmówka z oświetleniem na całej długości i stacjami benzynowymi wraz z dużymi parkingami i knajpami co 20 km". Nonsens. Należy zakładać, że chodzi o najmniej kosztowne rozwiązanie spełniające sensownie wszystkie wymogi. No chyba że projekt np. trwa od pół roku i klient zawsze dawał kasę na najlepsze możliwe rzeczy i bajery.