Ti hogyan kezdtek egy új projectbe?

Sziasztok!

Sokszor előfordult velem, hogy a T. Ügyfél megkeresett egy "egyszerű" feladattal.
Gondolom sokan találkoztatok már ilyen "egyszerű" feladattal, ami menet közben folyamatosan terebélyesedik, bonyolódik, az eredeti elképzeléssel a vége felé már köszönő viszonyban sincs.

A kérdésem aprópóját egy most kibontakozóban lévő munka adja. Elsősorban szoftverfejlesztésről van most szó, de gyanítom, hogy a menet közben adódó hardveres problémákat is nekem, nekünk kell megoldanunk.

1. Ti hogyan, milyen fomában kéritek be Ügyféltől az elvégzendő munka specifikációját?
Szeretném, ha mutatnátok konkrét -persze név nélkül, de azért lehetőleg részletes- példákat.
2. Milyen szerződést szoktatok kötni, milyen tartalommal? Van erre valami "sablon", vagy minden esetben egyedi/Ügyfélfüggő Nálatok egy ilyen szerződés (ha egyáltalán van és kell)?
3. Az árajánlatban szereplő összeget a munka végén egyösszegben, vagy részletekben szoktátok bezsebelni?
Tfh milliós nagyságrendről van szó, mondjuk 1-5 millióig. Szerk.: Előleget szoktatok kérni? Hágy %-ot, ha igen?
4. A menet közben felmerülő újabb kívánságok teljesítésére új szerződést köttök, vagy előre rögzítitek a megvalósításához szükséges idő/ráfordítás fedezésének szabályait, ill. hogyan szokott ez működni? Ha erre van -név nélküli- szerződésminta, az is nagyon érdekelne engem. :)
5. Ha alkalmaztok alvállalkozó(ka)t, hogyan lehet megoldani, hogy ne nyúlják le a melót, tehát a lehető legkevesebbet tudjon a munkáról, de azért annyit igen, hogy a maximumot kihozza a lehetőségekből?

A példáitok lehetnek szoftveresek, hardveres munkák, ill. vegyesen egyaránt.
Ugyan úgy érdekel pl. egy webáruház/szoftver megvalósításának története a kezdetektől az átadásig és a későbbi karbantartás/hibajavítás története, mint pl. egy célszerszám és szoftverének kifejlesztéséről szóló sztori.
Jöhetnek anekdoták is, de igazából a lepapírozás és a végrehajtás mikéntje érdekel.

Köszönöm, ha időt szakítasz rám! :)

Hozzászólások

Mivel pétékás ügyletről van szó, sok értelmét nem látom a szerződésmintának, mert amire az egyik helyből rábólint, az a másiknak nem, vagy nem úgy tetszik, a harmadik meg belevenné még a saját szempontjait, amelyek véletlenül sem ugyanazok, mint amit a negyedik tenne hozzá.
Lakásvásárlási szerződésnek is inkább a szempontjai lényegesek, mert a konkrét minták konkrétan senkinek sem jók.
Itt viszont a szempontokat leírtad: pénz előre vagy folyamatosan, revideálás árazásába/időzítésébe mennyire belevenni, hogy más későbbre tervezett munkáid viszont csúszni/elveszni fognak ezért - "csak" meg kell tudni egyezni.

Egyébként aki úgy kezdi, hogy "egyszerű feladat", az nem szerződő partner, hanem lókupec, és csak akkor szabad vele dílelni, ha nagyon nincs más.

Igen, pont a lókupecségtől félek.
Az mennyire szokott működni, hogy leíratom vele, hogy pontosan mit szeretne, megegyezünk, megcsinálom, kifizeti, a menet közbeni -az eredeti tervtől eltérő- sirámait pedig ignorálom, és a munka végeztével visszatérek rájuk egy újabb tarifáért?

openSUSE 12.2, vagy ami éppen jön.

"a menet közbeni -az eredeti tervtől eltérő- sirámait pedig ignorálom"

Ha abszolute nem foglalkozol a menet közbeni sírásaival akkor a terméked "teljesen szar" lesz mert "ő nem ilyet akart". És nem fog fizetni.
Egy egészséges mértékű kompromisszum kell minden munkához. (És az árba is bele kell kalkulálni előre)

Ne irasd le vele, hanem ülj le beszélgetni, értsd meg mit akar, kérdezz rá dolgokra, javasolj mást, ha szerinted valamit máshogy érdemes csinálni, és utána írj egy összefoglalót/specifikációt neki, amit elfogad.

A menet közben újonnan felmerülő, és nem a folyamatban lévő munkálatok finomítására vonatkozó sírásra gondoltam.

Addig hozzá sem fognék, amíg nem ültem le megbeszélni az igényeket és nem látom át a teljes projectet. Természetes, hogy nem csak Üf. beszél, leír én meg azt csinálom. Ezt a sarkított példát csak azért írtam, hátha valaki konkrét példával rukkol elő, hogy nála hogy szokott kinézni egy ilyen specifikáció, amiből ki lehet indulni.

openSUSE 12.2, vagy ami éppen jön.

A minap itt valaki ajánlotta a fejlesztés hatékonyságának növelésére a halogatást. Ez nem elvetendő.
Pl. - potenciális vevő beállít, őseigazántuggyamilyen igénnyel,
- gyors gui dizájnerrel, legjobb képességgel leskicceled, hogy szerinted mi az,
- finomítjátok együtt együltő helyetekben, amíg szerinte is az az,
- a kezébe nyomsz egy árlistát, amelyből a hülye is megérti, hogy az óradíj módosítás esetén messze magasabb, mint tervezett menetben, és hogy az ilyen módosítás akár csúszhat is,
- a kezébe nyomod a vázlatot is, és megkéred, hogy ha egy hét múlva is pont erre gondol, térjen vissza, és beindul a meló, ha nem erre gondol, mondja el, de eddig volt ingyenes a konzultáció, most már szerényen, de ketyeg a számláló.

Nagy projektekben összeállítanak némi tárgyalás után egy követelmény specifikációt, ill. van egy rendszerterv, amiből látni, hogy milyen lesz a megvalósítás. A köv.spec. aztán kőbe van vésve, minden eltérés utána egyeztetést igényel, és potenciálisan plussz pénz.

Magyarul tisztázni kell a lényeges dolgokat előre, és papírozni.

Nálunk:

PRD - vagy az ügyfél írja, vagy ha nem tudja pontosan mit akar akkor megkér minket, hogy írjuk meg
Erre válasz: FSD - ha ezt az ügyfél elfogadja, ekkor kell megírnunk specifikációt ami egy részletesebb leírása az FSD-nek.
Ezután elküldjük az ügyfélnek a specifikációt is elfogadásra. (Itt még lehet változtatni a megrendelésen).
Ha ezt is elfogadta, akkor indul a fejlesztés.

Ha az ügyfél jön, hogy ezt meg azt akar, akkor szépen felcsapjátok a specifikációt és megnézitek mi áll benne, ha benne van amit akar és ti nem implementáltátok vagy rosszul, akkor ez bizony BUG FIX lesz és nem kaptok érte plusz pénzt. Ha nincs benne, de mégis kell neki, akkor ez CR (change request) lesz és újra el lehet adni.

Az üzleti részéről nem sokat tudok a dolognak (hol, mikor, hogy lesz kifizetve). Ez is csak egy nagyon nagy vonalakban leírt folyamat, a helyzet ennél azért sokkal árnyaltabb. Például, ha valamit az ügyfél "máshogy értelmez" a specifikációból, akkor jön az értetlenkedés és a siránkozás. Ezért kell a specifikációnak minél egyértelműbbnek lennie.

Nyilván a te célod az lesz, hogy minden plusz fejlesztést CR-ként adj el, az övé meg, hogy BUG FIX legyen.

Ami még érdekes lehet számodra: http://en.wikipedia.org/wiki/Waterfall_model

ui: Viszont ha ennyire nem értesz a dologhoz, akkor szerintem ne fórumról akard megtanulni, mert azért ehhez több éves tapasztalat (dörzsöltség) kell. Ha most akarsz vállalkozásba kezdeni és még nincs ilyen jellegű tapasztalatod, akkor a helyedbe egy kicsit jegelném a dolgot és először elszegődnék egy céghez, hogy meglásd hogy mennek ezek a dolgok, mert tapasztalat nélkül szerintem sokat fogsz bukni az első pár projekten. De ez csak az én véleményem, lehet kapásból menni fog a dolog... :)

PRD - vagy az ügyfél írja, vagy ha nem tudja pontosan mit akar akkor megkér minket, hogy írjuk meg
Erre válasz: FSD - ha ezt az ügyfél elfogadja, ekkor kell megírnunk specifikációt ami egy részletesebb leírása az FSD-nek.
Ezután elküldjük az ügyfélnek a specifikációt is elfogadásra. (Itt még lehet változtatni a megrendelésen).

szerződést (határidővel és árral) melyik pont után szoktatok kötni?
Nekem általában az a gondom, hogy a speckó-megírás előtt nyilván nem lehet még erre bármit is mondani, viszont ha akkor adok árajánlatot, mikor már megírtam a speckót, és az ügyfél nem fogadta el az ajánlatot, akkor kárba ment egy csomó munkám...

--
CyclonePHP

"Nekem általában az a gondom, hogy a speckó-megírás előtt nyilván nem lehet még erre bármit is mondani,"

Azért nagyjából be lehet lőni, ha az embernek van némi tapasztalata. Nem kell az utolsó szögig kidolgozni az ajánlat előtt a specifikációt. A projektet be lehet lőni egy kb. óraszámra, az szorozva 2-vel, és mehet az ajánlat. Ajánlatba beleírni egy óra/napi díjat, és a projekt várható óra/nap számát.

"már megírtam a speckót, és az ügyfél nem fogadta el az ajánlatot, akkor kárba ment egy csomó munkám"
Üzleti kockázatnak hívják a dolgot.

viszont ha akkor adok árajánlatot, mikor már megírtam a speckót, és az ügyfél nem fogadta el az ajánlatot, akkor kárba ment egy csomó munkám...

hat ez ilyen. Mondjuk jopofa is lenne a dolog, hogy bemegyek hozzad, hogy lenne egy melo, atbeszeljuk, majd amikor atkuldod a reszletes specifikaciot, en meg (mert kozben aludtam parat a dologra) ugy ertekelem, hogy ez igy nem koser, akkor furan is nezne ki a dolog, ha meg fizetnem is kene erte. Persze a specifikacio elkeszitesere feccolt melot is ki lehet szamlazni (beepiteni az arba), de azert ez sehol nem ugy mukodik, hogy mar azert is fizessek, hogy xy ajanlatot adjon. Nyugtass meg, hogy ez csak joke volt.

Vagy ha te meg a befuccsolt ajanlatert/specifikacioert is zset akarsz leakasztani, akkor inkabb EU-palyazat irasra kene atnyergelned . . . :-)

Miert kell nekem sajnalnom a Klubradiot?

Nyugtass meg, hogy ez csak joke volt.

Sosem csináltam ilyet, nem is akartam :) továbbá - nagyrészt emiatt a kiszámíthatatlanság miatt - már egy ideje feladtam a nem túl hosszú egyéni vállalkozói pályafutásom. Inkább elmentem egy céghez dolgozni, van fix fizum, ami nem szokott csúszni, ez így sokkal megnyugtatóbb.

A kérdés arra vonatkozott, hogy érdemes-e mondjuk olyat csinálni (feltételezve, hogy fogok még valamikor a jövőben ilyesmivel foglalkozni, hogy az ügyféllel speckó-írásra szerződik az ember ), a speckóírás után adok a kivitelezésre ajánlatot, aztán ha azt nem fogadja el, akkor a kész speckót viheti másik kivitelezőhöz. Így nem kell 0-ról kezdenie az egész projektet, és szerintem ez így mindkét fél számára korrekt. Szerintetek ilyen megoldásra mennyire lehet rávenni a megrendelőket? Van valakinek ilyen tapasztalata?

--
CyclonePHP

A spec készítés is, azaz annak a felmérése, hogy mit is akar valójában a vevő, is egy külön munka, nyugodtan el lehet különíteni a termék életciklusában, ahogyan írod. Meg kell íratni olyanokkal, akik ehhez értenek (nagyon kevesen tudnak valóban jó és pontos specet készíteni).

a kész speckót viheti másik kivitelezőhöz. Így nem kell 0-ról kezdenie az egész projektet

ez azt is feltetelezi, hogy 100.0%-os a specifikaciod (amiben imho sosem lehetsz biztos, amig az ugyfel at nem veszi a termekedet), ill. hogy egy masik ceg szamara a te munkad inkabb hozzaadott ertek, amit a megrendelo hoz, mintsem fejfajast okozo dolog.

Mondjuk, ha valaki mar egy ilyennel allit be (a kovetkezohoz), az mar eleve egy figyelmezteto jel, hogy a) nem vegeztel _te_ eleg jo munkat, b) kukacoskodo olcsojanos tette tiszteletet.

Miert kell nekem sajnalnom a Klubradiot?

Mi csináltunk már ilyet, hogy első körös funkció specifikáció (igazából üzleti folyamat elemzés volt) után a kuncsaft azt mondhatta,
hogy akkor nem velünk csináltatja meg, de akkor is ki kellett fizetnie az árát. Mi kiszámoltuk, hogy tisztességes haszonnal mennyiből
jönne ki a projekt (feature szinten megtervezve, határidőkkel, ezt természetesen nem adtuk oda), és ennek megfelelő ajánlatot adtunk a kivitelezésre,
ő azt mondta, hogy talált mást, aztán fél év után visszajött, hogy a tervezettnek a 10%-át fejezte be végül az, aki elvállalta, és nem akarnánk-e megcsinálni.
Addigra mondjuk a cég, akivel csináltuk volna, pont csődbe ment, úgyhogy azt hiszem nem lett megegyezés, és elvetették az egész projektet.

Specifikáció != ajánlat

Rendszer specifikáció egy weboldaltól akár egy nagyon komoly integrált rendszerig is állhat, nyilván az első
esetén nem kér az ember pénzt, a másodiknál viszont annál inkább, ezért ilyenkor a korrekt vállalkozó elmondja,
hogy kedves megrendelő, mivel nem látod tisztán, hogy pontosan mit is szeretnél, ezért neked elsősorban egy
specifikációra van szükséged, amiből kiderül, hogy egyáltalán mennyibe fog kerülne egy ilyen projekt. Na, ezt
a specifikációt/átbeszélést (ami tarthat akár több hétig is) mi megcsináljuk ennyiért meg ennyiért. Ezután
lesz egy dokumentumod, amiben le lesz írva, hogy te pontosan mit szeretnél, hogy ennek milyen költség/idő
vonzatai vannak, stb. Ezt hívják jobb helyeken egyébként megvalósíthatósági tanulmánynak...

Ahogy már előttem is írták hasonlóan dolgozunk mi is. (Én csak mint alkalmazott.) Az ügyfél jön elmondja mit szeretne. Akkor pedig megállapodunk vele és több tárgyalás után elkészítünk neki egy un.: "Konzeptentwicklung"-ot. Nem tudom mi lenne a legjobb magyar megfelelője. Ez 1 héttől 2 hónapig tarthat 1-2 emberes meló, fix árazással. Minden attól függ mit szeretne az ügyfél. Az alap ismerkedésen és bemutatókon kívül mindent számlázunk. (Németországban) Egyébként ezeket a dokumentumokat megkapja az ügyfél, ha akarja megcsináltathatja mással is. Szerencsére nem sok cég van aki ilyen komplett/komplex rendszereket el tud készíteni. Általában aztán két éves projektek születnek ezekből. (Hardver és szoftver fejlesztés.)

Tudom, hogy ez sokkal nagyobb volumenű, mint amiről a témaindító beszélt, de hátha ebből is le lehet szűrni valami tanulságot.
---
linux user

ha akkor adok árajánlatot, mikor már megírtam a speckót, és az ügyfél nem fogadta el az ajánlatot, akkor kárba ment egy csomó munkám

Azt hiszem, hogy vagyunk itt egy jó páran, akik már nem kevés munkaórát eldolgoztak azzal, hogy összerakjanak olyan ajánlatokat, amiből aztán végül nem lett munka vagy megrendelés. De ilyen ez a pop szakma.

Tudod, erről most az a vicc jutott eszembe, mikor az etnikai kissebséghez tartózó fohászodik az Úristenhez, hogy hagy nyerjen a lottón. Mire a az Úristen visszaszól neki, hogy akkor legalább egy lottót vegyen. ;) A mi esetünkben az árajánlat a lottószelvény.

"akkor kárba ment egy csomó munkám"
A specifikációírást is ki kell számlázni. Ez olyan, mint az egyes szervizeknél a bevizsgálási díj. Van aki elengedi, de cserébe drágábban javítja a solfokat, van aki pedig kiszámlázza azt is. PM költségként szépen elszámolható egy projekten ez.

Tetszik amit írtál, bár szerintem a kisvállalkozók alapproblémája számodra (szerencsédre) ismeretlen. Konkrétan a képzetlenség ami miatt nem tudja kifejezni vágyait, célját és vállalkozása stratégiáját.

Amikor egy ilyen emberrel találkozik a beszállító, akkor a legfontosabb, hogy ezekre fényt derítsen:
- Mi a vállalat stratégiai célja? (pl.: növekedés, portfólió bővítés, etc...)
- Mi a célja az adott projektnek? (pl.: új kommunikációs csatorna kialakítása, költség csökkentés, új termék bevezetése, folyamat egyszerűsítése, állagmegóvás, etc...)
- Mi az elvárásuk a projekttel, ha az megvalósul? (mérhető legyen, ne olyan fogalmak amiket csak képzelgésként lehet megélni és minden fejben a fogalom mást jelentsen)
- Ebben a formában szolgálja-e a vállalat célját az adott projekt? (vagyis, szól-e valami az ellen, hogy a projekt létrejöjjön)

Négy egyszerű kérdés, ha pedig már itt érezhető a vérzés, akkor ebből könnyebb az árázás és jósolhatóbbak a jövőbeli problémák verziói. Persze ez a négy kérdés sok esetben kivégzős kérdés is, de segít abban, hogy érdemes-e foglalkozni az illetővel vagy sem.

Természetesen sokkal több kérdést fel lehetne tenni, ami segít megismerni az ügyfelet. Javaslom állíts össze magadnak egy kérdéslistát ami ennek a felméréséhez kell. Keresd meg a projekt szűk keresztmetszeteit és ismertesd azokat a megrendelő felé. Nem az a cél, hogy elijedjen a megrendelő hanem, hogy csökkenjen a félreértés. Természetesen minden konkretizált kérdést rögzíts a szerződésedben, amit beütemezel és a mérföldköveket pedig beárazol.

Javaslom továbbá az alábbi Docleres előadásokat:
https://www.doclerholding.com/en/academy/11/
https://www.doclerholding.com/en/academy/14/
https://www.doclerholding.com/en/academy/17/

...és az alábbi fogalmat:
http://mediapedia.hu/brief

"Ami még érdekes lehet számodra: http://en.wikipedia.org/wiki/Waterfall_model"

Na ez az, amit jó messzire el kell kerülni... persze lehet klasszikus waterfall szerint dolgozni, de abból többnyire ez lesz: http://wiki.javaforum.hu/pages/viewpage.action?pageId=8683616

És minél nagyobb a projekt, annál inkább éles tesztüzem lesz a végén, már ha egyáltalán elkészül az, ami egy kicsit is hasonlít arra, amit az ügyfél alapvetően szeretett volna kapni.
--
http://wiki.javaforum.hu/display/~auth.gabor/Home

Ahja... csak még nem láttam olyan waterfall nagyprojektet, amelynél a specifikáció szerint sikerült időben pontosan leszállítani azt, amit az ügyfél akart. De be tudod bizonyítani, hogy sikerült ilyen projektet végigcsinálnod...
--
http://wiki.javaforum.hu/display/~auth.gabor/Home

Ja, te a pályázati kiírásban szereplő anyagokra gondolsz, amelyek a legtöbb esetben tele vannak vágyálmokkal, fantáziálással vagy legújabb trendként/divatként, kritika/szakmai tudás nélkül innen-onnan összevagdosott mindenféle "elvárásokat" tartalmaznak a megvalósítandó rendszerrel szemben! :D

Én meg azokra, amelyek a ténylegesen megvalósítandó rendszert írják le. ;)

A cég az elmúlt években megpróbálkozott (az adózási szabályok miatt kvázi ingyen van) egyetemeknek kiadott fejlesztési péjétékkel.
Annak ellenére, hogy szakirányú tanarak is részei voltak (papíron?) a munkának, és a kíírásokban szerepelt a jogkörkezelés, kivétel nélkül mindegyik megoldás azzal a paradigmával érkezett, hogy adatbáziskezelőt, jvm-et/webszervert az administrator/root id futtat és ér el a távolból.

Ezt igyekeztem hangsúlyozni: lesz aki megérti, hogy egyszerű gödröt kiásni majdnem ugyanolyan körültekintést igénylő munka, mint nem egyszerű gödröt, csak rövidebb idejű, de ha menet közben derül ki, hogy mégis bonyolódik, akkor lehet akár hosszabb is, és - ezek lesznek többen, mert aki nem tudja, annak minden egyszerű - lesz aki szerint "mert a szomszéd is így csináltatta ócsóbban, papír nélkül".
Azt neked kell tudnod, hogy meddig mész el az utóbbiakkal.

Lesz, aki fizetni is csak késve fog - akármilyen szerződés ellenére -, vagy éppen soha. Ilyen ország, ilyen biznisz.

A specifikációt a megrendelő határozza meg, persze az egyeztetések során ebben segíteni is lehet neki. Ha ez megvan, meg lehet határozni a project hatókörét, mely állapot az, amikor a project késznek tekinthető (dátum, mérföldkövek, felelősök, stb...) Jó ha az is külön szerepel, hogy mi nem tartozik bele.(triviális dolgok)
A menet közbeni változásoknál tudatni kell, hogy ez határidő, ár, stb... módosítással jár. Erre célszerű alprojectet, vagy külön projectet létrehozni.

Mindenképp együtt kell jóváhagyni és esetleg véglegesíteni a speckót, mert adott technológiával vagy pénzügyi kerettel egyáltalán nem biztos, hogy pont a megálmodott megvalósítható, viszont egy hasonló és szintén megfelelő igen. Sőt az is lehet, hogy pont a speckóírás/egyeztetés közben esik ki valami csontváz (kideül egy meglévő rendszerről, hogy totálisan rossz vagy tönkremegy vagy csak egyszerűen nem migrálható vagy olyan új lehetőségek jönnek, amit jobban szeretnének kihasználni stb.) innen-onnan és lefelé vagy fölfelé is módosíthatja a költségvetést.

Az előzetes konzultáció, szakértés és az adott szervezet megismerése komoly rész a projekteknek. Erre régebben, kezdőként nem is gondoltam, de egyre inkább erre halad a világ.

Ha jól tudom, pont az ilyen esetekre jók az agilis módszertanok, pl. scrum.

"1. Ti hogyan, milyen fomában kéritek be Ügyféltől az elvégzendő munka specifikációját?"

Sehogy, leülök a megrendelővel átbeszélni a feladatot és magam specifikálok.

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

Nem csak a feladatot kell írásban specifikálni, hanem a közös együtt dolgozás módját és az árképzés,
módosítási lehetőséget, szabályát is kell a szerződésben rögzíteni. Fel kell hívni a megrendelő figyelmét, hogy mi van a túlmunka esetén vagy a későbbi átvétel utáni, bevezetéskor kiderülő módosítási igények esetén.

pl:
- ha menet közben felmerül változtatás, akkor azt kategorizálom és meghivatkozom a vállalkozási szerződés idevonatkozó pontját:

1./ kategória: még nem tartok ott és a módosítás nem olyan jellegű, hogy többlet költséget generáljon.

2./ kategória: 5óra plusz munka, amely díja xxx,- Ft a szerződés Y. pontja szerint, kérem az elfogadását.
- Ha elfogadja és írásban visszajelzi, akkor lehet dolgozni és majd számlázni.
- Ha nem fogadja el, akkor: vagy kimarad vagy alternatíva keresése.

3./ kategória: a rendszer alapjait érinti, újra kell írni az egészet.
itt már nagy anyázás van.. rossz volt a specifikáció, félreértés stb...
Azonnali megbeszélés összehívása, olyan kérdésekre válasz keresés:
- ki miben felelős, meghiúsulás, elállás, kártérítés, - ennek az esetnek is szerepelni kell
a szerződésben.

vagyis minden a szerződésen múlik, azt kell jól megírni és nem egyből aláírni..

kieg:
- Szintén magam specifikálok, az ügyfél fogadja el - írásban, hogy erre gondolt.
- Egy listát készítek, hogy milyen infot kell, hogy átadjon a megrendelő,
milyen határidőkkel, hogy el tudjam készíteni a specifikációt v. a munkát.

kieg 2.:

- ha a szerződéskötéskor a tisztelt megrendelő nem fogadja el, hogy lehet pluszmunka, aminek díja van
akkor azzal nem kell foglalkozni és ez már a szerződés kötéskor kiderül..
vagy felvállalod és ennek tudatában dolgozol.

Lehet, hogy csak a sok rossz tapasztalat beszél belőlem, de én ezek szerint az irányelvek szerint járnék el:

- itt írta már valaki, hogy először egyeztess, utána ennek megfelelően elsődleges specifikáció, rendszerterv, stb., ha ezt elfogadják, akkor lehet menni tovább.
- Ha megvan, hogy mi a szerződés tárgya, akkor szerződéskötés, a szerződés része a részletes és pontos specifikáció (olyan szintig, hogy mondjuk a login screen-en a mezők neve mellett a "login" vagy a "felhasználónév" szöveg szerepeljen), ami innentől kőbe van vésve, hogy mit kell csinálnod. ha menet közben jut eszébe, hogy alma helyett körtére vágyik, akkor nyugodtan lehet neki mondani, hogy almára szerződtetek, de persze rugalmasak vagytok módosíthattok szerződést és specifikációt, ami viszont az árat is módosíthatja. Mert ha kiderül, hogy az eredeti zsebóra helyett toronyórát akar, az neked is jelentős többletköltség. De ha csak másik lánccal szeretné a zsebórát, az még bele is férhet az eredeti árba.
- fontos, hogy amikor egy mérföldkőhöz értek íratsd alá velük a teljesítési igazolást!!! Ez nagyon fontos, nem szabad kihagyni! Enélkül hiába számlázol, hivatkozhat arra, hogy nem megfelelően teljesítettél, nem veszi át, nem hajlandó kifizetni, stb. és jól megszívod.
- Én minden mérföldkőnél számláznék, mert egyrészt kisebb pénzeket könnyebb behajtani/behajtatni.
Másrészt, ha már az első részteljesítésnél bajok vannak a fizetéssel, az előjel, hogy jó lesz óvatosnak lenni. És így ha esetleg meghíusul a projekt, akkor pedig nem buksz el egy teljes projektnyi időt, pénzt és energiát, tehát a saját károdat tudod ezzel csökkenteni. Ha megcsinálod egyben az egész projektet, leadod és b@sznak kifizetni, ami Magyarországon inkább "üzemszerű működés", mint néha előforduló probléma, akkor azon kívül, hogy egy fillért se látsz a projektből, még jókora károd is lesz. Mert a projekt alatt felhasznált erőforrásokat (rezsi, munkabér, alvállalkozók díja, esetleg beszerzett hardverek költsége, stb.) részben vagy egészben ki kell fizetned, bevételed meg nulla.
- Az meg alap dolog, gondolom mondanom sem kell, hogy _mindent_ dokumentálj írásban, hogy legyen nyoma, főleg a megrendelővel történt kommunikációt. Egyrészt, hogy tudd kezelni a helyzetet, hogy ha kezdődik, hogy a telefonba nem azt mondta, nem úgy kérte, stb. történet. Másrészt ha jogi útra terelődik a dolog nem fizetés miatt, akkor tudd bizonyítani, hogy pl. bizony te a szerződés szerint teljesítettél.

Az ilyen "csak egy egyszerű feladat" szokott az esetek 99%-ában odáig fajulni, hogy a végén azon kapod magad, hogy egy két óra alatt összerakható alkalmazás helyett már mondjuk egy komplett vállalatirányítási rendszert próbálnak lefejlesztetni veled, a kétórás munka áráért. Szóval ezzel csak nagyon nagyon óvatosan! Welcome to Hungary, Neo! :(

Mostanság van egy hetidíjam, és megbecsülöm, hogy hány hétbe kerül egy adott feladatkupac. A becslés általában fél/egy hétig tart. Természetesen fizetős. Aki kifizeti ezt az első etapot, az kap egy dokumentációt a további munkákról, hét/feladatokra lebontva. Szorozhat, hogy mennyibe kerülne nálam, vagy használja a feladatlistát egyéb vállalkozók beszervezésére/alkudozásra. Többnyire képtelenek/nem akarják átlátni/összegyűjteni az igényhez kapcsolódó feladatokat, nekik már sok segítség ez a lista is. :)

Túl sokan próbáltak már túl sok dolgot kapni az elején kialkudott pénzért, aminek a vége csak bosszúság volt mindkét részről.

Én arra felé szoktam terelni a dolgokat, hogy minél többet tudjak a problémáról mire szerződéskötésre kerül sor. A tervezés első fázisát így kockáztatod, hogy ingyen lesz, de kevésbé futsz zátonyra.
Ha van a projektben olyan technológia, amivel még nem dolgoztam (vagy még senki sem csinált a világon hasonlót), és ezért kockázati tényezőnek tűnik, akkor azt a technológiát még a megbeszélések alatt megpróbálom megismerni, akár tech-demó szintjéig is eljuttatni. Ezt egyedül szoktam csinálni akár durva túlórázással is. Ha ezt megcsinálod, akkor jobban tudsz időt becsülni is, illetve tudod ha nemet kell mondani. Ez igencsak költséges rövid távon, és a bebukott projekteket "továbbképzéshez" kell könyvelnem magamban, de hiszek ebben.

Néhány tanács a szerződéshez - amit más nem írt még:
* A nem fizetés esetére írt kamatnak nagyobbnak kell lenni a jegybanki alapkamatnál, mert a jegybanki alapkamat kisebb, mint a bankokban elérhető hozam :-).
* Ha előír a szerződés olyat, hogy nem dolgozhatsz konkurrenciának x ideig, akkor azt meg kell fizettetni.

Engem, mint Toyota tulajdonost nem érdekel a Lean, az a Toyota dolga. Ugyanígy az ügyfeledet se érdekli, hogy mi az a Lean, de Te tudsz úgy dolgozni, hogy a projektet az elejétől a végéig a Lean szellemében viszed...

Itt van leírva ennek a szemléletnek egy része:
http://hu.wikipedia.org/wiki/Lean#Az_.C3.A9rt.C3.A9k_.C3.A9s_a_vev.C5.9…
--
http://wiki.javaforum.hu/display/~auth.gabor/Home

Előttem szólok sok okosat leírtak, így igyekszek röviden válaszolni.
Az egyszerű feladat sose egyszerű.

1. Az ügyfél általában nem tudja, hogy mit akar pontosan, nem képes megfogható definíciókat adni. Ezért előbb meg kell ismerned az ügyfeled, az ő tevékenységét, céljait. Ez után jöhet a konkrét projekt felvázolása, amikor is neked kell kérdésekkel rávezetned az ügyfelet az elérendő célok konkrét megfogalmazására. Akár 50-100 kérdést is fel kell tenned, amíg kialakul egy kép az ügyfélben. Természetesen ezt a specifikáció készítést is be kell építeni a árba. Viszont nem érdemes az árajánlati fázisban teljes specifikációt készítened. Egyrészről ez időrabló, másrészről az ügyfélben kialakuló kép elég gyorsan változhat a kérdések hatására.
2. A szerződés változó - kinek mi tetszik. Mindenképp megfogható konkrétumokkal kell megtölteni a szerződést. Pl: "divatos megjelenésű weboldal" - ez nem konkrét, túlságosan megengedi a megrendelő és fejlesztő szárnyalását is. Nem baj, ha 30-40 oldalas a szerződés. Ezzel csak bebiztosítod magad.
3. Ez feladat és ügyfélfüggő. Nagy projekt esetén érdemes mérföldkövekre bontani. 10-20e Ft-os darabokra semmiképp se vágj fel egy 1 millió Ft-os projektet :).
Előleget nem érdemes kérni - esetleg ha tárgyi eszköz beruházás, kapcsolódó szolgáltatás is része a projektnek (pl: szerver vásárlás, licenszek beszerzése stb.).
4. Itt jön képbe a jó specifikáció. Nyilván apróbb változtatásokat érdemes belevenni az eredeti szerződésbe és árajánlatba (pl: egy gomb színe változtatásra kerül). Ha nagyobb változás jön képbe (pl: xy modul kifejlesztése/rendszerhez illesztése), akkor ezt egy új szerződéssel tudjátok legegyszerűbben kezelni. Ekkorra már úgyis jobban ismered az ügyfelet, a projekt sarokpontjait, így könnyebben is tudod árazni, mint az elején.
5. Sajnos kivédeni nehezen tudod. Nem minden feladatot tudsz/érdemes alvállalkozónak adni. Pl: a hardveres infrastruktúrát kompletten kiadhatod alvállalkozónak, nem kell különösképpen beavatnod őt a szoftveres részletekbe. Viszont mondjuk egy új modul/funkció mentén nem feltétlen érdemes alvállalkozósdit játszani. Arról nem is beszélve, hogy itt is szerződések kellenek, felelősségi és hatásköri vonalakat kell definiálnod, ami előhozhatja későbbiekben a problémákat (pl: licenszelési kérdések, adatvédelem, későbbi hibajavítás stb.). Bizalom nélkül az alvállalkozósdi nem megy...

Az egésznek az alapja a párbeszéd írásban és szóban is. Az árazás tekintetében pedig adj súlyt a feladatnak, ne hagyd, hogy lehúzzanak. Éreztetsd az ügyféllel a projekt komolyságát, alkalmazz olyan árakat és feltételeket, amelyek kölcsönösen elégedetté tesznek téged és az ügyfeled is. Árazhatsz óradíj és teljesítménydíj alapon is - projektfüggő.
Ha azt érzed, hogy a projekt hosszú távra szól, akkor ennek megfelelően alakítsd a feltételeket is.

Még annyival egészíteném ki, hogy hagyd, hogy az ötletek, tervek ülepedjenek a tényleges megvalósítás előtt. Akár neked, akár a megrendelőnek változhat közben az igénye, új megvalósítási módok merülhetnek fel.
Gonosz magyarázat az ülepedésre: az ügyfél ne nőjjön a fejedre, ne kezeljen téged biorobotkont, éreztesd vele, hogy más ügyfeled is van, akivel foglalkozni kell.

Igen, ez mindenképp jó tanács. Nagyobb projektnél még kezdeti külön teszt rendszert vagy valami minimális kutatási/útkeresési lépcsőt is be lehet tenni. Most van a telepítési fázisa végén egy projektünk és csak maga a konfigurációk összerakása, a tesztelés is igen komoly erőforrásokat igényelt, ami teljes időben hetekben volt mérhető. Ebben persze az is benne van, hogy teszt eszközre vagy valamilyen válaszra várunk adott gyártótól.

Előleg: ismeretlen ügyféltől millió feletti projekt esetén az utóbbi időben kérek előleget. Súlyt ad a dolgoknak, rá is tesz kötelezettséget, nem csak ránk.
Ha nem hajlandó semmire, tudom, hogy komolytalan. Persze van olyan helyzet, amikor nem tud előleget adni, ekkor sűrűbb fizetési ütemezésben szoktam megállapodni (havonta pl).

--
Gábriel Ákos
http://i-logic.hu

A nulladik kör egy becslés, hogy mennyibe kerülhet a projekt. Általában már ettől a számtól elalélnak és csak nagyon kis százalék kezdi el a megvalósulást. Nagyjából konkrét példa: "szeretnénk N darab szerver, backuppal minimum 10/7-es felügyelettel és következő munkanapi hibaelhárítással". Na itt már a vállalható szerverek árától hanyatt szoktak esni, pedig nem is pakoljuk meg őket észnélkül. :) Aztán kiderül, hogy a valakicsodájuk remek árat adott N darab desktop pc-re, mint szerverre és viccesen alacsony telepítési és karbantartási díjra.

A munkadíjat mindíg adott munkafázishoz kötjük, több okból is. Az egyik, hogy folyamatosan kell finanszírozni a projekt kivitelezését is és igazán kevés hazai engedheti meg magának, hogy milliókat finanszírozzon előre. (Aki már próbált komoly szervert venni, csak úgy beesve az ajtón az tudja, hogy előre utalás van mindenhol...). A másik a bizalom, mert akármilyen remek partner, már a 100e nettó körüli számlákkal is könnyen lehet probléma és remekül ki lehet kötni, hogy ha a részszámla fizeteséssel "X napon túli késedelembe esik", akkor leáll a projekt és a végső határidő is rögtön ennyivel módosul.

A felmerülő újabb kivánságok, mint extrák szerepelnek az eredeti tervhez képest, egyedi árral. Ha nem extra dolgok, pl. "jah persze legyen HTTPS is", akkor semmi, nem egy meghatározó tényező, persze a szimpatikusnak vélt tanusítványt fizeti a T. megrendelő.

Alvállalkozóból csak régi megbízhatóval dolgozunk, akit már előtte is ismertünk. :) (Tudom, valahogy akkor is meg kellett ismerni, hát nem könnyű...)

Az ilyen "szerződésminta", meg egyéb minták gyűjtése nem fog előre vinni. Tessék szépen kiokoskodni. A magyarorszag.hu van egy halom minta mindenféle szerződési témában, azok jó kiindulópontok. A konkrét munkát meg csak te fogod tudni. Fix szerződés 200e nettó felett kell hivatalosan, de 100e-től, illetve ügyféltől függően ajánlott.

Köszi.
Nem biankó szerződésmintákra gondoltam, hanem konkrét példákra a Ti pályafutásotokból.
Már közben enélkül is körvonalazódik bennem az eddigi válaszok alapján, hogy mi lesz a helyes út.
Az érdekelt igazából, hogy mennyire szoktatok belemenni egy üzlet megkötésekor a szerződésben a részletekbe.
Úgy vettem ki a szavaitokból, hogy minél jobban részletezem a teendőket, annál jobban járok, mert a későbbi félreértésekből több bajom lehet, mint a szerződés részletes kidolgozásának fáradalmai.
A másik konklúzió, amit az eddigiekből levontam az a mérföldkövek meghatározása és a részletenkénti kasszacsörgés.
A többi még körvonalazódik, úgyhogy várom a további jótanácsokat.

openSUSE 12.2, vagy ami éppen jön.

Ha belevágsz ilyenbe úgyis ki fog alakulni egy séma ami alapján szerződés és az első néhányat meg ügyvéddel át kell nézetni. Nyilván a rázósnak tűnőeket később is. A túloldal ügyvédjében sose bizz, mert ahogy a nevéből következik az ügyet védi, csak a túloldalét. A "hát csak beleírunk néhány apróságot" c. eposzoktól pedig óvakodj és sokszor olvasd át, nincs-e valamilyen okosság eldugva pl. határidők, kötbérek vagy felelősségi kérdések terén.

Arra mindenképp számíts, hogy az első 2 ilyen meló mindenképp tanulási jellegű lesz.

Amit elfelejtettem. A kalkulált árra érdemes 5-10-15%-os ráhagyással lenni, már futottam bele olyanba, hogy a végén épp nullszaldósok lettünk, mert nem volt ráhagyás. Aki azzal jön, hogy XY a feléért is bevállalja azzal ne foglalkozz. Vagy nem tudja mit vesz vagy az XY nem tudja mit ad el. (Ez persze akkor igaz, ha reális árat adsz. :) )

Ha egy remek induló projektbe szállsz belle, akkor óvjad a T. Megrendelőt az induláskori vaskos havidíjaktól. Ugyanis általában igaz, hogy ha a fejlesztéskor elkölt minimális plusz pénzt (vagy rögtön olyat bíz meg aki rendesen dolgozik), az az üzemeltetésen igen hamar megtérül. Példul a szarul megírt PHP/.NET/Java kód nagyságrenddel több erőforrást (emberi és fizikai) igényel, mint egy szép és okos verzió és jóval olcsóbb üzemeltetni. Nem egy projektet láttam közelről vagy érintőlegesen ahol igen bátran mondták, hogy óhát semmi gond sem lesz, van befektető meg pénz és húha és nem tétel a havidíj. Aztán 6-9-12 hónap múlva meg az volt, hogy nem tudnak fizetni vagy erősen nézelődnek az occó üzemeltetés után, aztán pedig az olcsót sem tudják kifizetni... Egy egyszerű shared hostingra is hajlamosak hajmeresztő egyedi kódot feltenni a T. Megrendelők, aztán csodálkoznak, mikor megy az email, hogy na akkor vagy dedikált szerverre költöznek (nem túlzok, már legalább 2x volt ilyen elburjánzás) vagy észhez térnek.

Ne félj őszinte lenni, akkor se ha nem túl udvarias. A jobb helyeken általában ez a kifizetődőbb eljárás, mint a "sales"-es "hátmegoldjuk", ami aztán sokhetes anyázássá is fajulhat. Előbb-utóbb lesznek visszatérők is, akiknek az fog számítani, hogy ha aszondod hogy 5 alma, akkor az 5 alma és nem lesz belőle félúton 3 szilva és 2 barack, mert kiderült, hogy igazából a "sales"-ben ez van, de közben meg a technikai oldal tökmás.

A hibákból/sikerekből tanulj. Mindíg próbálj meg minden lehetséges infót összeszedni arról, hogy pl. miért választottak mást, miért mondják fel, miért épp rád esett a választás stb. (Igen, ha sok meló van akkor ez önmagában is egy jó feladat.)

Ami nincs leírva, azt nem lehet számon kérni (persze elvileg lehet, de a szó elszáll, az írás megmarad). Igen, szerződést megírni nagy meló. Nemhiába foglalkozik ezzel általában egy-két ehhez (jobban) értő szakember. De nem is lehetetlen dolog. És nekem úgy tanították, hogy a szerződésbe mindent bele lehet (kell) írni.

De én csak egyszerű bitvadász vagyok, nem gyakorló szerződésíró.

És ahogy a cégnél látom, az ügyvéd nem hülyeség. Persze a megfelelő ügyvédi iroda megtalálása nem egyszerű, mint minden jó szakembert, őket is nehéz megtalálni. Privátba tudok javasolni, illetve ha más is tud hasonlóképpen, akkor az se feltétlen árt.

Talan a fejemet veszik emiatt, talan nem, de en azt gondolom, hogy a merfoldkoveknel be lehet iktatni egy gyors felmerest, hogy mennyire van megelegedve az ugyfel az eddigi munkaval, illetve a kovetkezo merfoldkovet megegyszer atbeszelni, ha uj dolgok merulnek fel, akkor pedig elobb megnezni, hogy beleferhet-e a kovetkezo merfoldkobe / sprintbe, ha nem, akkor megbeszelni, mikorra lehet ez aktiv. Itt is szobajohet a halogatas, mert addigra az ugyfel is at tudja gondolni, mire akar gondolni valojaban, mit szeretne.

Valamint - ha a projekt megengedi - ugy szervezni a merfoldkoveket, hogy az ugyfel mindig kapjon egy demot abbol, hogy mit tortent az aktualis etapban. Ez azert fontos, mert megerositi az ugyfelben a haladas erzetet, es noveli a fizetesi hajlandosagot. Ezt kimondottan infrastrukturalis jellegu projekteknel trukkos kivitelezni, altalaban programozasnal lehet ezt hasznalni.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal 

Illetve a másik oldalról, amikor kiadtunk egy fejlesztést (tanulságos volt):

- készítettünk egy pdf fájlt, elég részletesen leírva, hogy mit akarunk
- meghirdettük a feladatot, vázlatosan leírva, hogy miről van szó
- a jelentkezőknek elküldtük a pdf-et
- a reakciókból már nagyjából sejthető volt, hogy felfogták-e, hogy mit akarunk
- hárman jelentkeztek személyes konzultációra, egyiknek olyan kérdései voltak, ami alapján egyértelmű volt, hogy nem érti, hogy mit akarunk, a másik marha drágán vállalta volna (úgy rémlik), a harmadik tulajdonképpen nem kérdezett semmit, csak megcsinálta határidőre a specifikációnak megfelelően.

A tanulság az volt, hogy a bitre egyező pdf-ből melyik fejlesztő(cég) mit szűrt le. Nem állítom, hogy a másik két cég nem értett volna hozzá, ám az egyértelmű volt, hogy kivel tudunk együtt dolgozni, ki érti meg, hogy mit és hogyan akarunk. És szerintem elég egyértelműen fogalmaztunk a pdf elkészítésekor.

Illetve az is tanulságos volt, hogy - legalábbis az egyik cég - erőltette a saját elképzelését, azaz helyből rettenet drágán fejlesztettek volna egy javás szervervalamit, javás klienssel, holott nekünk a célunk egyáltalán nem ez volt (tisztán html a kliensoldalon, a lehető legkevesebb js, ami egy verzióval később kissé eltolódott a js felé), és nem nagyon vette figyelembe, hogy mi mit akarunk. A nyertes cég meg kb. csak annyit kérdezett, hogy van-e valami nyelvi elvárásunk amit szeretnénk, mert nekik van egy javaslatuk, de ahhoz nem ragaszkodnak.

Sajnos a harmadik cég (fő?) fejlesztője mára már kilépett, és már csak hobbiból folytat fejlesztői munkát, tudományos pályán él tovább.