Discussion:
[OT] Wycena programu
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
Jeremiasz Miedziński
2005-08-21 23:36:29 UTC
Permalink
Witam.

Mam takie pytanie:
Pisze program dla pewnej firmy. Jest to kreator zamowienia dla dealera.
W kilku krokach podajemy parametry przedmiotu czyli co wchodzi, a co nie
wchodzi w sklad zamowienia, program pokazuje biezaca cene zamowienia. Po
zakonczeniu tworzenia zamowienia program pozwala na podglad wydruku,
wydruk, przeslanie mailem do centrali firmy, a takze przesyla plik
zamowienia w formacie innegro programu do generowania zamowien
produkcyjnych w centrali. Korzysta z bazy danych MyLitteBase operujacej
na plikach CSV.
Ciekaw jestem na ile wycenilaby wykonanie takiego programu firma
dzialajaca na rynku w Polsce.
Czas napisania programu to w moim przypadku (srednio zaawansowany
programista) ok. 10 dni po 8 godzin.

Z góry dziekuje.

P.S.
Prosilbym o nie udzielanie filozoficznych odpowiedzi w stylu "Policz
wszystkie koszta, licencje, itp itd"...
Przemyslaw Osmanski
2005-08-22 05:46:11 UTC
Permalink
Jeremiasz Miedziński napisał(a):
<CIACH>
Post by Jeremiasz Miedziński
P.S.
Prosilbym o nie udzielanie filozoficznych odpowiedzi w stylu "Policz
wszystkie koszta, licencje, itp itd"...
59,99,-

Wycenianie programu za kogos jest totalnym bezsensem. Pozatym jesli
podane przez Ciebie informacje wystarcza do wyceny programu to
gratuluje. W gre wchodza przeciez dodatkowe czynniki o ktorych nawet nie
wspomniales. Sam czas pisania programu tez nie przyda sie. Chyba ze
chodzi Tobie o typowe 'wyrobnictwo' czyli napisanie kodu na podstawie
istniejacego juz projektu i zapomnienie o nim, to wtedy 10zł brutto na
godzine, albo 50zł dla znajomego studenta.

pozdrawiam,
Przemek O.
--
Oprogramowanie dla rolnictwa
www.agroplus.com.pl, www.softsystem.prv.pl
Jeremiasz Miedziński
2005-08-22 11:56:22 UTC
Permalink
Post by Przemyslaw Osmanski
59,99,-
Dzieki, strasznie mi pomogles.
Post by Przemyslaw Osmanski
Wycenianie programu za kogos jest totalnym bezsensem.
Nie jestem wlascicielem firmy, nie pracowalem w branzy, dzialam bardziej
jako freelancer i to tez sporadycznie. Wyceny dokonuje na podstawie
zupelnie subiektywnych czynnikow. Chcialem sie dowiedziec jak _firmy_
wyceniaja swoja prace, na podstawie jakich czynnikow i okolicznosci.
Dowiedzialem sie mniej wiecej tyle, ze jestem glupi. Powinienem byc do
tego przyzwyczajony - w koncu polscy programisci to takie elitarne
zamkniete towarzystwo, ze nawet prawnicy powinni im zazdroscic...
Post by Przemyslaw Osmanski
Pozatym jesli podane przez Ciebie informacje wystarcza do wyceny
programu to gratuluje.
NIe gratuluj tylko powiedz co jest potrzebne do wyceny. Ja _nie wiem_
!!!
Post by Przemyslaw Osmanski
W gre wchodza przeciez dodatkowe czynniki o ktorych nawet nie
wspomniales.
Rowniez chetnie je poznam...
Post by Przemyslaw Osmanski
Sam czas pisania programu tez nie przyda sie.
A co sie przyda ? Czy w ogole cos sie przyda, czy cene wrozy sie z fusow
???
Post by Przemyslaw Osmanski
Chyba ze
chodzi Tobie o typowe 'wyrobnictwo' czyli napisanie kodu na podstawie
istniejacego juz projektu i zapomnienie o nim, to wtedy 10zł brutto na
godzine, albo 50zł dla znajomego studenta.
Sam jestems studentem. W polskich realiach IMHO raczej trudno nazywac
ten typ pisania "wyrobnictwem" bo raczej niewiele firm stawia glownie
lub tylko na lansowanie i sprzedaz produktu firmowego. Konkretne
zlecenia to w Polsce nadal wieksza czesc rynku.
Reasumujac - to nie forum z rankingiem za ilosc postow. To usenet
(pewnie zauwazyles). Twoj post byl niepotrzebny i nieuzyteczny. Ale
poniekad rozumiem, ze pl.comp.lang.delphi to swietne miejsce zeby ulac
sobie nieco porannej poniedzialkowej zolci...
Post by Przemyslaw Osmanski
pozdrawiam,
Przemek O.
Pozdrawiam,
Jeremiasz.
Zeman
2005-08-22 12:10:37 UTC
Permalink
Post by Jeremiasz Miedziński
Post by Przemyslaw Osmanski
59,99,-
Dzieki, strasznie mi pomogles.
Post by Przemyslaw Osmanski
Wycenianie programu za kogos jest totalnym bezsensem.
Nie jestem wlascicielem firmy, nie pracowalem w branzy, dzialam bardziej
jako freelancer i to tez sporadycznie. Wyceny dokonuje na podstawie
zupelnie subiektywnych czynnikow. Chcialem sie dowiedziec jak _firmy_
wyceniaja swoja prace, na podstawie jakich czynnikow i okolicznosci.
Dowiedzialem sie mniej wiecej tyle, ze jestem glupi. Powinienem byc do
tego przyzwyczajony - w koncu polscy programisci to takie elitarne
zamkniete towarzystwo, ze nawet prawnicy powinni im zazdroscic...
Post by Przemyslaw Osmanski
Pozatym jesli podane przez Ciebie informacje wystarcza do wyceny
programu to gratuluje.
NIe gratuluj tylko powiedz co jest potrzebne do wyceny. Ja _nie wiem_
!!!
Post by Przemyslaw Osmanski
W gre wchodza przeciez dodatkowe czynniki o ktorych nawet nie
wspomniales.
Rowniez chetnie je poznam...
Post by Przemyslaw Osmanski
Sam czas pisania programu tez nie przyda sie.
A co sie przyda ? Czy w ogole cos sie przyda, czy cene wrozy sie z fusow
???
Post by Przemyslaw Osmanski
Chyba ze
chodzi Tobie o typowe 'wyrobnictwo' czyli napisanie kodu na podstawie
istniejacego juz projektu i zapomnienie o nim, to wtedy 10zł brutto na
godzine, albo 50zł dla znajomego studenta.
Sam jestems studentem. W polskich realiach IMHO raczej trudno nazywac
ten typ pisania "wyrobnictwem" bo raczej niewiele firm stawia glownie
lub tylko na lansowanie i sprzedaz produktu firmowego. Konkretne
zlecenia to w Polsce nadal wieksza czesc rynku.
Reasumujac - to nie forum z rankingiem za ilosc postow. To usenet
(pewnie zauwazyles). Twoj post byl niepotrzebny i nieuzyteczny. Ale
poniekad rozumiem, ze pl.comp.lang.delphi to swietne miejsce zeby ulac
sobie nieco porannej poniedzialkowej zolci...
Nie rozumiem - przeczytaj sobie poprzednie posty na temat wyceny, odpowiedzi
sa takie same.
Kazdy wycenia inaczej. wycen tak zebys byl zadowolony a ile firmy biora ? ja
nie potrafie wycenic tego bo za malo szczegolow. podam przyklad :
wycenilem pewne zlecenie (PHP) ktore mialo byc proste - poprostu ankieta do
wypelniania i taka ankieta miala byc dodawana do bazy danych. Po wniknieciu
w szczegoly okazalo sie ze ankieta miala ponad 300 pol. Pisze Pan ze chce
robic kreator zamowien. Tylko ze my nie wiemy jaki kreator - 2 checkboxy
select ? czy moze 40 formatek i na kazdej 20 opcji ? wspomnial Pan o
formacie innego programu. zapis w innym formacie moze byc prosty a moze byc
niesamowicie upierdliwy.
Pisze Pan ze zajmie to Panu ok 80 godzin, na tej podstawie powiem tak :
wzialbym za to ok 1500 jesli wiedzialbym ze wiekszosc osob tez bedzie
conajmniej 10 dni robic... Wzialbym 3000 jesli wiedzialbym ze mam w tym
zakresie duze doswiadczenie i np pisalem podobny program i wiem ze innym by
to zajelo 1 miesiac.
Wzialbym powyzsze razy 2 albo razy 3 jesli klient bylby np z Norwegii czy
cos. i jeszcze troche wiecej jesli klientem bylaby duuuza firma. Jesli moze
sie Pan pochwalic i pokazac cotez Pan juz popelnil to bierze Pan wiecej, jak
nie ma to mniej zeby nie stracci klienta. i tak dalej i tak dalej


Ma Pan najkonkretniejsza odpowiedz jaka moge dac.

Pozwiodronka,
Zeman.
Jeremiasz Miedziński
2005-08-22 13:32:49 UTC
Permalink
Post by Zeman
Nie rozumiem - przeczytaj sobie poprzednie posty na temat wyceny, odpowiedzi
sa takie same.
Kazdy wycenia inaczej. wycen tak zebys byl zadowolony a ile firmy biora ? ja
wycenilem pewne zlecenie (PHP) ktore mialo byc proste - poprostu ankieta do
wypelniania i taka ankieta miala byc dodawana do bazy danych. Po wniknieciu
w szczegoly okazalo sie ze ankieta miala ponad 300 pol. Pisze Pan ze chce
robic kreator zamowien. Tylko ze my nie wiemy jaki kreator - 2 checkboxy
select ? czy moze 40 formatek i na kazdej 20 opcji ? wspomnial Pan o
formacie innego programu. zapis w innym formacie moze byc prosty a moze byc
niesamowicie upierdliwy.
wzialbym za to ok 1500 jesli wiedzialbym ze wiekszosc osob tez bedzie
conajmniej 10 dni robic... Wzialbym 3000 jesli wiedzialbym ze mam w tym
zakresie duze doswiadczenie i np pisalem podobny program i wiem ze innym by
to zajelo 1 miesiac.
Wzialbym powyzsze razy 2 albo razy 3 jesli klient bylby np z Norwegii czy
cos. i jeszcze troche wiecej jesli klientem bylaby duuuza firma. Jesli moze
sie Pan pochwalic i pokazac cotez Pan juz popelnil to bierze Pan wiecej, jak
nie ma to mniej zeby nie stracci klienta. i tak dalej i tak dalej
Ma Pan najkonkretniejsza odpowiedz jaka moge dac.
Dziekuje - to _jest_ konkretna odpowiedz i takiej (co do formy) mniej
wiecej oczekiwalem. Nie prosilem o szczegolowa ani dokladna wycene, tym
bardziej, ze program juz sprzedalem za kwote podobna do sugerowanej
przez Pana.
Bylem po prostu ciekaw ile inni programisci wzieliby za srednio
skomplikowany kreator z paroma dodatkowymi opcjami jak wydruki, eksport
do innego formatu itp.
Panski poprzednik, byc moze nieswiadomie, udzielil mi odpowiedzi, ktora
nic nie wniosla do tematu stad moze nieco agresywny ton mojej
odpowiedzi. Jesli urazilem Pana Przemka Osmanskiego to przepraszam -
moze rzeczywiscie chcial pomoc tylko moje oczekiwania byly inne.
Tak czy inaczej - dziekuje obu Panom za odpowiedzi.

Pozdrawiam,
Jeremiasz.
Przemyslaw Osmanski
2005-08-22 13:32:58 UTC
Permalink
Post by Jeremiasz Miedziński
Post by Przemyslaw Osmanski
Wycenianie programu za kogos jest totalnym bezsensem.
Nie jestem wlascicielem firmy, nie pracowalem w branzy, dzialam bardziej
jako freelancer i to tez sporadycznie. Wyceny dokonuje na podstawie
zupelnie subiektywnych czynnikow. Chcialem sie dowiedziec jak _firmy_
wyceniaja swoja prace, na podstawie jakich czynnikow i okolicznosci.
Albo nie umiesz pisac tego co chcesz, albo juz zapomniales co napisales
Z Twojego postu wynika jedynie ze chcesz aby ktos wycenil program ktory
piszesz. Jakos nigdzie nie moge znalesc momentu w ktorym prosisz o
podanie czynnikow na podstawie jakich robi sie wycene programu.
Post by Jeremiasz Miedziński
Dowiedzialem sie mniej wiecej tyle, ze jestem glupi. Powinienem byc do
tego przyzwyczajony - w koncu polscy programisci to takie elitarne
zamkniete towarzystwo, ze nawet prawnicy powinni im zazdroscic...
Dziwne, czegos takiego nawet nie sugerowalem. Jesli jednak tak uwazasz,
no coz...
Post by Jeremiasz Miedziński
Sam jestems studentem. W polskich realiach IMHO raczej trudno nazywac
ten typ pisania "wyrobnictwem" bo raczej niewiele firm stawia glownie
lub tylko na lansowanie i sprzedaz produktu firmowego. Konkretne
zlecenia to w Polsce nadal wieksza czesc rynku.
Heh, znowu mnie nie zrozumiales. Podalem Tobie cene za takie
'wyrobnictwo', bo nie raczyles podac konkretow.
Post by Jeremiasz Miedziński
Reasumujac - to nie forum z rankingiem za ilosc postow. To usenet
(pewnie zauwazyles). Twoj post byl niepotrzebny i nieuzyteczny. Ale
poniekad rozumiem, ze pl.comp.lang.delphi to swietne miejsce zeby ulac
sobie nieco porannej poniedzialkowej zolci...
ROTFL. Tutaj padlem.
Twoj post jest za to baaaaardzo potrzebny, bo google sie popsuly i nie
mozna niczego znalesc w archiwum chocby tej grupy.
Porannej poniedzialkowej zolci nie mam od wielu lat, a dlaczego? Niewazne ;)

Niemniej pomimo tych powyzszych 'przyczepek' z Pana strony, na konkretne
pytanie odpowiem.

Przy wycenie programu nalezy wziasc pod uwage kilka czynnikow,
najwazniejsze z nich przy pisaniu programu pod klienta to:
- dostepnosc podobnych rozwiazan na rynku oraz ich cena (nie mozna brac
za program np. 100zł jesli podobny funkcjonalnie jest za 3.50),
- dalej nalezy uwzglednic mozliwosc dalszej sprzedazy oprogramowani (czy
w umowie jest zastrzezenie nierozpowszechniania, czy program jest pisany
na wylacznosc),
- nastepnym aspektem jest przydatnosc oprogramowania dla zamawiajacego
(jesli jest niezbedny to cena moza byc wyzsza od programu bez ktorego
mozna sie obejsc),
- przekazanie badz nie zrodel do programu,
- ilosc miejsc gdzie bedzie program uzytkowany (czyli na ilu
stanowiskach bedzie dzialal),
Dalej nalezy brac pod uwage aspekty zwiazane z realizacja zlecenia:
- bielgosc w zagadnieniach ktorych program dotyczy (bo nie moze byc tak,
ze wydam duze pieniadze na program powiedzmy z zakresu badan czegos o
czym tworca oprogramowania nie ma zielonego pojecia),
- czas potrzebny na zrealizowanie zlecenia (nie tylko wklepanie kodu,
ale tez przygotowanie projektu, jego realizacja, testowanie i koncowe
wdrozenie) gdzie powinna to byc np. minimalna stawka za jaka chcemy
pracowac,
- czy oprocz samej realizacji zlecenia wchodza w gre dodatkowe uslugi
typu wdrozenie, ew. nadzor nad oprogramowaniem itp.
- jak mocno klientowi spieszy sie z odbiorem dzialajacego oprogramowania,
Itd, itd... Do kazdego projektu podchodzi sie indywidualnie, nie ma
jakiegos szablonu wg ktorego mozna by wycenic projekt.

Niektorzy biora tez pod uwage zasobnosc portfela klienta, czy jest to
fima polska, czy zagraniczna, czy isnieje mozliwosc dalszych zlecen itp itd.

pozdrawiam,
Przemek O.
--
Oprogramowanie dla rolnictwa
www.agroplus.com.pl, www.softsystem.prv.pl
Jeremiasz Miedziński
2005-08-22 15:26:25 UTC
Permalink
No dobrze, moze troche przesadzilem z "przyczepkami" - przepraszam :)
Niemniej jednak sam Pan dal dowod tego, ze Panski post tez byl pewnego
rodzaju "przyczepka" bo za czas jakis okazalo sie, ze na podstawie tych
samych informacji jest Pan w stanie udzielic znaaaacznie bardziej
konkretnej odpowiedzi, za ktora bardzo dziekuje.

Pozdrawiam,
Jeremiasz.
Гражданин Мира
2005-08-23 07:38:05 UTC
Permalink
Post by Przemyslaw Osmanski
Porannej poniedzialkowej zolci nie mam od wielu lat, a dlaczego? Niewazne ;)
Przemek, nie bądź taki - znasz sposób ale się nie podzielisz ??
Nieładnie, oj nieładnie... ;-)
--
Pozdrawiam,
Sebcio

Delphi 7.1 Professional + Windows XP Pro SP2
Przemyslaw Osmanski
2005-08-23 09:26:27 UTC
Permalink
Post by Гражданин Мира
Post by Przemyslaw Osmanski
Porannej poniedzialkowej zolci nie mam od wielu lat, a dlaczego? Niewazne ;)
Przemek, nie bądź taki - znasz sposób ale się nie podzielisz ??
Nieładnie, oj nieładnie... ;-)
Podzielic sie moge, ale czy ktos to zastosuje to juz zalezy od jego
sytuacji... :P

1. Nie wstawac w poniedzialek przez 9 ;)
2. Nie pracowac przez 11 ;)
3. Najlepiej zrobic sobie z poniedzialku ostatni dzien łikendu, z
łagodnym przejsciem do zadan zawodowych (tzn. usiąść przed komputerem i
zagrac w HOM&M3 ;) ).

pozdrawiam,
Przemek O.
--
Oprogramowanie dla rolnictwa
www.agroplus.com.pl, www.softsystem.prv.pl
mm
2005-08-23 16:07:00 UTC
Permalink
Ja sprzedałem 25 sztuk programu na 3000 lini źródła po 100 zł za sztukę
(linie liczyłem bez uwzględnienia kodu dodawanego automatycznie przez
kompilator w górnych częściach modułu).
Programy pisane tylko w jednej sztuce muszą być ze trzy, cztery razy droższe.
Andrzej Grażyński
2005-08-23 20:42:39 UTC
Permalink
Post by Jeremiasz Miedziński
Witam.
Pisze program dla pewnej firmy. Jest to kreator zamowienia dla dealera.
W kilku krokach podajemy parametry przedmiotu czyli co wchodzi, a co nie
wchodzi w sklad zamowienia, program pokazuje biezaca cene zamowienia. Po
zakonczeniu tworzenia zamowienia program pozwala na podglad wydruku,
wydruk, przeslanie mailem do centrali firmy, a takze przesyla plik
zamowienia w formacie innegro programu do generowania zamowien
produkcyjnych w centrali. Korzysta z bazy danych MyLitteBase operujacej
na plikach CSV.
Ciekaw jestem na ile wycenilaby wykonanie takiego programu firma
dzialajaca na rynku w Polsce.
Czas napisania programu to w moim przypadku (srednio zaawansowany
programista) ok. 10 dni po 8 godzin.
Z góry dziekuje.
P.S.
Prosilbym o nie udzielanie filozoficznych odpowiedzi w stylu "Policz
wszystkie koszta, licencje, itp itd"...
Zacznę od konkretu.

Zażądaj od firmy 3000 (brutto) i po tygodniu targowania się zejdź na
1800 (patrz niżej). Gdybym ja był właścicielem tej firmy,
zaproponowałbym 100 zł (jałmużny za wysiłek). A Ty miałbyś wybór: albo
sprzedać za stówę, albo w ogóle. W końcu zgodziłbyś się na stówę, a ja
wspaniałomyślnie dorzuciłbym drugą (a co, stać mnie).

Ja dałbym max. dwie stówy, ale firma o której piszesz nie jest chyba
specjalnie poważna, skoro zamawia program u amatora ("piszę program dla
firmy") i nie spisuje umowy określającej szczegółów zamówienia i nie ma
ŻADNEJ kontroli nad tym, za co będzie (ewentualnie) płacić. I dlatego
możesz spróbować wyrwać z takiej firmy 1800-3000 (pewnie się uda!) -
nawet jeśli program będzie się co chwilę wykrzaczał z GP lub AV, to
możesz spróbować wmówić zamawiającemu, że tak miało być. Bo wmówić można
wszystko, gdy nie ma umowy.

Nie zapominaj, że za 3000 można kupić GOTOWE profesjonalne
oprogramowanie, tworzone kosztem tysięcy roboczogodzin, znajdujące się
od wielu tak w eksploatacji kilkuset użytkowników i stąd znakomicie
przetestowane. I dlatego kuriozalne jest zamawianie programu ad hoc -
programu stanowiącego jedną wielką niewiadomą.


Dla mnie program stworzony kosztem 80 roboczogodzin jest nic nie wart z
podstawowego względu - nie stwarza podstaw zaufania co do poprawnosci
działania ("podstaw zaufania" - już nie piszę o "oczekiwaniach"). Sądząc
z opisu, program posiada wiele funkcji podatnych na błędy i bez
SYSTEMATYCZNEGO testowania (metodami czarno- i białoskrzynkowymi,
równolegle ze sporządzaniem dokumentacji zawierającej m.in. wykorzystane
test cases) jest absolutnie niewiarygodny. Gdybym na przykład zaytał o
argumenty świadczące za tym, że przesłanie mailem pzebiegnie bezbłędnie,
jakich argumentów użyłbyś na poparcie tej tezy? Że wysłałeś kilka razy
i zadziałało? Albo że na oko wydaje Ci się, że musi działać?

Wielce pożyteczne będzie dla Ciebie zrozumienie podstawowej prawdy:
tworzenie profesjonalnych aplikacji to coś zupełnie innego niż pisanie
programów "od ręki". Tym bardziej, gdy cały cykl wynosi 80
roboczogodzin, z czego na projektowanie i testowanie przypada 0%. Jeśli
tego nie rozumiesz, ogranicz się do tworzenia programów na własne
potrzeby - nic to nie kosztuje (wersje Personal) i nie szkodzi ludziom.
I da się realizować w cyklach kilkudziesięciogodzinnych.


AG
Jeremiasz Miedziński
2005-08-23 21:32:32 UTC
Permalink
Post by Andrzej Grażyński
Post by Jeremiasz Miedziński
Witam.
Pisze program dla pewnej firmy. Jest to kreator zamowienia dla dealera.
W kilku krokach podajemy parametry przedmiotu czyli co wchodzi, a co nie
wchodzi w sklad zamowienia, program pokazuje biezaca cene zamowienia. Po
zakonczeniu tworzenia zamowienia program pozwala na podglad wydruku,
wydruk, przeslanie mailem do centrali firmy, a takze przesyla plik
zamowienia w formacie innegro programu do generowania zamowien
produkcyjnych w centrali. Korzysta z bazy danych MyLitteBase operujacej
na plikach CSV.
Ciekaw jestem na ile wycenilaby wykonanie takiego programu firma
dzialajaca na rynku w Polsce.
Czas napisania programu to w moim przypadku (srednio zaawansowany
programista) ok. 10 dni po 8 godzin.
Z góry dziekuje.
P.S.
Prosilbym o nie udzielanie filozoficznych odpowiedzi w stylu "Policz
wszystkie koszta, licencje, itp itd"...
Zacznę od konkretu.
Zażądaj od firmy 3000 (brutto) i po tygodniu targowania się zejdź na
1800 (patrz niżej). Gdybym ja był właścicielem tej firmy,
zaproponowałbym 100 zł (jałmużny za wysiłek). A Ty miałbyś wybór: albo
sprzedać za stówę, albo w ogóle. W końcu zgodziłbyś się na stówę, a ja
wspaniałomyślnie dorzuciłbym drugą (a co, stać mnie).
Ja dałbym max. dwie stówy, ale firma o której piszesz nie jest chyba
specjalnie poważna, skoro zamawia program u amatora ("piszę program dla
firmy") i nie spisuje umowy określającej szczegółów zamówienia i nie ma
ŻADNEJ kontroli nad tym, za co będzie (ewentualnie) płacić. I dlatego
możesz spróbować wyrwać z takiej firmy 1800-3000 (pewnie się uda!) -
nawet jeśli program będzie się co chwilę wykrzaczał z GP lub AV, to
możesz spróbować wmówić zamawiającemu, że tak miało być. Bo wmówić można
wszystko, gdy nie ma umowy.
Nie zapominaj, że za 3000 można kupić GOTOWE profesjonalne
oprogramowanie, tworzone kosztem tysięcy roboczogodzin, znajdujące się
od wielu tak w eksploatacji kilkuset użytkowników i stąd znakomicie
przetestowane. I dlatego kuriozalne jest zamawianie programu ad hoc -
programu stanowiącego jedną wielką niewiadomą.
Dla mnie program stworzony kosztem 80 roboczogodzin jest nic nie wart z
podstawowego względu - nie stwarza podstaw zaufania co do poprawnosci
działania ("podstaw zaufania" - już nie piszę o "oczekiwaniach"). Sądząc
z opisu, program posiada wiele funkcji podatnych na błędy i bez
SYSTEMATYCZNEGO testowania (metodami czarno- i białoskrzynkowymi,
równolegle ze sporządzaniem dokumentacji zawierającej m.in. wykorzystane
test cases) jest absolutnie niewiarygodny. Gdybym na przykład zaytał o
argumenty świadczące za tym, że przesłanie mailem pzebiegnie bezbłędnie,
jakich argumentów użyłbyś na poparcie tej tezy? Że wysłałeś kilka razy
i zadziałało? Albo że na oko wydaje Ci się, że musi działać?
tworzenie profesjonalnych aplikacji to coś zupełnie innego niż pisanie
programów "od ręki". Tym bardziej, gdy cały cykl wynosi 80
roboczogodzin, z czego na projektowanie i testowanie przypada 0%. Jeśli
tego nie rozumiesz, ogranicz się do tworzenia programów na własne
potrzeby - nic to nie kosztuje (wersje Personal) i nie szkodzi ludziom.
I da się realizować w cyklach kilkudziesięciogodzinnych.
AG
Witam.

Rozwijajac za Wikipedia: "Pewnie Lepiej Olać Niż Komentować"

Zdrowia życzę Panie Andrzeju,
Jeremiasz.
Jeremiasz Miedziński
2005-08-23 21:44:02 UTC
Permalink
Post by Andrzej Grażyński
Post by Jeremiasz Miedziński
Witam.
Pisze program dla pewnej firmy. Jest to kreator zamowienia dla dealera.
W kilku krokach podajemy parametry przedmiotu czyli co wchodzi, a co nie
wchodzi w sklad zamowienia, program pokazuje biezaca cene zamowienia. Po
zakonczeniu tworzenia zamowienia program pozwala na podglad wydruku,
wydruk, przeslanie mailem do centrali firmy, a takze przesyla plik
zamowienia w formacie innegro programu do generowania zamowien
produkcyjnych w centrali. Korzysta z bazy danych MyLitteBase operujacej
na plikach CSV.
Ciekaw jestem na ile wycenilaby wykonanie takiego programu firma
dzialajaca na rynku w Polsce.
Czas napisania programu to w moim przypadku (srednio zaawansowany
programista) ok. 10 dni po 8 godzin.
Z góry dziekuje.
P.S.
Prosilbym o nie udzielanie filozoficznych odpowiedzi w stylu "Policz
wszystkie koszta, licencje, itp itd"...
Zacznę od konkretu.
Zażądaj od firmy 3000 (brutto) i po tygodniu targowania się zejdź na
1800 (patrz niżej). Gdybym ja był właścicielem tej firmy,
zaproponowałbym 100 zł (jałmużny za wysiłek). A Ty miałbyś wybór: albo
sprzedać za stówę, albo w ogóle. W końcu zgodziłbyś się na stówę, a ja
wspaniałomyślnie dorzuciłbym drugą (a co, stać mnie).
Ja dałbym max. dwie stówy, ale firma o której piszesz nie jest chyba
specjalnie poważna, skoro zamawia program u amatora ("piszę program dla
firmy") i nie spisuje umowy określającej szczegółów zamówienia i nie ma
ŻADNEJ kontroli nad tym, za co będzie (ewentualnie) płacić. I dlatego
możesz spróbować wyrwać z takiej firmy 1800-3000 (pewnie się uda!) -
nawet jeśli program będzie się co chwilę wykrzaczał z GP lub AV, to
możesz spróbować wmówić zamawiającemu, że tak miało być. Bo wmówić można
wszystko, gdy nie ma umowy.
Nie zapominaj, że za 3000 można kupić GOTOWE profesjonalne
oprogramowanie, tworzone kosztem tysięcy roboczogodzin, znajdujące się
od wielu tak w eksploatacji kilkuset użytkowników i stąd znakomicie
przetestowane. I dlatego kuriozalne jest zamawianie programu ad hoc -
programu stanowiącego jedną wielką niewiadomą.
Dla mnie program stworzony kosztem 80 roboczogodzin jest nic nie wart z
podstawowego względu - nie stwarza podstaw zaufania co do poprawnosci
działania ("podstaw zaufania" - już nie piszę o "oczekiwaniach"). Sądząc
z opisu, program posiada wiele funkcji podatnych na błędy i bez
SYSTEMATYCZNEGO testowania (metodami czarno- i białoskrzynkowymi,
równolegle ze sporządzaniem dokumentacji zawierającej m.in. wykorzystane
test cases) jest absolutnie niewiarygodny. Gdybym na przykład zaytał o
argumenty świadczące za tym, że przesłanie mailem pzebiegnie bezbłędnie,
jakich argumentów użyłbyś na poparcie tej tezy? Że wysłałeś kilka razy
i zadziałało? Albo że na oko wydaje Ci się, że musi działać?
tworzenie profesjonalnych aplikacji to coś zupełnie innego niż pisanie
programów "od ręki". Tym bardziej, gdy cały cykl wynosi 80
roboczogodzin, z czego na projektowanie i testowanie przypada 0%. Jeśli
tego nie rozumiesz, ogranicz się do tworzenia programów na własne
potrzeby - nic to nie kosztuje (wersje Personal) i nie szkodzi ludziom.
I da się realizować w cyklach kilkudziesięciogodzinnych.
AG
Witam.

Rozwijajac za Wikipedia: "Pewnie Lepiej Olać Niż Komentować"
Zadziwiajaca wrecz zdolnosc wyciagania zlozonych wnioskow z niezlozonych
informacji. Pewnie dopisek [OT] przed tematem zachecil...

Zdrowia życzę Panie Andrzeju,
Jeremiasz.

P.S.
Gratuluje IMO zgrabnie napisanej ksiazki. Tu juz bez ironii :)
Andrzej Grażyński
2005-08-23 22:33:18 UTC
Permalink
Post by Jeremiasz Miedziński
Rozwijajac za Wikipedia: "Pewnie Lepiej Olać Niż Komentować"
Zadziwiajaca wrecz zdolnosc wyciagania zlozonych wnioskow z niezlozonych
informacji.
80 roboczogodzin - to fakt, nie wniosek. I dalej samo już wszystko samo
wynika. Za 80 godzin można napisać donos na sąsiada, pracę magisterską z
politologii, testament, no ewentualnie program na zaliczenie (nie u
mnie!!!), ale nie aplikację do sprzeda(wa)nia za pieniądze.


Inny konkret (cytat) "piszę program dla firmy" - czyli firma o programie
wie i wie że będzie za niego płacić. Skoro padło pytanie o wycenę, to
znaczy że nie ma jeszcze ustalonej ceny. Proste jak drut. I dość dziwne...

Wątpię, by którakolwiek poważna firma w ogóle zainteresowała się takim
programem, nie mówiąc już o zakupie i wycenie. Oprogramowanie powinno
służyć do ROZWIĄZYWANIA problemów, a nie nastręczania nowych. W
przypadku opisanego programu prawdopodobne jest to drugie. Wystarczy
zacząć systematycznie testować, by się o tym przekonać. Normalka, jakich
tysiące już widziałem.

Napisałem "poważna firma", ale określenie to nie wyczerpuje znamion
działalnosći gospodarczej i być może uda się kogoś niepoważnego
przekonać do kupna tego-czegoś za 1800. W końcu ludzie na co dzień
kupują (w promocji) barachło sprzętowe, płacąc za Pentium 4, podczas gdy
w środku jest AMD-K62/450 (daję słowo, autentyk z wczoraj) to czemu nie
daliby się nabrać na programy sprawiające pozory poprawnego działania.
nawet jeśli połowę z tych 80 godzin przeznaczyć na testowanie (w co
wątpię) to przez ten czas da się testowanie ledwo zacząć.

No to życzę, żeby było 1800. Jeśli będzie, to gotów jestem negocjować
cenę za ujawnienie, co to za firma. Być może też postaram się wyrwać (na
przykład) 1000 za coś, od czego każdy znający się na rzeczy odwróciłby
się ze wstrętem. I wcale nie z chęci zysku, a gwoli piętnowania
indolencji (firmy).

Coś mi się jednak widzi, że w najlepszym razie będzie tylko 50-100 PLN.
Ale nie zapeszam.
Post by Jeremiasz Miedziński
Gratuluje IMO zgrabnie napisanej ksiazki. Tu juz bez ironii :)
Dziękuję.

Skoro już mowa o książkach, to gorąco chciałbym polecić

http://helion.pl/ksiazki/artteo.htm

Daje doskonałe pojęcie o tym, jaka jest rola testowania oprogramowania i
zdolna jest (już po kilku początkowych stronach) rzucić na kolana wielu
programistów wierzących we własną nieomylność.


Pozdrowienia

AG
PaSkol
2005-08-24 05:13:26 UTC
Permalink
Post by Andrzej Grażyński
Za 80 godzin można napisać donos na sąsiada, pracę
magisterską z politologii, testament, no ewentualnie program na
zaliczenie (nie u mnie!!!), ale nie aplikację do sprzeda(wa)nia za
pieniądze.
Dwa pytania (całkiem serio):
1. Skąd będziesz wiedział, że zaliczający nie zrobił tego w 80 godzin?
2. Skąd przekonanie, że projektu który zajmie 80 godzin nie można sprzedać
jako _dobrego_ produktu?

Przy okazji. Można prosić opis jakiegoś przykładowego programu na zaliczenie?
--
PaSkol
---=== Każdy usenetowy chwat z Netykietą za pan brat ===---
---=== http://www.pg.gda.pl/~agatek/netq.html ===---
Andrzej Grażyński
2005-08-24 13:29:31 UTC
Permalink
Post by PaSkol
1. Skąd będziesz wiedział, że zaliczający nie zrobił tego w 80 godzin?
Bo robotę robioną w pośpiechu będzie widać po jakości. Jesli ktoś
potrafi zrobić dobry soft w 80 godzin, nie powinien studiować tylko od
razu zażądać doktoratu. Wszystko jest możliwe.
Post by PaSkol
2. Skąd przekonanie, że projektu który zajmie 80 godzin nie można sprzedać
jako _dobrego_ produktu?
Własnie że nie mam takiego przekonania. Szwejk sprzedał ślepego buldoga
(bo nic innego nie miał) bogatej pani, która rozpaczała po stracie
papugi. Pani chciała papugę taką samą, jak ta zdechła, a ona miał tylko
buldoga. Ale po 16 godzinach perswazji udało się.

Jak napisałem, niewykluczone, że opisywany program da sie komuś wcisnąć
za 3000.
Post by PaSkol
Przy okazji. Można prosić opis jakiegoś przykładowego programu na zaliczenie?
(1)

Program sortujący duży plik tekstowy, wykorzystujący mapowanie
pamięciowe tego pliku. Wiersze pliku (jako łańcuchy w pamięci,
zakończone CR lub CRLF) wskazywane są przez pointery w kolekcji. Po
uporządkowaniu (posortowaniu) pointerów wiersze mają zostać wypisane (w
kolejności pointerów) do innego pliku (dotąd było prosto). Zależnie od
lokalnej własności uporządkowania wierszy, należy dynamicznie przełączać
się między metodami sortowania HeapSort i InsertionSort (bez uważnego
uczestniczenia w ćwiczeniach tego nie da się zrobić samodzielnie w 80
godzin). Wyjasnić, dlaczego QuickSort nie nadaje się do tego typu
problemów (jw) (taki błąd koncepcyjny zrobili autorzy Delphi w
TStringList). Program ma mieć możliwość przerwania na żądanie. Gdy
program uruchomiony zostanie z dodatkowym przełącznikiem /AUTO, powinien
uruchomić się bez pokazywania formularza i bez dialogu z uzytkownikiem i
oczywiście automatycznie skończyć (wbrew pozorom nie jest to najłatwiejsze).


(2)

(To zadanie dałem po raz pierwszy w czasach Turbo Pascala 5.5.)

Dany jest plik typu TextFile, którego zawartość stanowi sekwencja
sekcji. Każda sekcja rozpoczyna się nagłówkiem

* klucz

po którym nastepują wiersze treści.

<spacja> wiersz


(nagłówek ma gwiazdkę w pierwszej kolumniem pozostałe wiersze mają spację).

Nalezy posortować sekcje w pliku według kluczy w nagłówkach, a sekcje o
powtarzających się kluczach połączyć (skonkatenować) ze sobą. Zadanie to
da się wykonać w dwóch przejsciach przez plik (dokładnie: jeśli w pliku
jest N wierszy, to da się to zrobić odczytując nie więcej niż 2N
wierszy). Nie należy mapować pamięciowo pliku.

Szacunkowo w pliku jest ok 20 milionów sekcji, rozmiar jednej sekcji od
5 - 10 000 000 wierszy.

(3)

dany jest ciąg A[1] ... A[n]

i jego permutacja. B[1] - B[n]

Sprawdzić, czy ciag B faktycznie jest permutacją A, poczym obliczyć
najmniejszą możliwą liczbę przestawień koniecznych do przekształcenia A w B.



(4)

Dana jest macierz niekwadratowa A[M, N]. Dokonać W MIEJSCU (be uzywania
dodatkowych tablic) jej transpozycji, czyli zmiany uporządkowania
elementów tak, by zamiast

A[1,1], A[1,2} ... A[1,N], A[2,1], ......

w pamieci było uporządkowanie

A[1,1], A[2,1} ... A[N,1], A[1,2], ......



Można sobie to wyobrazić tak:

Type
TOriginalMatrix = array[1..M, 1..N] of TElement;
TTransposedMatrix = array[1..N, 1..M] of TElement;


var
A:TOriginalMatrix;
B:TTransposedMatrix absolute A;



... wczytujemy A.

.. transponujemy (tu wykonuje się zadanie)


... i teraz w B ma się znaleźć transpozycja macierzy A




Powodzenia

AG
Andrzej Grażyński
2005-08-24 17:37:53 UTC
Permalink
Post by PaSkol
1. Skąd będziesz wiedział, że zaliczający nie zrobił tego w 80 godzin?
Bo robotę robioną w pośpiechu będzie widać po jakości. Jesli ktoś
potrafi zrobić dobry soft w 80 godzin, nie powinien studiować tylko od
razu zażądać doktoratu. Wszystko jest możliwe.
Post by PaSkol
2. Skąd przekonanie, że projektu który zajmie 80 godzin nie można sprzedać
jako _dobrego_ produktu?
Własnie że nie mam takiego przekonania. Szwejk sprzedał ślepego buldoga
(bo nic innego nie miał) bogatej pani, która rozpaczała po stracie
papugi. Pani chciała papugę taką samą, jak ta zdechła, a ona miał tylko
buldoga. Ale po 16 godzinach perswazji udało się.

Jak napisałem, niewykluczone, że opisywany program da sie komuś wcisnąć
za 3000.
Post by PaSkol
Przy okazji. Można prosić opis jakiegoś przykładowego programu na zaliczenie?
(1)

Program sortujący duży plik tekstowy, wykorzystujący mapowanie
pamięciowe tego pliku. Wiersze pliku (jako łańcuchy w pamięci,
zakończone CR lub CRLF) wskazywane są przez pointery w kolekcji. Po
uporządkowaniu (posortowaniu) pointerów wiersze mają zostać wypisane (w
kolejności pointerów) do innego pliku (dotąd było prosto). Zależnie od
lokalnej własności uporządkowania wierszy, należy dynamicznie przełączać
się między metodami sortowania HeapSort i InsertionSort (bez uważnego
uczestniczenia w ćwiczeniach tego nie da się zrobić samodzielnie w 80
godzin). Wyjasnić, dlaczego QuickSort nie nadaje się do tego typu
problemów (jw) (taki błąd koncepcyjny zrobili autorzy Delphi w
TStringList). Program ma mieć możliwość przerwania na żądanie. Gdy
program uruchomiony zostanie z dodatkowym przełącznikiem /AUTO, powinien
uruchomić się bez pokazywania formularza i bez dialogu z uzytkownikiem i
oczywiście automatycznie skończyć (wbrew pozorom nie jest to najłatwiejsze).


(2)

(To zadanie dałem po raz pierwszy w czasach Turbo Pascala 5.5.)

Dany jest plik typu TextFile, którego zawartość stanowi sekwencja
sekcji. Każda sekcja rozpoczyna się nagłówkiem

* klucz

po którym nastepują wiersze treści.

<spacja> wiersz


(nagłówek ma gwiazdkę w pierwszej kolumnie, pozostałe wiersze mają spację).

Nalezy posortować sekcje w pliku według kluczy w nagłówkach, a sekcje o
powtarzających się kluczach połączyć (skonkatenować) ze sobą. Zadanie to
da się wykonać w dwóch przejsciach przez plik (dokładnie: jeśli w pliku
jest N wierszy, to da się to zrobić odczytując nie więcej niż 2N
wierszy). Nie należy mapować pamięciowo pliku.

Szacunkowo w pliku jest ok 20 milionów sekcji, rozmiar jednej sekcji od
5 - 10 000 000 wierszy.

(3)

dany jest ciąg A[1] ... A[n]

i jego permutacja. B[1] - B[n]

Sprawdzić, czy ciag B faktycznie jest permutacją A, po czym obliczyć
najmniejszą możliwą liczbę przestawień koniecznych do przekształcenia A w B.



(4)

Dana jest macierz niekwadratowa A[M, N]. Dokonać W MIEJSCU (bez uzywania
dodatkowych tablic) jej transpozycji, czyli zmiany uporządkowania
elementów tak, by zamiast

A[1,1], A[1,2} ... A[1,N], A[2,1], ......

w pamieci było uporządkowanie

A[1,1], A[2,1} ... A[N,1], A[1,2], ......



Można sobie to wyobrazić tak:

Type
TOriginalMatrix = array[1..M, 1..N] of TElement;
TTransposedMatrix = array[1..N, 1..M] of TElement;


var
A:TOriginalMatrix;
B:TTransposedMatrix absolute A;



... wczytujemy A.

.. transponujemy (tu wykonuje się zadanie)


... i teraz w B ma się znaleźć transpozycja macierzy A




Powodzenia

AG
Andrzej Grażyński
2005-08-29 15:11:55 UTC
Permalink
Post by PaSkol
Przy okazji. Można prosić opis jakiegoś przykładowego programu na zaliczenie?
Kolejna propozycja, wykorzystana kilka dni temu:


Dana jest liczba naturalna N nie przekraczająca maxVec i trzy wektory p,
s, e: array[1... maxVec] of Word z określonymi wartościami początkowych
N elementów. Dana jest też globalna procedura proc;

procedure Proc;
begin
...
// jakiś kod nie modyfikujący wektorów P, S i E, choć korzystający z nich

end;


Wyobraźmy sobie taki oto schemat:


for p[1] := s[1] to e[1] do
for p[2] := s[2] to e[2] do
for p[3] := s[3] to e[3] do
.....
for p[N] := s[N] to e[N] do
Proc;

;; .... ;

Tego schematu nie sposób zapisać bezpośredno w pascalu, bo po pierwsze
elementy tablic nie mogą być zmiennymi sterującymi pętli for, po drugie
wymagałoby to znajomości apriori (w trakcie pisania) wartości N.


No własnie: nalezy napisać fragment kodu realizujący taki schemat dla
dowolnych wartości N, s i e. Zaprezentować rekurencyjny i
nierekurencyjny wariant rozwiązania.


(Dla pognębienia zawodnika:)

szweryfikować działanie kodu (w obydwu wariantach) dla:


zestaw 1:

N=5, S[1] = s[2] = s[4] = s[5] = 1, s[3] = 3, e[1]=e[2]=e[3]=e[4]=e[5]=2.

zestaw 2:

N=5, s[1]=s[2]=s[3]=s[4]=s[5]=e[1]=e[2]=e[3]=e[4]=e[5]=65535



Pozdrowienia i powodzenia

AG
Przemyslaw Osmanski
2005-08-24 07:58:07 UTC
Permalink
Post by Andrzej Grażyński
80 roboczogodzin - to fakt, nie wniosek. I dalej samo już wszystko samo
wynika. Za 80 godzin można napisać donos na sąsiada, pracę magisterską z
politologii, testament, no ewentualnie program na zaliczenie (nie u
mnie!!!), ale nie aplikację do sprzeda(wa)nia za pieniądze.
Tutaj bym sie nie zgodzil. Jesli dostaje typowe zamowienie na typowy
program, bez bajerow i udziwnien wymaganych przez zamawiajacego to tez
jestem w stanie zakodowac i w miare przetestowac to w 80 godzin.
Oczywiscie nie wliczajac w ten czas projektowania i przy zalozeniu ze
program jest na tyle typowy, ze wystarczy poskladac go z istniejacych
juz w moich bibliotekach elementow (tj. magazyn, fakturowanie,
planowanie nawozenia itp) ktore juz mam bardzo doglebnie przetestowane
;) Tak wiec po zlozeniu tego do kupy pozostaje przetestowanie calosci
pod kontem zgodnosci i wspolpracy ze soba. No ale coz, na taki komfort
trzeba popracowac ladnych pare lat i dorobic sie tej biblioteki gotowcow
;) Z tej przyczyny nadal tez siedze na D5, bo praca wlozona w
przenosznie projektow na nowe D bylaby nieoplacalna...

pozdrawiam,
Przemek O.
--
Oprogramowanie dla rolnictwa
www.agroplus.com.pl, www.softsystem.prv.pl
Andrzej Grażyński
2005-08-25 16:52:15 UTC
Permalink
.... i w miare przetestowac to ...


No własnie: co to znaczy "w miarę przetestować" i jaka to dla
użytkownika różnica w porównaniu z kompletnym brakiem testowania?


AG
Przemyslaw Osmanski
2005-08-25 17:42:27 UTC
Permalink
Post by Andrzej Grażyński
.... i w miare przetestowac to ...
No własnie: co to znaczy "w miarę przetestować" i jaka to dla
użytkownika różnica w porównaniu z kompletnym brakiem testowania?
'w miare' - rozwiniecie czytaj ponizej tego stwierdzenia w poprzenim
poscie.

Jesli mowimy o testowaniu calego oprogramowania, to zadna. Kompleksowe
testowanie aplikacji jest bardzo zlozone i czasochlonne, ale to raczej
wiesz i nie trzeba nad tym dyskutowac.
Natomiast w tym wypadku 'w miare' oznacza tylko testowanie zgodnosci
zestawienia, bez 'bawienia' sie w testowanie czegos co juz bylo
porzadnie przetestowane.

pozdrawiam,
Przemek O.

PS. Mam nadzieje ze nikt nie bedzie chcial mi wmawiac ze za kazdym razem
mam przeprowadzac testy tego samego modulu, ktory jest dolaczany w
niezmienionej postaci!
Inaczej zrozumiem polskie podejscie do przepisu CE gdzie zestaw zlozony
z komponentow oznaczonych CE sam jako taki nie spelnia norm CE. Dziwne
ze tylko w Polsce...
--
Oprogramowanie dla rolnictwa
www.agroplus.com.pl, www.softsystem.prv.pl
Andrzej Grażyński
2005-08-25 18:02:55 UTC
Permalink
Post by Przemyslaw Osmanski
PS. Mam nadzieje ze nikt nie bedzie chcial mi wmawiac ze za kazdym razem
mam przeprowadzac testy tego samego modulu, ktory jest dolaczany w
niezmienionej postaci!
Treść modułu nie zmienia się, ale zmienia się jego kontekst. I niestety
trzeba testować od początku. Argumenty, że kontekst nie może mieć wpływu
na np. zmienne lokalne, jest fałszywy. W błędnie działającym programie
może sięzdarzyć wiele dziwnych rzeczy (które dziwne byc przestają, jak
im się bliżej przyjrzeć).
Post by Przemyslaw Osmanski
Inaczej zrozumiem polskie podejscie do przepisu CE gdzie zestaw zlozony
z komponentow oznaczonych CE sam jako taki nie spelnia norm CE. Dziwne
ze tylko w Polsce...
Lina CE o wytrzymałości 2000 KN, do której przyczepiono trzy bloki CE o
cieżarze 1500 KN nie jest zestawem CE. Co innego, gdyby przyczepiono
tylko jeden blok.

Inny przykład: przy skręcaniu dwóch komponentów CE za pomocą śruby i
nakrętki (obie CE) można przekręcić gwint.

Więc co w tym dziwnego?

Pozdrowienia

AG
Przemyslaw Osmanski
2005-08-25 18:26:57 UTC
Permalink
Post by Andrzej Grażyński
Treść modułu nie zmienia się, ale zmienia się jego kontekst. I niestety
trzeba testować od początku. Argumenty, że kontekst nie może mieć wpływu
na np. zmienne lokalne, jest fałszywy. W błędnie działającym programie
może sięzdarzyć wiele dziwnych rzeczy (które dziwne byc przestają, jak
im się bliżej przyjrzeć).
W tym momencie popelnilem blad, dla mnie modol programu jest czescia
ktora moze dzialac sama w sobie i nie przyjmuje najczesciej zadnych
parametrow poza loginem i haslem do bazy. To mialem na mysli piszac
modul. Wiec testowanie czegos takiego jest zbedne, ew. w zakres
testowania wchodzi przetestowanie poprawnosci danych parametrow.
Post by Andrzej Grażyński
Lina CE o wytrzymałości 2000 KN, do której przyczepiono trzy bloki CE o
cieżarze 1500 KN nie jest zestawem CE. Co innego, gdyby przyczepiono
tylko jeden blok.
Inny przykład: przy skręcaniu dwóch komponentów CE za pomocą śruby i
nakrętki (obie CE) można przekręcić gwint.
Więc co w tym dziwnego?
Ja nie zakladam pataractwa na kazdym kroku.
Jesli chcac utrzymac taka paranoje to nalezy testowac kazdy komputer, bo
pomimo tego ze CE otrzymano na konkretny model nie jest powiedziane ze
kazdy zlozony bedzie tak samo. Nie pomoze tutaj nawet ISO900x. Mam pewne
pojecie jak te certyfikaty sa przyznawane, wiec prosze mi nie wmawiac ze
jest inaczej.
Ogolnie smieszne jest to, ze w Polsce szuka sie dziury w calym i robi
obostrzenia tam gdzie nigdzie poza Polska ich nie ma. To odnosnie CE ;)

pozdrawiam,
Przemek O.
--
Oprogramowanie dla rolnictwa
www.agroplus.com.pl, www.softsystem.prv.pl
Andrzej Grażyński
2005-08-25 19:00:31 UTC
Permalink
Post by Przemyslaw Osmanski
Jesli chcac utrzymac taka paranoje to nalezy testowac kazdy komputer
Dla mnie CE na komputer znaczy tyle samo co zeszłoroczny śnieg. NIgdy
nie kupię komputera, dopóki sam go nie przetestuję swoimi sposobami. Na
szczęście sprzęt testuje się o niebo łatwiej niż soft (dlaczego - 25 lat
temu ukazała się piękna książka Myersa "Niezawodność oprogramowania", w
której jest to wyjaśnione).


Teraz konstruktywna propozycja:


Ponieważ cała ta dyskusja dość ostro już skręciła, proponuję powrót na
główne tory, zgodnie z tematem wątku "Wycena programu" (a nie np.
"kwalifikacje programistyczne i biznesowe Andrzeja Grażyńskiego"). Otóż:

Niech Jeremiasz wyjawi, na ile umówił się z firmą odnosnie ceny za
program, a szanowni Dyskutanci niech ocenią, czy jest dobrym
biznesmenem. Dla ułatwienia dyskusji Jeremiasz w ciągu 80/8 = 10 godzin
może wyprodukować wersję demo swej aplikacji i udostępnić do oceny. My
się przyjrzymy i lojalnie potem skasujemy ze swych komputerów. (Chyba,
że zawarta umowa i tajemnica handlowa wykluczają powyższe, wtedy kicha,
jak mówił Gajos w "Fuksie"; wówczas ewentualnie Jeremiasz może
udostępnić jakąs inną swoją aplikację, by przekonać nas o swych
zdolnościach).

Pozdrowienia

AG
Paweł Pawlak
2005-08-26 07:51:34 UTC
Permalink
Post by Andrzej Grażyński
Post by Przemyslaw Osmanski
PS. Mam nadzieje ze nikt nie bedzie chcial mi wmawiac ze za kazdym
razem mam przeprowadzac testy tego samego modulu, ktory jest dolaczany
w niezmienionej postaci!
Treść modułu nie zmienia się, ale zmienia się jego kontekst. I niestety
trzeba testować od początku. Argumenty, że kontekst nie może mieć wpływu
na np. zmienne lokalne, jest fałszywy. W błędnie działającym programie
może sięzdarzyć wiele dziwnych rzeczy (które dziwne byc przestają, jak
im się bliżej przyjrzeć).
Czy za każdym razem testujesz jak działa TEdit czy TButton (nie jak
*współdziała* z resztą aplikacji, tylko czy jego "wnętrze" dobrze działa) ?

Teraz powiedz mi czym to się różni od sytuacji, gdy ktoś ma swoje własne
*przetestowane* komponenty i dlaczego w tej sytuacji miałby od początku
testować ich "wnętrze".

Pozdrawiam,
Morris
Andrzej Grażyński
2005-08-27 19:31:58 UTC
Permalink
Post by Paweł Pawlak
Czy za każdym razem testujesz jak działa TEdit czy TButton (nie jak
*współdziała* z resztą aplikacji, tylko czy jego "wnętrze" dobrze działa) ?
Teraz powiedz mi czym to się różni od sytuacji, gdy ktoś ma swoje własne
*przetestowane* komponenty i dlaczego w tej sytuacji miałby od początku
testować ich "wnętrze".
To proste: w tym wnętrzu mogą siedzieć niewykryte dotąd błędy
(udowodnij, że nie!), które mogą ujawnić się tylko w specyficznym
kontekscie. Przecież komponenty TEDit i TButton działają we wspólnej
przestrzeni adresowej z innymi komponentami (i ogólnie z resztą kodu) i
niewykluczone jest wzajemne deptanie sobie po piętach (udowodnij, że go
nie ma!). Oddzielenie "wnętrza" od "kontekstu" jest tylko
programistyczną koncepcją, niekoniecznie (automatycznie) realizowalną w
praktyce. Poiewsz pewnie, że tak czy inaczej z zewnątrz procedury nie
można zmienić wartości jej zmiennych lokalnych? Można, bo z dowolnego
miejsca aplikacji masz dostęp do całego jej kodu - to jedna ze
wspaniałych atrakcji monolitycznego, wspólnego dla kodu i danych
segmentu flat. Można explicite (na przykład za pomocą trzylinijkowej
wstawki w asemblerze, można niechcący, przepełniając stos w zbyt
głębokiej rekursji albo po prostu zdejmując z tego stosu więcej (lub
mniej) niż się na nim położyło.

Co do standardowych komponentów Delphi, to wypada zaufać, że
przetestowano je dość gruntownie i prawdopodobieństwo opisanej sytuacji
jest pomijalne (ale czy na pewno? - patrz niżej). Nie da się takim
zaufaniem obdarzyć komponentów tworzonych naprędce, amatorsko,
testowanych w reżimie znacznie mniej intensywnym i znacznie mniej
rygorystycznym, za znacznie mniejszą kasę. To jest odpowiedź na Twoje
pytanie "czym to się różni".

Jeszcze co do zaufania do autorów Delphi: gdy obejrzy się przekład
niektórych instrukcji (pisałem o tym na tej grupie jakiś czas temu w
związku z arytmetyką boolowską) można odnieść wrażenie, że ktoś się
bardzo spieszył, a więc mogli się także spieszyć autorzy komponentów. Co
do TEdit i TButton, to komponenty te są w zasadzie obudową dla
standardowych kontrolek Windows, czyli dochodzi jeszcze zaufanie do
Microsoftu- autora tak gruntownie przetestowanych (zwłaszcza pod kątem
bezpieczeństwa) arcydzieł jak IE, OE i ogólnie Windows.


No i zaczyna w człowieku kiełkować nieufność...


Pewnie spytasz, czy w takim razie każdy nowy projekt rozpoczynam od
testowania działania TEDit i TButton w pierwocinach nowego kodu. Nie, bo
wtedy musiałbym testować co chwilę, w miarę, jak nowy kod się rozrasta;
za to w moim zespole są dwie doświadczone osoby, których jedynym
zadaniem jest tworzenie przypadków testowych dla standardowych
komponentów pochodzących od producentów trzecich (rzecz jasna, te
przypadki testowe powstają z inspiracji rzeczywistego kodu
korzystającego z tych komponentów). Opłaca się solennie, bo znajomość
(powiedzmy) 50 błędów tkwiących w komponentach wszem i wobec uznanych za
absolutnie przetestowane i bezbłędne daje przewagę nad konkurencją,
która tej świadomości nie ma. Dlatego nie pisnę ani słowem, ile i jakie
błędy wykrywaliśmy w ciągu ostatniej dekady w kolejnych wersjach Delphi.
I nie będę zachęcał do większego respektu wobec testowania (niech
będzie, że ogarnęła mnie fobia testowania, to dla mnie pochwała).



Pozdrowienia

AG
Zeman
2005-08-28 00:38:01 UTC
Permalink
I nie będę zachęcał do większego respektu wobec testowania (niech będzie,
że ogarnęła mnie fobia testowania, to dla mnie pochwała).
hihi, fobia testowania jest chwalebna bo profesjonalna lecz strasznie
kosztowna, niestety najczesciej nie mozna sobie w praktyce na nia pozwolic
bo by sie zarabialo... zlotowke/godzine.

to tak jak ja teraz - dalem do przetestowania ilus tam osobom na roznych
windowsach i wszystko bylo ok, uznalem wiec ze jest wszystko ok i
wdrozylem.. jak sie okazalo pozniej program wywalal sie u 2 osob odrazu przy
starcie - przyczyna - bug w bibliotece JEDI generujacy AV na pentium4.

http://groups.google.pl/group/pl.comp.lang.delphi/browse_frm/thread/f99291e7d5f81fa1/84068dc8b012fb11?q=JEDI+AV&rnum=1&hl=pl#84068dc8b012fb11



Pozwiodronka,
Zeman.
Andrzej Grażyński
2005-08-28 15:24:10 UTC
Permalink
Post by Zeman
hihi, fobia testowania jest chwalebna bo profesjonalna lecz strasznie
kosztowna, niestety najczesciej nie mozna sobie w praktyce na nia
pozwolic bo by sie zarabialo... zlotowke/godzine.
Gdyby nie moja stanowczość testowania, to może nie zarabiałbym dziś
nawet złotówki na godzinę. Gdy Twoje oprogramowqanie pracuje u 3500
klientów na całym świecie, to jest to bardzo skuteczny poligon testowy i
jeśli wtedy błędy zaczną się sypać jak w zboże z wagonu, do którego
włamała się Samoobrona, nigdy nie odbudujesz już zaufania. Wartto
wysypać 99% tych błędów wcześniej, za każde pieniądze.
Post by Zeman
to tak jak ja teraz - dalem do przetestowania ilus tam osobom na roznych
windowsach i wszystko bylo ok, uznalem wiec ze jest wszystko ok i
wdrozylem.. jak sie okazalo pozniej program wywalal sie u 2 osob odrazu
przy starcie - przyczyna - bug w bibliotece JEDI generujacy AV na pentium4.
Unexpected GP fault occurred, programmer remains unhappy...Click OK to
comfort programmer.



AG
Przemyslaw Osmanski
2005-08-28 09:38:25 UTC
Permalink
Post by Andrzej Grażyński
Co do standardowych komponentów Delphi, to wypada zaufać, że
przetestowano je dość gruntownie i prawdopodobieństwo opisanej sytuacji
jest pomijalne (ale czy na pewno? - patrz niżej). Nie da się takim
zaufaniem obdarzyć komponentów tworzonych naprędce, amatorsko,
testowanych w reżimie znacznie mniej intensywnym i znacznie mniej
rygorystycznym, za znacznie mniejszą kasę. To jest odpowiedź na Twoje
pytanie "czym to się różni".
Oj, oj. Bedac zlosliwym, moglbym powiedziec, ze kazdy patrzy na innych
przez pryzmat siebie.
Ogolnie nie moge zgodzic sie z tym stwierdzeniem, ze firmy prywatne nie
testuja oprogramowania ktore wypuszczaja. Wszystko zalezy od uzywanej
procedury testowej. Jesli ta jest ogolna to mozna przypuszczac ze
program jest slaby i bledotworczy. Niestety IMHO firmy nie moga sobie
pozwolic na takie traktowanie klientow i czesto doglebnie testuja
oprogramowanie. Powoli zaczynaja takze powaznie traktowac inne aspekty
tworzenia oprogramowania, takie jak chocby testy uzytecznosci GUI.

pozdrawiam,
Przemek O.
--
Oprogramowanie dla rolnictwa
www.agroplus.com.pl, www.softsystem.prv.pl
Andrzej Grażyński
2005-08-28 15:35:10 UTC
Permalink
Post by Przemyslaw Osmanski
Ogolnie nie moge zgodzic sie z tym stwierdzeniem, ze firmy prywatne nie
testuja oprogramowania ktore wypuszczaja.
Nic takiego nie twierdziłem, poza tym firmy programistyczne to przecież
firmy prywatne (znacie jakąś państwową?).

Na pewno jednak programiści nowicjusze często w ogóle o testowaniu nie
myślą, a jak się program sypie, są pewni że zepsuł się komputer. Trzeba
czasu, by zrozumieć (nazwijmy to) kreatywny potencjał własnej omylności.
Też przez to kiedyś przechodziłem, choć wtedy prawdopodobieństwo awarii
komputera było zbliżone do prawdopodobieństwa popełnienia błędu przez
programistę. Bywalo, że programy w rodzaju

10 GOTO 10

(to Basic) kończyły się po pół godzinie i komputer był zdolny do
normalnej pracy (tj. do wczytania nastepnego programu). Dzisiejsze
pecety mogą taki program mielić latami i nie są zdolne do takich cudów.
I nawet ludziom nie znającym angielskiego trudno mmówić, że "Access
Violation at 0000880F" to "Przegrzanie procesora do 880 stopni
Fahrenheita". Tak między nami, trochę szkoda.


Wszystko zalezy od uzywanej
Post by Przemyslaw Osmanski
procedury testowej. Jesli ta jest ogolna to mozna przypuszczac ze
program jest slaby i bledotworczy. Niestety IMHO firmy nie moga sobie
pozwolic na takie traktowanie klientow i czesto doglebnie testuja
oprogramowanie. Powoli zaczynaja takze powaznie traktowac inne aspekty
tworzenia oprogramowania, takie jak chocby testy uzytecznosci GUI.
I bardzo dobrze.


AG
Гражданин Мира
2005-08-31 14:08:32 UTC
Permalink
Post by Andrzej Grażyński
programistę. Bywalo, że programy w rodzaju
10 GOTO 10
(to Basic) kończyły się po pół godzinie i komputer był zdolny do
normalnej pracy (tj. do wczytania nastepnego programu). Dzisiejsze
pecety mogą taki program mielić latami i nie są zdolne do takich cudów.
I nawet ludziom nie znającym angielskiego trudno mmówić, że "Access
Violation at 0000880F" to "Przegrzanie procesora do 880 stopni
Fahrenheita". Tak między nami, trochę szkoda.
Mimo wszystko jednak w całym tym bałaganie trzeba pamiętać, że istnieje
pewna, nadzwyczaj twarda bariera ogranicza możliwość wpływania
programisty na jakość swojego dzieła: stabilność platformy na jakiej owe
dzieło ma pracować.

W twardym świecie seksu i biznesu istnieje pewien poziom stabilności
aplikacji, przy którym uważa się ją za stabilną dla określonego
zastosowania. Nawet aplikacje systemów wysokiego ryzyka (systemy VTS,
TRACON, systemy kierowania bronią etc.) słyną nie tyle z poziomu
stabilności lecz ich ceny i wysokości sumy ubezpieczenia na wypadek
awarii. Zresztą w systemach tych nie bezawaryjność jest najważniejsza
lecz zdolność do bezpiecznego wyłączenia przy najmniejszym problemie.
Dlatego składa się je z redundantnych, autonomicznych jednostek.
Przeciętnie awarie programowe wymagające restartu jednostki zdarzają się
co kilka godzin...

Nie negując faktu, że każda aplikacja musi zostać przetestowana
twierdzę, iż istnieje pewna granica. Poza tą granicą znajdują się
pojęcia "stosunek ceny do jakości", "gwarancja" i podobne.

W 80 godzin można napisać aplikację dobrą i złą - zależy od tego, czym
ona ma być. W około 20 godzin napisałem program, który aktualizuje
oprogramowanie sprzętowego rozszerzenia pewnego większego urządzenia
przemysłowego, podczas pracy. Testowanie odbywało się jedynie w trakcie
pisania. Do dzisiaj nie było ani jednego problemu z programem, który raz
na jakiś czas używany jest przez kilkuset użytkowników.

Na koniec moja mała refleksja z życia - dobry twórca to taki, który
tworzy dzieło bez błędów. Lepszy od niego jest tylko ten, który błędy
potrafi usunąć.
--
Pozdrawiam,
Sebcio

Delphi 7.1 Professional + Windows XP Pro SP2
Sergiusz Różański
2005-08-31 14:43:16 UTC
Permalink
Post by Гражданин Мира
Na koniec moja mała refleksja z życia - dobry twórca to taki, który
tworzy dzieło bez błędów. Lepszy od niego jest tylko ten, który błędy
potrafi usunąć.
A jeszcze lepszy pisze obsługę błędów w programie :)
Większość błędów które widze w aplikacjach to niestety wyniki
braku obsługi błędów: ktoś chce pisać w nieotwarte gniazdo czy plik,
a akurat brak sieci czy wolnego miejsca na dysku, ktoś pisze po
niewykreowanych oknach itp.
--
*** rozanski.at.sergiusz.dot.com sq3bkn ***
*** http://jeep.comm.pl ***
*** rtg project http://gg.overwap.net ***
Adam Siwoń
2005-08-25 17:38:51 UTC
Permalink
Post by Andrzej Grażyński
.... i w miare przetestowac to ...
No własnie: co to znaczy "w miarę przetestować" i jaka to dla
użytkownika różnica w porównaniu z kompletnym brakiem testowania?
Testy można prowadzić bez końca, bo zawsze jakiś błąd się znajdzie. :)
Może jest to więc kwestia kiedy należy je zakończyć, aby ich obecność
nie była dostrzegalna/uciążliwa dla użytkownika, ale to bardzo mglisty
warunek...
--
z pozdrowieniami
Adam Siwoń
www.qrhowto.prv.pl - O QuickReporcie po polsku
Andrzej Grażyński
2005-08-25 18:05:10 UTC
Permalink
Post by Adam Siwoń
Testy można prowadzić bez końca, bo zawsze jakiś błąd się znajdzie. :)
Oczywiście. Od pewnego momentu błędy jednak przestają się ujawniać (co
wcale nie znaczy, że ich nie ma) i jednym z elementów kwalifikacji
testerskich jest zauważenie tego momentu, od którego dalsze testowanie
będzie już prawie na pewno bezowocne.
Post by Adam Siwoń
Może jest to więc kwestia kiedy należy je zakończyć, aby ich obecność
nie była dostrzegalna/uciążliwa dla użytkownika, ale to bardzo mglisty
warunek...
jw.


pozdrowienia

AG
Zeman
2005-08-24 10:00:53 UTC
Permalink
Panie Andrzeju, zalozyl Pan z gory ze aplikacja bedzie sie sypac bo zostanie
napisana w 80 godzin. Mi sie nigdy nie udalo zejsc z realizacja ponizej 2
miesiecy, wiec jak zobaczylem 80h to prawie spadlem z krzesla, ALE: moze Pan
Jeremiasz pisal bardzo podobny program i w te 80 godzin wlicza bardzo
niewielkie zmiany ? moze ma gotowe komponenty / moduly dobrze przetestowane
i posklada program jak z klockow, np kliku kliku w IDE i niewiele linii
kodu.

Pozwiodronka,
Zeman.
Andrzej Grażyński
2005-08-25 17:55:59 UTC
Permalink
Post by Zeman
Panie Andrzeju, zalozyl Pan z gory ze aplikacja bedzie sie sypac bo
zostanie napisana w 80 godzin. Mi sie nigdy nie udalo zejsc z realizacja
ponizej 2 miesiecy, wiec jak zobaczylem 80h to prawie spadlem z krzesla,
ALE: moze Pan Jeremiasz pisal bardzo podobny program i w te 80 godzin
wlicza bardzo niewielkie zmiany ? moze ma gotowe komponenty / moduly
dobrze przetestowane i posklada program jak z klockow, np kliku kliku w
IDE i niewiele linii kodu.
Pozwiodronka,
Zeman.
Może. Z doswiadczenia wiem jednak, że nawet dopisanie jednej instrukcji
(a propos; co to są "niewielkie zmiany" ?) do przetestowanego kodu
kwalifikuje ten kod do ponownego testowania, od początku. Potwierdzi to
każdy zawodowy tester.




W końcu zmiana

case X of


1:
begin
P := -1;
end;

2: if Y <> 0
then
P := 3
else
P := 0;

end;


NA:



case X of


1:
begin
P := -1;
end;

2: if Y <> 0
then
P := 3;
else
P := 0;

end;



to też niewielka zmiana, ale przy tym zmiana kolosalna!


Bo takie już jest programowanie.

Pozdrawiam

AG
Zeman
2005-08-25 20:35:41 UTC
Permalink
Post by Zeman
Panie Andrzeju, zalozyl Pan z gory ze aplikacja bedzie sie sypac bo
zostanie napisana w 80 godzin. Mi sie nigdy nie udalo zejsc z realizacja
ponizej 2 miesiecy, wiec jak zobaczylem 80h to prawie spadlem z krzesla,
ALE: moze Pan Jeremiasz pisal bardzo podobny program i w te 80 godzin
wlicza bardzo niewielkie zmiany ? moze ma gotowe komponenty / moduly
dobrze przetestowane i posklada program jak z klockow, np kliku kliku w
IDE i niewiele linii kodu.
Pozwiodronka,
Zeman.
Może. Z doswiadczenia wiem jednak, że nawet dopisanie jednej instrukcji (a
propos; co to są "niewielkie zmiany" ?) do przetestowanego kodu
kwalifikuje ten kod do ponownego testowania, od początku. Potwierdzi to
każdy zawodowy tester.
Zgadzam sie i nie zgadzam, to znaczy :
Najlepiej byloby testowac dokladnie po kazdej najmniejszej zmianie, ale
przykladowo jak klient mi powie "Niech Pan zmieni napis na przycisku z
'zamow' na 'zloz zamowienie'". No nie bede testowal po takiej zmianie
programu na lewo i prawo :)

W przypadku zmian ingerujacych w funkcjonalnosc programu, to IMHO
prawdopodobienstwo przejscia testow za pierwszym/drugim razem po malych
przerobkach jest duzo duzo duzo wieksza anizeli by pisac program od 0.


Piszac "Niewielkie zmiany" mam na mysli przede wszystkim zmiany napisow na
przyciskach, komunikatow i stalych stringow, ale takze zmian w malo
skomplikowanych miejscach. Ciezko mi jednoznacznie okreslic "niewielkie
zmiany", w kazdym razie jedne zmiany sa mniej skomplikowane a inne bardziej
;)


Jakis czas temu mialem sytuacje ze zmiana w programie byla niewielka,
naprawde malutka, ale w miedzyczasie zmianilem komponenty INDY na inna
wersje... po skompilowaniu program sie wysypywal na Windowsach 9x, ME bo
takiego buga miala nowa wersja INDY (sypalo sie na uzywaniu SSL). Przypadek
potwierdzajacy to o czym Pan pisze, a jednak durzo rzadziej spotykany niz
bledy bo dopiero co napisanej od zera aplikacji.

Pozwiodronka,
Zeman.
Jeremiasz Miedziński
2005-08-24 11:53:42 UTC
Permalink
Post by Andrzej Grażyński
80 roboczogodzin - to fakt, nie wniosek. I dalej samo już wszystko samo
wynika. Za 80 godzin można napisać donos na sąsiada, pracę magisterską z
politologii, testament, no ewentualnie program na zaliczenie (nie u
mnie!!!), ale nie aplikację do sprzeda(wa)nia za pieniądze.
Wniosek pochopny i bledny. 80 roboczogodzin to czas kiedy _ja pisze_
aplikacje. Czyli doprowadzam do stanu, gdy jest co testowac. Inna
sprawa, ze akurat w tym przypadku korzystam z wielu gotowych i
przetestowanych rozwiazan.
Post by Andrzej Grażyński
Inny konkret (cytat) "piszę program dla firmy" - czyli firma o programie
wie i wie że będzie za niego płacić. Skoro padło pytanie o wycenę, to
znaczy że nie ma jeszcze ustalonej ceny. Proste jak drut. I dość dziwne...
Kolejny zadziwiajacy wniosek. "Pisze program dla firmy" oznacza
dokladnie tyle, ze tworze aplikacje na zamowienie. NIc wiecej, nic
mniej. Pytanie o wycene padlo z czystej ciekawosci, chcialem poznac
cennik i sposoby wyceny firm dzialajacych na polskim rynku. Byla o tym
mowa w poscie od ktorego zaczal sie ten watek. Prosze wiec tam zerknac.
Post by Andrzej Grażyński
Wątpię, by którakolwiek poważna firma w ogóle zainteresowała się takim
programem, nie mówiąc już o zakupie i wycenie. Oprogramowanie powinno
służyć do ROZWIĄZYWANIA problemów, a nie nastręczania nowych. W
Panie Andrzeju ! Nie zna Pan mnie, nie widzial nigdy moich prac, nie
rozmawial z moimi zleceniodawcami. PO coz wyciagac kolejne daleko idace
i bledne wnioski i jednoczesnie imputowac mi zupelna nikompetencje.
Nieladnie. I netykieta zabrania... A Pan, powazny czlowiek, wykladowca,
autor...ehh.
Post by Andrzej Grażyński
to czemu nie
daliby się nabrać na programy sprawiające pozory poprawnego działania.
nawet jeśli połowę z tych 80 godzin przeznaczyć na testowanie (w co
wątpię) to przez ten czas da się testowanie ledwo zacząć.
Obawiam sie, ze rozlegle testowanie aplikacji, jakkolwiek czesto
niezbedne, nosi u Pana znamiona fobii. Znam kilka takich osob - maja
problem z napisaniem czegokolwiek nadajacego sie do uzytku, bo zawsze
mozna bylo cos jeszcze zoptymalizowac, zmienic, sprawdzic, dodac,
wyrzucic, usprawnic itd. Mysle ze bylby Pan swietnym team managerem (z
punktu widzenia mocodawcow a nie podkomendnych :) ) i napewno jest Pan
dobrym i wymagajacym wykladowca. Obawiam sie jednak, ze kiepski z Pana
praktyk i biznesmen. To moje subiektywne zdanie. Jesli urazilem -
przepraszam.
Moj program to kilkanascie formatek, i kilka procedur sumujacych ich
wartosci plus generewanie raportow do wydruku. Czy naprawde nie dalby
Pan rady przetestowac tego w 80h ???
Post by Andrzej Grażyński
No to życzę, żeby było 1800. Jeśli będzie, to gotów jestem negocjować
cenę za ujawnienie, co to za firma. Być może też postaram się wyrwać (na
przykład) 1000 za coś, od czego każdy znający się na rzeczy odwróciłby
się ze wstrętem. I wcale nie z chęci zysku, a gwoli piętnowania
indolencji (firmy).
Bez obaw. Cena uzgodniona, umowa podpisana, zakres obowiazkow
zleceniodawcy i zleceniobiorcy jasno okreslony. Jeszcze raz wychodzi
kwestia nie przeczytania lub niedokladnego przeczytania pierwszej
wiadomosci i watku. Pytanie padlo z czystej ciekawosci.
Post by Andrzej Grażyński
Skoro już mowa o książkach, to gorąco chciałbym polecić
http://helion.pl/ksiazki/artteo.htm
Nieskromnie Panie Andrzeju, oj nieskromnie :)
Ja, na zasadzie zaczerpniecia oddechu swiezosci od Panskiego podejscia
polecam:

http://helion.pl/ksiazki/extplk.htm

Moze Pana zaciekawi.

Pozdrawiam,
Jeremiasz.
Andrzej Grażyński
2005-08-25 17:49:51 UTC
Permalink
Post by Jeremiasz Miedziński
Wniosek pochopny i bledny. 80 roboczogodzin to czas kiedy _ja pisze_
aplikacje. Czyli doprowadzam do stanu, gdy jest co testowac.
No właśnie, i dopiero teraz zaczyna się zabawa. A Ty chcesz to już
udostępniać klientowi
Post by Jeremiasz Miedziński
sprawa, ze akurat w tym przypadku korzystam z wielu gotowych i
przetestowanych rozwiazan.
Zalecane ze wszech miar. Pojawiają się za to nowe obszary do testowania
- to co jest "na styku", czyli wywołania procedur i funkcji, DLL'ek i
include'ów.
Post by Jeremiasz Miedziński
Kolejny zadziwiajacy wniosek. "Pisze program dla firmy" oznacza
dokladnie tyle, ze tworze aplikacje na zamowienie. NIc wiecej, nic
mniej. Pytanie o wycene padlo z czystej ciekawosci, chcialem poznac
cennik i sposoby wyceny firm dzialajacych na polskim rynku.
No to już poznałeś, ustalając cenę z firmą zamawiającą.

Ale rozumiem - potem refleksja i pytanie do ogółu "Ludzie, czy mnie
przypadkiem nie orżnięto?". W końcu nic złego, tylko że kolejność
powinna być odwrotna. Można optymistycznie założyć, że nie orżnięto.
Post by Jeremiasz Miedziński
Post by Andrzej Grażyński
Wątpię, by którakolwiek poważna firma w ogóle zainteresowała się takim
programem, nie mówiąc już o zakupie i wycenie. Oprogramowanie powinno
służyć do ROZWIĄZYWANIA problemów, a nie nastręczania nowych. W
Panie Andrzeju ! Nie zna Pan mnie, nie widzial nigdy moich prac, nie
rozmawial z moimi zleceniodawcami. PO coz wyciagac kolejne daleko idace
i bledne wnioski i jednoczesnie imputowac mi zupelna nikompetencje.
Nieladnie. I netykieta zabrania... A Pan, powazny czlowiek, wykladowca,
autor...ehh.
Dobra; skoro firma już zamówiła program i wyceniła go, bo zna możliwości
autora, to ta wypowiedź nie ma zastosowania do tej konkretnej sytuacji.

Ogólnie jednak firmy wolą rozwiązania sprawdzone niż dedykowane prototypy.


Nie zarzucam Ci niekompetencji, bo nie o możliwości autora tu chodzi, a
o znikomo mały czas. Sam będąc doświadczonym projektantem, programistą i
menedżerem projektów nie zdołałbym wyprodukować w 80 godzin porządnej
aplikacji, którą odważyłbym się oferować do sprzedaży. Choć oczywiście
zdarzyło mi się wyprodukować swego czasu (w Delphi 4) w ciągu jednego
dnia system kadrowo-płacowy, który całkiem nieźle działał i w ciągu
(chyba) tygodnia nie wykryto w nim żadnego błędu (i natychmiast znaleźli
się chętni na niego). Gdy jednak wzięli się za to zawodowi testerzy,
błędy zaczęły sypać się jak z rękawa, a kod naszpikowany został
komentarzami obnażającymi nielogiczności. Nie była to dla mnie żadna
niespodzianka, bo niczego innego się nie spodziewałem. Zawsze sobie to
przypominam, gdy czytam o amatorskich (co tu dużo mówić) aplikacjach
tworzonych w tydzień.
Post by Jeremiasz Miedziński
Post by Andrzej Grażyński
to czemu nie
daliby się nabrać na programy sprawiające pozory poprawnego działania.
nawet jeśli połowę z tych 80 godzin przeznaczyć na testowanie (w co
wątpię) to przez ten czas da się testowanie ledwo zacząć.
Jak wyżej, to nie ma zastosowania do tej konkretnej sytuacji.
Post by Jeremiasz Miedziński
Obawiam sie, ze rozlegle testowanie aplikacji, jakkolwiek czesto
niezbedne, nosi u Pana znamiona fobii. Znam kilka takich osob - maja
problem z napisaniem czegokolwiek nadajacego sie do uzytku, bo zawsze
mozna bylo cos jeszcze zoptymalizowac, zmienic, sprawdzic, dodac,
wyrzucic, usprawnic itd. Mysle ze bylby Pan swietnym team managerem (z
punktu widzenia mocodawcow a nie podkomendnych :) ) i napewno jest Pan
dobrym i wymagajacym wykladowca.
Obawiam sie jednak, ze kiepski z Pana
Post by Jeremiasz Miedziński
praktyk i biznesmen. To moje subiektywne zdanie. Jesli urazilem -
przepraszam.
<zdecydowanie OT>
Nie obrażam się, bo fakty przemawiają przeciwko tym insyniacjom. Być
może kiepski praktyk, ale na pewno współautor dwóch z pascalowych
kompilatorów (jeden dziś popularny pod zmienioną nazwą), współautor
polskiej edycji systemu OS-MVS dla JS-RIAD (kiedy to było!),
no i od 30 lat programista (tak, miałem 17 lat, gdy zarobiłem ogromną
jak na tamte czasy kasę za oprogramowanie, a wielu moich rówieśników nie
wiedziało co to takiego komputer; i nie bylo pecetów, tylko tekstowe
terminale).


Tu już się roześmiałem. Kiepski biznesmen - życzę Ci, byś ciągu kwartału
zarobił tyle, ile ja w ciągu jednego dnia (Może jestem w tym momencie
bezczelny, ale zostałem do tego sprowokowany.) - na projektowaniu i
programowaniu (nie "pisaniu programów", broń Boże, tylko systematycznym
tworzeniu WIARYGODNYCH aplikacji), pisaniu i tłumaczeniu tekstów
informatycznych, ekspertyzach, testowaniu oprogramowania itd (bo
dydaktykę traktuję raczej jako hobby). Wielu ludzi uważających się za
"biznesmenów" to zwyczajni naciągacze, żerujący na nieświadomości
klientów. W warunkach rynku konsumenta takie jednostki eliminowane są z
rynku w przyspieszonym tempie. Nie o to chodzi, żeby sprzedać, tylko
żeby sprzedawać. Kolosalna różnica.
</zdecydowanie OT>




Fobia testowania jest jaka najbardziej pożytecznym i - w moim
przekonaniu - niezbędnym atrybutem programisty. Ignorancja w zakresie
testowania jest dla programisty dyskwalifikująca. Na gruncie Extreme
Programming testowanie posiada prymat nad samym programowaniem.
Najlepszy nawet system jest nic nie wart, jeśli stwarza groźbę, że
zawiedzie w krytycznej sytuacji. Nie wpuściłbym do swojego zespołu
programisty, który takiej fobii w wyraźny sposób nie przejawia. Poza tym
należy odróżnić testowanie od ulepszania i optymalizowania, bo to
przecież zupełnie coś innego.


******************************
KU UWADZE i INNYCH CZYTAJĄCYCH: oto ewidentny przykład, czym różni się
tworzenie aplikacji od pisania programów.
******************************
Post by Jeremiasz Miedziński
Moj program to kilkanascie formatek, i kilka procedur sumujacych ich
wartosci plus generewanie raportow do wydruku. Czy naprawde nie dalby
Pan rady przetestowac tego w 80h ???
Oczywiście, że nie. To AŻ kilkanaście formatek, a ile mozliwości
interakcji między nimi, w tym interakcji niepoządanych. I nie tylko ja,
ale żaden inny odpowiedzialny tester. Jeśli chcesz zrozumieć, dlaczego,
przeczytaj to:


http://helion.pl/ksiazki/artteo.htm

I nie dlatego, że to ja tłumaczyłem, ale ze względu na samą książkę i
jej autorów.
Post by Jeremiasz Miedziński
Post by Andrzej Grażyński
No to życzę, żeby było 1800. Jeśli będzie, to gotów jestem negocjować
cenę za ujawnienie, co to za firma. Być może też postaram się wyrwać (na
przykład) 1000 za coś, od czego każdy znający się na rzeczy odwróciłby
się ze wstrętem. I wcale nie z chęci zysku, a gwoli piętnowania
indolencji (firmy).
Bez obaw. Cena uzgodniona, umowa podpisana, zakres obowiazkow
zleceniodawcy i zleceniobiorcy jasno okreslony. Jeszcze raz wychodzi
kwestia nie przeczytania lub niedokladnego przeczytania pierwszej
wiadomosci i watku. Pytanie padlo z czystej ciekawosci.
Ponownie: skoro "Cena uzgodniona, umowa podpisana, zakres obowiazkow
Post by Jeremiasz Miedziński
zleceniodawcy i zleceniobiorcy jasno okreslony", to ta wypowiedź nie
ma zastosowania do tej konkretnej sytuacji.
Post by Jeremiasz Miedziński
http://helion.pl/ksiazki/extplk.htm
No właśnie: a propos Extereme Programming - wspomniana "fobia
testowania" jest jednym z jego fundamentów.

Żadna dla mnie nowość, bo wnikliwie tę książkę przeczytałem i
zweryfikowałem, zanim w ogóle trafiła do składu. Kilka lat temu
tłumaczyłem inną książkę o Extreme Programming, choć oryginał był
mierny, a ja nie jestem cudotwórcą.


Pozdrowienia

AG
m***@gmail.com
2005-09-07 23:51:12 UTC
Permalink
Wycena oprogramowania tworzonego na zamówienie to w ogóle ciekawy
temat, z pewnoscia w obszarze zainteresowan zarówno i
zamawiajacych jak i tworzacych oprogramowanie. Ewentualnie
zainteresowanych zapraszam do pomocy w budowie portalu ISV.pl, który
porusza wylacznie ten temat.

PaSkol
2005-08-24 05:08:48 UTC
Permalink
Post by Jeremiasz Miedziński
Zadziwiajaca wrecz zdolnosc wyciagania zlozonych wnioskow z
niezlozonych informacji.
Wniosek poniekąd słuszny, tylko po co cytat całości wiadomości?
--
PaSkol
---=== Każdy usenetowy chwat z Netykietą za pan brat ===---
---=== http://www.pg.gda.pl/~agatek/netq.html ===---
Doodge
2005-08-26 08:30:38 UTC
Permalink
Jeremiasz Miedziński napisał(a):

Wyjdz z definicji ceny, to bedziesz wiedzial, ze ten post nie ma sensu i
nie da sie udzielic "dobrej" odpowiedzi.
Czym jest cena? Otoz cena jest kwota, ktora klient jest w stanie
zaplacic za dany produkt...
--
Doodge
Andrzej Grażyński
2005-08-29 00:13:27 UTC
Permalink
Po tym wszystkim przyszła mi do głowy pewna hipoteza, która być może
jest absurdalna (dlatego, Jeremiaszu, nie zarzucaj mi wyciągania
bezzasadnych wniosków), ale zaryzykuję:

ponieważ nazwisko "Miedziński" jest dość znane wśród katowickich
informatyków, więc czy nie jest to przypadkiem tak, że Jeremiasz nie
jest autorem programu, a przedstawicielem firmy mającej ten program
zakupić od autora i chce wysondować, za ile może to rozsądnie zrobić? Po
uwaznym przeanalizowaniu wszystkich postów Jeremiasza wydaje mi się to w
pewnym stopniu prawdopodobne...

Jeśli się mylę, to niniejszego postu nie było.

Pozdrowienia

AG
Andrzej Grażyński
2005-09-06 20:34:08 UTC
Permalink
Andrzej Grażyński napisał(a):

No, ciekawe, Jeremiasz się nie odezwał. Czyżbym miał rację?
Loading...