Temat: podpisanie umowy ze zleceniodawcą
Jeśli to nie jest duży (subiektywnie) projekt, to nie musisz. Wersje Express Visual C#/VB.NET i SQL Server Express są bezpłatne do zastosowań komercyjnych. Na początek może Ci to wystarczyć do produkcji, a SQL Srv Ex. do prototypowania. Jak się okaże, że wszystko jest OK, to wtedy klient może zainwestować w pełną wersję SQLa. A Ty, jak zarobisz coś na tym, to możesz sobie potem pozwolić na pełną wersję VS i dodatki, jak np. ReShaper czy inne kombajny.
Najlepiej tak przemyśl projekt, abyś miał ciągłą weryfikację przez klienta tego, co robisz. W tym celu możesz wykorzystać koncepcję prototypowania, tj. zaczynasz od prostego prototypu, który implementuje określone w harmonogramie funkcjonalności tak, że klient od razu może sobie po tym poklikać, potestować. To nie musi być przecież od razu cała aplikacja. Zrobisz kilka formatek, np. logowanie i główny ekran, albo jedno dużą - od razu dajesz do poklikania i omawiasz na spotkaniu uwagi. Oczywiście na początku 90% funkcjonalności nie będzie, albo będą to zaślepki. Korzyść masz z tego taką, że obniżysz ryzyko, że się namęczysz, naprogramujesz, naanalizujesz, a klient i tak potem powie, że to nie o to chodziło. Im częstszy kontakt z klientem, im więcej potu na ćwiczeniach, tym potem mniej krwi w boju.
Zrób sobie WBSa (work breakdown structure). Rozbij produkt na najdrobniejsze (od ogółu do szczegółu) rzeczy do wykonania. Nie tylko programistyczne, ale analityczne (jakie analizy fn. trzeba wykonać), projektowanie GUI, a także co trzeba kupić (może trzeba kupić jakieś komercyjne komponenty, które zaoszczędzą dużo czasu), co trzeba zainstalować, jak to wdrażać, a nawet o czym trzeba poczytać i douczyć się (kilka typowych przykładów "rzeczy do nauczenia" - konfiguracja i praca z ORMem, jeśli używasz, np. LINQ, NHbernate, obsługa różnych protokołów, np. HL7, WPF, uwierzytelnianie certyfikatem, podpis elektroniczny, webserwis, praca rozproszona, wielodostęp). Dzięki WBSowi ogarniesz całość projektu i będziesz mógł na tej podstawie szacować harmonogram (bo masz wprost listę "bloczków" TODO) i wycenę. Po kilku formatkach i całych bloczkach zaczniesz coraz precyzyjniej szacować MD (mandaysy, osobodni), a na tej podstawie - wycenić pracę.
Z WBSa i rozmów z klientem wyniknie także lista etapów produkcji, w których efekcie powstaną konkretne elementy aplikacji do testowania i omawiania. Czyli np. na początek (strzelam) - logowanie, dodanie nowego zlecenia i przegląd zleceń w najprostszej postaci. Ale już wyszukiwarkę, z filtrami i innymi bajerami - na kolejne etapy. Dzięki temu, mogąc już dodawać coś do baz i przeglądać jej zawartość, masz co pokazać klientowi, a on zobaczy, że aplikacja "już żyje". Kolejne "ficzery" pozostaw sobie na kolejne etapy/iteracja zwał jak zwał.
Do harmonogramowania możesz wykorzystać darmowe narzędzia, np.
OpenProj (fajny wykres Gantta)
http://sourceforge.net/projects/openproj/screenshots/2...
Aha, taka jedna uwaga w przypadku "wyłączenia odpowiedzialności". "Oczywistą oczywistością" jest fakt, że należy się zabezpieczyć solidnie przed problemami, ale należy też pamiętać, że klient czasem zwraca uwagę na fakt, że wytwórca "praktycznie za nic nie odpowiada". I to może poważnie zniechęcić - nikt nie chce ryzykować, że w razie problemów z aplikacją zostanie na lodzie, np. że utraci dane, albo wkradną się do nich błędy (to czasem gorsze od utraty danych, bo w przypadku aplikacji medycznej czy księgowej można trafić pod sąd).
Są aplikacje, że zapisy "use at your own risk" i "provided as is" nie wzbudzają gęsiej skórki, bo nie od nich nie zależy "być albo nie być" nas i/lub naszej firmy. Ale są i takie, że taki zapis natychmiast wyłącza kandydaturę takiej aplikacji.
Można jednak podejść do tego konstruktywnie - oferując płatny serwis jako usługę. W wieku przypadkach klient woli dopłacić, ale mieć gwarancję (i niestety - z tej gwarancji musisz się wywiązać, np. z "gwarantowanego czasu reakcji na zgłoszenie" albo "gwarantowanego maksymalnego czasu przestoju" itp), że w razie czego ktoś mu pomoże.
Czasem z umów serwisowych żyje się lepiej i dłużej, niż z samej sprzedaży softu.
Adrian Olszewski edytował(a) ten post dnia 15.12.11 o godzinie 12:00