Newsgroup: it.comp.lang.visual-basic
Titolo: Prezzo di un programma?

Ciao, volevo chiedere a chi fa il programmatore "autonomo" come si regola
per decidere il prezzo di un programma commissionatogli? Cioè, se io dovessi
fare un classico gestionale Magazzino-Articoli-Movimenti-Ordini-Fatture,
quanto dovrei chiedere al cliente? Oppure, su che basi ci si regola, sul
numero dei form (o funzionalità), sul tempo impiegato, sul prezzo di mercato
dei programmi non customizzati (tipo n volte il prezzo di un programma
generico) o altro? C'è un criterio di valutazione più o meno comune?
Sono curioso di conoscere la vostra opinione e le vostre esperienze in
merito.
Ciao, Giuseppe

 Ciao, Giuseppe
Io faccio 150-200 euro+IVA ogni 8 ore di lavoro stimate.
Ciao
Alex.

[Generale Cluster = 
circa_alexu...@unsampdorianosoftmasters.net
 in
c56sj5$ehh$
1...@newsreader.mailgate.org
] ha scritto:

Anche per un programma (intero) come quello descritto?
Come fai i conti con quelli gią pronti (e collaudati) sul mercato?

 Come fai i conti con quelli già pronti (e collaudati) sul mercato?
I gestionali se posso evito di farli e propongo soluzioni già esistenti
oppure adattamenti di lavori che avevo fatto quando costavo meno :-), così
impiego meno tempo a finire il programma.
Altrimenti cerco di fare applicazioni più particolari e innovative
nell'ambito dei processi produttivi aziendali.
Comunque per rispondere alla prima domanda in maniera più mirata, ho visto
che un sw di una nota sw house (Dylog) costa circa 1000-1200 euro più
qualche centinaio all'anno di manutenzione, quindi fatti i tuoi conti.
Io penso che un cliente che ti chiede un programma personalizzato riesca ad
apprezzare la differenza tra un sw da edicola a 30 euro e uno cucito su
misura.
In fondo se gli fai risparmiare una giornata di lavoro ogni volta che fa la
fatturazione di fine mese, in meno di un anno si è già ripagato il costo.
Ciao ciao

 regola per decidere il prezzo di un programma commissionatogli? Cioč,
http://snipurl.com/5m6x

 il costo.
Sì, ma molto spesso, nella realtà, queste cose sono "pretese", raramente
pagate...


Puoi anche starci un anno a farlo, ma non lavorandoci 8 ore al giorno!
A me capita di fare preventivi da 20 giornate e impiegare 6 mesi solari a
finire il sw, ma di certo non ho passato tutti i sei mesi a codare quel
programma.
Il tempo passa perché magari ti viene un dubbio su come fare una cosa e dopo
mezz'ora che stai li a pensare, molli tutto e ti metti a fare dell'altro;
magari dopo un giorno ti viene l'ispirazione e vai avanti. Oppure devi
aspettare che il cliente ti mandi delle specifiche, oppure ti capita un
altro lavoro e invece di dedicare 6 ore/gg gli dedichi 3ore, oppure fuori
c'è il sole e te ne vai al mare o a farti una passeggiata... insomma ragioni
ce ne sono tante secondo me. Però alla fine i gestionali sono tutti molto
simili e quando ne hai fatto uno hai un sacco, ma veramente un sacco di
codice e struttura dati da riciclare.
In ogni caso se non stai a lavorare presso il cliente devi lavorare a
preventivo per forza. Diversamente, se sei disposto a stare nella sede del
cliente a sviluppare, allora ti fai pagare a consuntivo: lavoro 20 gg da te
e mi paghi 20gg anche se passavo tutto il giorno ad aspettare che mi
mandassi le specifiche.
Bye! :-)
-- 
elimina unsampdoriano per rispondere via email

 ad aspettare che mi mandassi le specifiche.
Mai trovato nessuno che mi pagasse per aspettare, ovvero senza far niente.

 lavoro uomo.
[CUT]
tradotto in ore ?
8h * 20gg/mese * 12 mesi = 1920 h
Quanto lo fai pagare un gestionale? 40.000 euro?
bye

[Generale Cluster = 
circa_alexu...@unsampdorianosoftmasters.net
 in
c5964f$sf6$
1...@newsreader.mailgate.org
] ha scritto:

No, perchè sarebbe fuori mercato, come dicevo. Ora hai colto cosa intendevo?
Lo faccio pagare, di base, attorno ai 1000 euro.

 Lo faccio pagare, di base, attorno ai 1000 euro.
Ho colto, ma non riesco a capacitarmi. Anch'io ho fatto un gestionale a 1100
euro, ma non ho impiegato un anno-uomo.
Ci sono dietro da quasi un anno, ma lavorandoci verameeeente poco.
Se tu mi dici che impieghi un anno-uomo vuol dire che hai una persona che
per un anno non fa altro che quello, da qui il (credo) malinteso.
In pratica come ore di lavoro quanto ci metti? Io finora ho impiegato
all'incirca 150 ore e sono già fuori budget, anche se ho praticamente finto
(mi manca giusto la stampa della prima nota e del piano dei conti).
Se dovessi rifarne uno da zero chiederei molto di più, almeno 1900-2000
euro.
bye

 conti).
150 ore per un gestionale? Ma cosa fa? E, ehm...,  cosa non fa?

 150 ore per un gestionale? Ma cosa fa? E, ehm...,  cosa non fa?
Anagrafica clienti e articoli, fatture ,ddt, magazzino, statistiche
fatturazione, piano dei conti, prima nota.
E' molto semplice, infatti mi č stato chiesto di non gestire l'integrazione
tra fatturazione e ddt (lo aggiungeremo in seguito) e neanche tracciare il
magazzino in base ai ddt emessi (anche quello eventualmente in futuro).
ciao


 eventualmente in futuro).
Beh, che dire, complimenti.
Ma, tanto per capire, pur grossolanamente, quanti campi ha la tabella (o la
somma del numero dei campi delle varie tabelle direttamente di competenza)
dell'articolo di magazzino? E quella delle righe dei documenti?
Io, solo le principali (escluse le secondarie), 121+114 per l'articolo e 150
per la riga documenti, 177 per la testata dei documenti...

 documenti...
nonononono, te l'ho detto che è semplice....
avrò una cinquantina di colonne per articolo,testata ddt, riga ddt.
La riga documento mi prende 10 colonne e la testata 15.
Sto parlando di un gestionale per un'impresa di commercio
bye!.


 Quanto lo fai pagare un gestionale? 40.000 euro?
Noi stiamo realizzando un DB.
Ci stiamo lavorando su da quasi 3 anni con una decina di persone che ci
lavorano sopra fisse, e ancora non è finito.
Non costa 40.000 euro, ma state certi che per indovinare il prezzo reale non
dovete giocare al ribasso.
E non è fuori mercato, o per lo meno i nostri clienti non se ne sono accorti
;)
I nostri problemi per ora non sono certo il prezzo, ma terminare il progetto
il prima possibile e renderlo stabile per potersi dedicare completamente
alle richieste aggiuntive dei clienti (che ovviamente vengono pagate più di
quanto costino le persone che ci lavorano, altrimenti la baracca non sta in
piedi).
Ciao
--
Math Parser : 
http://www.neodatatype.net
Sito Comune : 
http://www.it-lang-vb.net

> 150 ore per un gestionale? Ma cosa fa? E, ehm...,  cosa non fa?
Giorni fa un cliente a cui ho fatto in tempi brevi alcuni programmilli, mi
se ne esce e mi chiede "un gestionalino..." gli dico i prezzi generali ( da
100 a 10'000 euro ) ^_^
e lui gia' inizia a tirare sui 500-1000 euro :-/ , alche' mi faccio mandare
i dati e "il gestionalino" si era magicamente trasformato in un
"gestionalone". Personalizzazioni a non finire , passaggi e richieste
stranissime ... gli dico che il prezzo si aggira sui 1000 euro e mi se ne
esce con la data di consegna : 15maggio 2004 O_o !
E per d+ la commessa inizierebbe intorno a fine mese... 15gg per "un
gestionalino" ...  bha !
Che gli dico ? mi prendo 200Euro e gli compro un "finzion" da 100 ?
Per quel che mi riguarda, io faccio pagare oro le personalizzazioni, se so
che faro' un SW non riutilizzabile, che non ha commercio e SOLO adatto a
quel cliente, allora nulla, PAGHI ORO ! Se mi chiedi un sw che potrei
smerciare ...
Diciamo che i fattori che pesano sono solo 3 :
1) Rivendibilita'
2) Concorrenza
3) tempo
(sono in ordine di importanza per me)
diciamo che partio dal 3° punto, il tempo,  un 150Euro a settimana (non
piena , diciamo un 10-20 ore)
e mettiamo che viene 3 settimane Tot :
450Euro prezzo base.
Passo al punto 2. concorrenza, esiste ?
Si : abbassa il prezzo o personalizzalo un po d+ a gratis !
No: Lascio invariato/aumento
passiamo al 1° punto, lo posso risfruttare ? Ne potro' vendere altri ? Che
tipo di licenza dare all'utente ?
Diciamo che qui' il prezzo varia molto, erano 450, se ne posso rivendere
almeno un paio... allora scendo un 20% a copia ... diciamo 400 (rivendendone
un altro a 400...)
Personalizzazioni che esulano dal suo commercio ? Tutto prezzo in + ...
Poi dipende dal rapporto col cliente...
Precisazioni : Sono agli inizi come libero professionista, avro' venduto in
totale una 10ina di programmi diversi e di quei 10 solo 1 fin ora ho potuto
rivendere... poi non ho mai avuto riferimenti su cui basarmi per calcolare i
prezzi e allora vado molto a... simpatia ^_^
Mi piacciono questi post !
-- 
<Gigio2K>
--- 
http://www.g2kweb.it/gigio2k
 ---
Nokia -> I.T.H.N. -> 
http://www.ithn.it/
VB -> I.C.L.VB -> 
http://www.it-lang-vb.net/

 rivendere...
O sei un pessimo commerciale (non cerchi aree di interesse per i tuoi SW, ma
vai all'avventura trovando sempre lavori nuovi) o sei un pessimo progettista
(le personalizzazioni dovrebbero essere ridotte al minimo, tutto dovrebbe
essere parametrizzabile, e le personalizzazioni possibilmente in moduli
esterni che si possono aggiungere al programma base)


 aggiungere al programma base)
Ecco, questo mi interessa: come si gestiscono i moduli esterni?
In pratica se io progetto ad esempio un sw che potrà essere distribuito in 3
versioni: lite,standard e pro, ciascuna delle quali differisce dall'altra
per la presenza o assenza di alcune funzioni su una toolbar o su un menu,
come faccio a rendere gestibile il progetto? Io vorrei realizzare una cosa
del genere, in modo che lo sviluppo, il debug e l'aggiornamento
dell'applicazione avvengano su una unica versione del codice e non su tre
progetti separati nei quali il 70% del codice è identico. Finora la cosa più
comoda che mi è venuta in mente è sviluppare la versione più completa e
disabilitare tramite dei flag in un .bas le funzioni avanzate nelle versioni
inferiori.


[Generale Cluster = 
circa_alexu...@unsampdorianosoftmasters.net
 in
c5duuu$ntc$
1...@newsreader.mailgate.org
] ha scritto:

Generalmente faccio così anch'io, ma in alcuni casi (anche e solo per
contenere la dimensione dell'EXE in memoria se certe funzioni non sono
presenti) posso prevedere più progetti diversificati (che in ogni caso
installo, ma avvierò quello coerente con i settaggi/autorizzazioni
dell'utente) nei quali certe Form e/o Sub/Function non ci sono o, meglio,
sono sostituite da codice vuoto (si chiamano Stub?).
Per esempio:
Dim forma_opzione1 As Form
If frm_opz1 Is Form Then Set forma_opzione1 = frm_opz1
In questo modo, facendo riferimento nel codice sempre (tranne nei casi di
test come quello sopra) a forma_opzione1, posso mettere o non mettere nel
progetto (e quindi nell'EXE conseguente) la vera form con nome di progetto
frm_opz1 (corrispondete ai file frm_opz1.<frm frx>). Al compilatore sta
bene.
Chiaramente, se "If frm_opz1 is Form" è falso, non chiamerò/esporrò mai
forma_opzione1 perchè ... non c'è.

 aggiungere al programma base)
Umm SI e No ,  cioe' essendo estremamente personalizzato e di scarso
interesse pubblico, allora non bado alla progettazione delle
personalizzazioni. Per come la vedo io le personalizzazioni sono parte
integrante del programma e non ne vale la pena di progettarle esterne.


 versioni inferiori.
Esatto, avvia il progetto da una sub main in un modulo, in esso metti TUTTE
le varie config del caso :
gTipoProgetto = "pro"   '  lite = lite ; stnd = standard ; full = full "
gAdminType = 0  ' 0 = admin ; 1 = utente di livello1  2 = utente di livello
2 ecc... per ognuno puoi abilitare o disabilitare sub e func...
....
poi procedi a definire una func tipo "PrivilegiUtente(byval utentecorrente
as integer) as boolean
che restituisce in qualsiasi punto se quella sub e' attiva o no per
quell'utente o quella versione
esempio: abilitare o no il bottone "ModificaDettagliFattura"
' gUserCorrente lo pigli dalla form di login
button1.enable = PrivilegiUtente gUserCorrente tutto qui !
PS: per la gestione dei database e aggiornamento versione ho usato un metodo
che mi e' proprio venuto bene ^_^ Ditemi se vi piace :
occorrente
1 file di script sql e una if ^_^
il file e' cosi formato :
BOF
@001  ; 'versione script
000000@001 "ALTER TABLE .... "
; i primi bit sono integer e definiscono dei flag ad esempio i primi 00
rappresentano il database da
;aggiornare gli altri li ho usati una volta per controllare la versione ( 0
= full 1 = std ecc... ) e una volta per
;l'utente limitando gli aggiornamenti solo all'accesso da Admin.
...
EOF
nella famosa sub main non faccio altro che controllare la Ver salvata nel
registry con la ver del file (che si scarica da internet)
if verInternet > then AggiornaScript
    name exevecchio in exenuovo
    name ...
    dbEngine.execute sql
    ....
Ve gusta ?


 integrante del programma e non ne vale la pena di progettarle esterne.
Ok, ma questo allora significa che fai programmi di nicchia.
Se li fai bene, e su misura, dovresti farteli pagare con un tariffario
"fuori mercato".


 "fuori mercato".
fuori mercato" nel senso che non seguono le linee del mercato ? Bhe si,
ovvio ! Poi a me piace arrangiarmi e non buttarmi ad aprire una software
house ... diciamo che guadagno con la mia ditta vendendo un po di  Pc, un po
di SW e molta assistenza , vediamo tra qualche anno come butta... poi vi
faccio un SO : GigioXP (Gigio Per Pazzi) ghghghghg tanto la faccia da (_(_)
la ho ! Peccato che al posto di micro e soft sono Heavy e Rounded ^_^
