ugrás a tartalomhoz

Idő alapú projekt költség kimutatás forráskódban eltöltött fejlesztési idő alapján

s_volenszki · 2013. Okt. 1. (K), 12.49
Sziasztok!

Régen jártam már nálatok, sok minden megváltozott az életünkben azóta... :)

Ismertek olyan rendszert, alkalmazást, ami a fejlesztés közben adatokat gyűjt a projektről azzal a céllal, hogy idő alapú költség kimutatást lehessen készíteni a projekt (akár legkisebb) egységeire?

Gondolok itt arra, hogy projekt befejeztével meg lehessen nézni, hogy egy controller-re vagy egy view-ra, vagy akár egy controller adott funkciójára összesen mennyi időt fordított a fejlesztő?

Nem volna utolsó szempont az sem, ha tudná a rendszer egységeit task-oknak kezelni. Például ha létrehozok egy új controller osztályt, akkor az egészen addig nyitott task, amíg azt befejezettnek nem jelölöm. Vagy funkció egy controlleren belül (vagy akár egy virew, model).

Remélem nem kérdeztem nagy baromságot.

Egy kicsit tudatosabban kellene foglalkoznunk a tervezéssel és a fejlesztésre szánt idők megbecsülése helyett inkább mérnék meglévő projektekben, amely adatok jelentősen megkönnyítenék az újabb projekt időigényének meghatározását.

Válaszaitokat előre is köszönöm!
 
1

wakatime van sublime text es

Greg · 2013. Okt. 1. (K), 13.02
wakatime van sublime text es vim kiegeszito. Rogziti, hogy melyik fajlban mennyi idot toltottel el.
8

Sublime

s_volenszki · 2013. Okt. 1. (K), 16.45
Mi is használunk Sublime-ot, pont mire visszaértem mondta is a vezető fejlesztőm, hogy ránézett és python-ban lehet gondolkozni. Köszönöm, megnézem ezt is.
10

Az editor reszt loggolni

Greg · 2013. Okt. 1. (K), 16.56
Az editor reszt loggolni egyebkent nem biztos hogy eleg. Mert mi van azzal az idovel, amit a bongeszoben torteno tesztelessel tolt a fejleszto? Vagy amikor a consoleban futtatja a teszteket? Esetleg egy 3rd party API dokumentaciojat olvassa?
19

Editor log

s_volenszki · 2013. Okt. 1. (K), 17.30
Igen, eget értek, hogy csak az editorból származó adatok nem fedik le a teljes tevékenységet. azt kell megvizsgálni, hogy a többi, fejlesztéshez felhasznált eszköz hogyan vonható be a mérésbe.
2

Egy kérdés: hogy méred, hogy

H.Z. · 2013. Okt. 1. (K), 13.04
Egy kérdés: hogy méred, hogy adott ember, adott témával mennyit foglalkozott?
Ismerve az emberi természetet: aki még kedvből csinálja, valószínűleg útközben, otthon is töri a fejét egy-egy problémán. Ezeket az időket hogy tudod beletenni egy ilyen rendszerbe? Számolhatsz-e vele egyáltalán? A probléma annyival hamarabb megoldódhat, de ki tudja, a következő esetben még tart-e a lelkesedés? Máris napokkal nőhet a szükséges idő.

Anno, rendszergazdaként szenvedő alanya voltam egy ilyennek.
Képzeld el azt a helyzetet, mikor párhuzamosan foglalkozik az ember több dologgal, mert egyik terminálon futtat egy hosszabb lélegzetű feladatot, másikon épp egy szkriptet ír, de közben beesik egy kolléga telefonon, hogy elfelejtette a jelszavát.
Mire mindezt leadminisztrálom, lemegy a nap.

Biztosan lehet másképp is, mint ahogy nálunk volt, de én ezt láttam, ezeken a területeken - üzemeltetés, fejlesztés - gyorsan leszoktak az időmérésről. :) Talán a helpdesknél maradt valami gépesített dolog, mert ott tényleges feladatmegoldással nem kellett szórakozni a kollégáknak, ha már letették a telefont.

Aki másképp látja, esetleg látott már erre pozitív példát, nyugodtan hülyézzen le, nem fogok megsértődni! ;)
3

Ez ilyen manager mania, de

Greg · 2013. Okt. 1. (K), 13.13
Ez ilyen manager mania, de azert neha hasznos az idomeres. Pl egy freelancer ha meri mennyi idot dolgozott egy projecten, akkor legkozelebb konnyebben ad ajanlatot, mert vissza tudja nezni elozoleg hasonlo feledat mennyi idot vett igenybe. Persze ettol meg lehet hogy lesz amit ala/fole becsul.
A masik amit en hasznosnak talalok, hogy amikor megy egy pomodoro timer, es szigoruan csak akkor szakitom meg, ha muszaly, akkor sokkal jobban koncenralok es jobban haladok.
11

Nekem sem a legnagyobb erősségem az idő

s_volenszki · 2013. Okt. 1. (K), 16.57
Nekem sem a legnagyobb erősségem az idő, pont ezért kell valamilyen szabályokat felállítani. Nekem is van napi ütemtervem és én is pont ugyan azt érzem, ha látom, hogy az adott feladat ciklusból már csak 15 perc van vissza, mindig kicsalogatja belőlem a verseny szellemet és jobban teljesítek.
16

Akkor nem biztos, hogy

H.Z. · 2013. Okt. 1. (K), 17.17
Akkor nem biztos, hogy érdemes hallgatnod rám. :)
Én épp ellenkezőleg vagyok ezekkel a dolgokkal: ha látom, hogy nem tudok határidőre végezni egy határidős feladattal, akkor nagyon gyorsan lelohad a maradék lelkesedésem is.
4

Plusz

Hidvégi Gábor · 2013. Okt. 1. (K), 13.49
Ráadásul minden munka más, új problémákat kell megoldani, sokmindent nem lehet lefedni az előző projektekből felállított statisztikákkal.
12

Ugyan az a minta nem húzható rá minden projektre

s_volenszki · 2013. Okt. 1. (K), 17.05
Nyilván közületek többen azonnal átláttátok, hogy mi a csudát is akarok én ezzel és nem is titkolom. Ügyfelet szerezni, ajánlatot adni, majd fejleszteni sokféle módszerrel lehet, azonban egy biztos mindegyikben. Az fejlesztés árának arányban kell állnia a fejlesztésre fordított idővel. Ha nincs, akkor vagy nem készül el időben, vagy veszteséges lesz a fejlesztés.

A jelenleg használt eszközeink és tudásunk nem teszi lehetővé, hogy a fenti problémát tökéletesen kezeljük, hiszen ki vagyok segítve azzal, ha egy munkát határidőre teljesítünk, ha nem tudom, hogy közben valójában mennyi idő ment bele. Nem hajszál pontosan, grammra, de mégis a valóság a tervezéssel szemben.

Ez egy ördögi kör és úgy vélem, hogy a kiút ott kezdődik, hogy egyáltalán megmérem, hogy mennyi az annyi. Ezért foglalkoztat a gondolat, hogy valahogyan meg kellene mérni, mi is történik.

Rendszer és rendszer nagy mértékben különbözhet egymástól, ezért az egyikben megszerzett adatok nem feltétlenül lesznek igazak egy másikban, azt azonban biztosan tudom, hogy az előzőleg mért adatnál vagy több, vagy kevesebb időt fog igénybe venni azaz végre lesz egy (ha nem is objektív) stabil adatom. Az hiszem! :p
9

Értem én amit mondasz...

s_volenszki · 2013. Okt. 1. (K), 16.55
Értem én amit mondasz, tisztában vagyok azzal, hogy mindent nem lehet megmérni, pláne nem a humán faktort.

Nálunk a programozóknak nincs más feladtuk, csak az, hogy programozzanak. Őket nem zavarja meg senki, nem csörög a telefonjuk, nem viszik haza a munkát. Nyilván ettől még lehetnek egyszer kiegyensúlyozottak, másszor pedig családi gondokkal tele, ami nagy mértékben képes befolyásolni a teljesítményét.

Az alapvető elképzelés (és elvárás) az időmérésre kapcsolatban az, hogy a fejlesztő munkáját ne befolyásolja, azaz úgy kell működnie, hogy abból a fejlesztő nem vehet észre semmit.

Így a Sublime-os Python-os lehetőséget mérlegelve arra jutottunk, hogy a Sublime által biztosított eseményekre építhetnék egy naplózási eljárást, ami leegyszerűsítve megtudja, hogy hol van a kurzor, mennyi ideig van ott és miután már nincs ott, mi változott, ahol volt. Kezdetnek már ez is szolgáltathat információt.

Természetesen minden véleményt és kritikát elfogadok, különösen köszönöm azoknak, akik válaszoltak a felvetésemre! Köszönöm.
14

Ha belebeszélhetek a

H.Z. · 2013. Okt. 1. (K), 17.14
Ha belebeszélhetek a belügyeitekbe: az érintetteket szerintem kérdezd/kérdezzétek meg róla, mit szólnak egy ilyen felügyelethez!
Nem kell, hogy bármi tényleges negatív következménye legyen. Elég, hogy tudat alatt ott motoszkál az emberben, hogy folyamatos ellenőrzés alatt áll, rengeteget ront a hatékonyságon. És esetleg egy szép napon épp a legjobb embereitek közlik, hogy bocs, találtunk más munkát! :(
(olyat már éltem át, hogy egy csapat felállt és távozott, mert valami vezetői intézkedés nem tetszett, bár az kicsit durvább dolog volt. :( )
18

Egyetértek

Hidvégi Gábor · 2013. Okt. 1. (K), 17.29
Én ezt inkább úgy oldanám meg, hogy részfeladatokra bontanám a munkát, az egyes részfeladatok idejét megbecsültetném az érintettekkel, és utána ezeket a projekt nagyságával és a résztvevők számával arányosan felszoroznám egy számmal (minimum kettővel), összegezném, és a megrendelőnek úgy adnám tovább, hogy legalább ennyi idő lesz elkészíteni.
21

Ez van most.

s_volenszki · 2013. Okt. 1. (K), 17.39
Jelenleg ezt csináljuk. Mikor megvan az igény, készítünk belőle egy rendszertervet, ami tartalmazza a funkcionális egységeket és azok összefüggéseit.

Nem is tévedünk az időkkel (nagyot). Talán helyesebb lenne azt mondani, hogy összességében mindig belefér a projekt a megbecsült időbe, de nem tudom, hogy mi volt az benne, ami belefért a becsült időbe, mi volt az ami hamarabb megvolt és mi volt az, ami felemésztett idő tartalékokat. Csak annyit látok, hogy egy egység elkészült-e időben vagy sem.

Ezek szerint kisebb egységekre kellene felbontani ahhoz, hogy ilyen típusú visszacsatolás érkezzen.
23

Első cégemnél projektalapon

Hidvégi Gábor · 2013. Okt. 1. (K), 17.48
Első cégemnél projektalapon dolgoztunk, egy napon akár többön. A fejlesztők által becsült idők alapján minden nap ki volt osztva, hogy kinek mivel mennyit kell/lehet foglalkoznia, majd a nap végén volt egy táblázat, amiben visszajeleztünk, hogy az adott feladat valójában mennyi időt vett igénybe.

Ha nálatok lennék valami főmumus, a magam részéről ennél több energiát biztos nem tennék a dologba, mert úgy gondolom, hogy olyan sokváltozós egy munka, az embereknek hol jobb, hol rosszabb napjuk van, ezért bármilyen erőfeszítés a pontosabb mérésre csak minimális eredménnyel fog járni.
25

Főmumus :)

s_volenszki · 2013. Okt. 1. (K), 17.52
Mumusok azok kellenek! :)

A rövid határidők és rövid akció ciklusok valóban lehetővé teszik, hogy mérj és beavatkozz. Köszönöm.
20

Motiváltság

s_volenszki · 2013. Okt. 1. (K), 17.34
Köszönöm, hogy megírod amit gondolsz, nem érzem azt, hogy belebeszélsz, hiszen én kértem a véleményeteket.

Természetesen tudniuk kell róla, hiszen részük van benne, ez így etikus. Fontos, hogy meglegyen a motiváltság is a képletben, különben megborulhat.
22

Hogy tudniuk kell róla, az

H.Z. · 2013. Okt. 1. (K), 17.43
Hogy tudniuk kell róla, az természetes. Meg sem fordult a fejemben, hogy titokban kerülne a gépekre egy ilyen szoftver.
Inkább arra akartam kilyukadni, hogy a véleményüket kérd ki és lehetőleg ne azt figyeld amit mondanak, hanem ahogy... ;))
(húsz éve, ilyen helyzetben biztosan nem mertem volna tiltakozni, holott a lelkem nem is annyira mélyén, visszakívántam volna anyukájába az ötletgazdát. Most már nyugodtan megmondanám, mert számomra nincs tétje ;) )
24

Ha itt lenne Like..

s_volenszki · 2013. Okt. 1. (K), 17.50
Ha itt lenne Like akkor most nyomtam volna egyet! :)

Maximálisan egyet értek, köszönöm!
26

Ezt felvésem valahova, olyan

H.Z. · 2013. Okt. 1. (K), 18.05
Ezt felvésem valahova, olyan ritka, ha valakitől ilyen választ kapok! :)
28

Ritkán mondasz

Pepita · 2013. Okt. 2. (Sze), 03.28
ekkora igazságot. :)
De ez tőlem is(!) +1.
5

Verziókezelő alapján?

tisch.david · 2013. Okt. 1. (K), 14.20
Sziasztok!

Nekem az a véleményem, hogy a szőrszálhasogatás zsákutca. Mert hová számít pl. a WC-n töltött idő? Nyilván az alatt nem születik kód, de ha hosszú távon nincs megfinanszírozva a WC-re menés, akkor veszteséges lesz a projekt.
Érdemesebb talán viszonylag elnagyoltan, de jó heurisztikával mérni az időt. Erre szerintem pl. alkalmasak lehetnek a verziókezelő kommit időbélyegei. Egy munkanapló (munka kezdete/vége, ebéd szünet) és a megfelelő időben (munkafázisok határán, taszk váltáskor) használt commit segítségével szerintem a gyakorlatban elég jól használható időket lehet kapni.
Üdv:

Dávid
13

A fejlesztőnek is együtt kell működnie

s_volenszki · 2013. Okt. 1. (K), 17.11
Természetesen a szünetek és az eseti nem várt események kezelése nem tartózhat a fejlesztési időbe, ahhoz azonban, hogy a mérés közben ez egyértelműen elválasztható legyen, a fejlesztőnek is együtt kell működnie.

Gondolok itt arra (kiindulva a Sublime kínálta lehetőségekből), hogy ha WC-re megy, vagy ebédelni, akkor tegye le tálcára az editort (már ha van neki olyan eseménye, ami ezt is tudja figyelni), hogy ne ketyegjen az idő.

Ahogy konkrét elképzelés nincs, úgy teljesen tökéletes megoldás sincsen.
6

Komplexitast becsultetni a

Ajnasz · 2013. Okt. 1. (K), 14.33
Komplexitast becsultetni a fejlesztokkel?
15

Kifejtenéd bővebben?

s_volenszki · 2013. Okt. 1. (K), 17.15
Válaszolgattam a hozzászólásaitokra (1000 köszönet) és benne felvetettem egy Sublime-ra épülő mérési lehetőséget. Abban már egy kicsit talán jobban érthető, hogy mit is akarok.

Nem tudom pontosan mit értesz az alatt, hogy komplexitást becsültetni a fejlesztőkkel, azonban én semmi mást nem akarok, csak azt, hogy fejlesszenek. Mert én a folyamataikból akarok adatokat kinyerni és nem azt akarom, hogy ők szolgáltassanak adatot. A fejlesztő szempontjából ezek láthatatlan folyamatok (természetesen tud róla), amelyek az önszándékától vagy akaratától függetlenül is végbemennek (ha nem szabotálja, de ezzel az erővel le is lőhet, meg ki is rughat... ja azt nem mert én vagyok a főnöke :p).
7

Nem fog menni

janoszen · 2013. Okt. 1. (K), 16.27
Gyakorlati tapasztalat: nem fog menni. Csomo olyat nem tudsz megvalositani, hogy egy adott kod mennyiben jarult hozza egy masik kod javulasahoz / elorehaladasahoz, stb. Cserebe viszont csomo adminisztrativ terhet raksz azokra az emberekre, akik nem akarnak ezzel foglalkozni. Mi per pillanat Trellot hasznalunk es teljesen boldogok vagyunk. Es nem ez alapjan szamlazunk.
17

Adminisztratív terhek

s_volenszki · 2013. Okt. 1. (K), 17.21
Kedves János!

A téma nyitásakor még nem volt teljesen tiszta a kép, hogy mit is akarok, csak a célom volt meg. Most már tisztábban látok és ahogyan a hozzászólásaimban is láthatod, semmiféle adminisztrációs feladatot nem akarok a fejlesztőimre testálni.

Abban viszont teljesen egyetértek, hogy a méréssel megszerzett adat más projektek viszonylatában nem törvényszerűen releváns, mégis adat egy olyan tevékenységről, amiről ezidáig csak elképzelésünk volt, konkrét adatunk nem.

Trello-t megnézem, köszönöm.
27

Hasonló probléma

complex857 · 2013. Okt. 1. (K), 21.23
Úgy egy másfél éve volt egy előadás Budapest New Tech Meetup -on ahol egy hasonló problémával küzdő cég vezetője számolt be az általuk házon belül készített fejlesztésükről. A közönség reakciói legalább annyira érdekesek mint maga a bemutatott technológia, érdemes lehet meghallgatnod.
29

Csak lesek

Pepita · 2013. Okt. 2. (Sze), 03.36
jobbra-balra, nagyon hasonló fejtöréseim voltak is, vannak is. Szerintem alakulgat benned valami, kérlek, ha elkezdesz kipróbálni valamit, oszd meg azt is!
Én eddig kvázi kézzel "mértem" fejlesztési időt néha (egyedül programozva), sokat tanultam is belőle, de "rabszolgaként" meg rühellem (ez az, amikor a mumus is te vagy, meg akit terrorizál).
Költség szempontjából vigyázni kell: ha újrahasznosítható kódot írsz, azt ugye pont azért csinálod, mert az egy projekt költségeibe nem fér bele, de másik x-nél még használni fogod. Szerintem ezeket a megtérüléseket a legnehezebb megsaccolni.