Jag försöker klura på vad det egentligen innebär när man utvecklar effektivt. Hur skulle ni definiera det? Vad är det som gör att en form av utveckling är mer effektivt än en annan? För mig är det att effektiviteten helt enkelt är projektets hela livslängd delat med total utvecklingstid, för en viss kvalitetsnivå. Jag har försökt formulera en formel kring vad effektivitet innebär och ditt svar tycker jag speglar en del det. Vad tror du om detta? Problemet är att "Resultat" och "rätt" är för svårt att mäta. Det finns en hel del problem med att säkerställa mätvärdet "hela projektets livslängd". För när slutar ett projekt/system att existera? Om man skriver om 20, 30, 40, 50, 60 ... % av applikationer när blir systemet ett annat system? Om man ska ta fasta på Krister rubrik "effektiv utveckling" tycker jag att det borde handla om resultatat i förhållande till insatta resurser i tid eller pengar. Det Niklas pratar om, är snarast produktens eller projektets effektivitet. effektiv utveckling e när man e flera personer i samma projekt <b>>Om man ska ta fasta på Krister rubrik "effektiv utveckling" tycker jag att det borde handla om resultatat i förhållande till insatta resurser i tid eller pengar. Det Niklas pratar om, är snarast produktens eller projektets effektivitet.</b> hade microsoft inte varit så giriga så vem vet vart xp hade varit idag hade microsoft inte varit så giriga så vem vet vart xp hade varit idag hade microsoft inte varit så giriga så vem vet vart xp hade varit idag hade microsoft inte varit så giriga så vem vet vart xp hade varit idag hade microsoft inte varit så giriga så vem vet vart xp hade varit idagVad innebär effektiv utveckling?
Sv: Vad innebär effektiv utveckling?
En effektiv utveckling är det som gör detta tal stort. Det tar då in saker som att väldigt små projekt inte bör utvecklas på exakt samma sätt som större projekt. Jag tycker inte att kvalitet ska blandas in. Man väljer en viss nivå, och arbetar utifrån det...
Sen finns det ju synergieffekter och då får man väl räkna totalt över alla projekt på bådadera.Sv:Vad innebär effektiv utveckling?
Output / Input = Effektivitetsgrad
Eller om man bryter ner det ytterligare:
Resultat / (Tidsförbrukning + Resursförbrukning) = Effektivitetsgrad
En annan variant är:
Uppnå "rätt" resultat / "Rätt" sätt = EffektivitetsgradSv: Vad innebär effektiv utveckling?
Det är därför jag menar att det enda man kan prata om är tidsförbrukning (okej, resursförbrukning också, men det brukar ju vara i stort sett samma sak) och hur länge något lever. Och det är också, i mitt tycke, oerhört viktigt att man tar med "hela projektets livslängd". I detta har man hela tiden med att applikationen ska fungera.
Man kan spagetti-koda i små steg, och vara jätteeffektiv fram till en viss punkt (säg ett år) då man inser att minsta ändring kraschar allt. Om projektet har så lång livslängd eller kortare (eller kanske till och med lite längre) så är det helt ok, eftersom man har lagt ner lite tid i förhållande till hur länge projektet har levt. Men om projektet ska leva i säg 2 eller 3 år då var det ett ineffektivt sätt att arbeta. Min poäng är på något sätt att fruktansvärd fulkodning är helt ok om ett projekt inte lever länge (och såvida det inte är utvecklarens fel att projektet läggs ner).
I de flesta fall är det ju faktiskt så att projekt lever så pass länge att fullösningar är ineffektiva. Min poäng är alltså att "Resultat" bara kan betyda "så här länge lever applikationen", och att man då måste förutsätta en viss kvalitetsnivå. Effektivitet betyder alltså olika saker beroende på hur hög kvalitet man har på applikationen.Sv:Vad innebär effektiv utveckling?
Tanken med mina formler var inte att ta fram mätverktyg för effektivitet. Utan de är mer abstraktioner för att ge en djupare förståelse för vad ordet effektivt innebär. Men skulle vi ta fram värdet resultat så tror jag inte det är så svårt. Ska man tex ta fram version 1 av ett system på X antal timmar så är version 1 resultatet. Men som sagt min avsikt var inte att ta fram några mätverktyg utan mer få en större förståelse för ordet. Jag var nog lite otydlig där :)Sv: Vad innebär effektiv utveckling?
Problemet med "effektiv utveckling" är just att kunna kvantifiera resultatet. Teoretiskt kan man ju tänka sig att resultatet kan uttryckas som programmets exekveringstid (T1) för vissa operationer. Om T1 kan erhållas efter ett visst antal timmars utrvecklingsarbete och T2 kan erhållas efter ytterligare ett antal timmars utvecklingsarbete, skulle man kunna säga något om hur "effektiv utveckklingen" varit.
Resultatdefinitionen kan variera från utvecklingsprojekt till utvecklingsprojekt.
Svagheten med Niklas resoinmang är begreppet livslängd, antagligen lika svårt som resultatet.Sv: Vad innebär effektiv utveckling?
kolla bara på linux
vad skulle linux varit om det inte vart open source
ju mer personer som utvecklar samma projekt desto effektivare blir det
Tack för mig
TobbenSv:Vad innebär effektiv utveckling?
Jag vidhåller det jag säger, det är utvecklingens effektivitet. Folk brukar nästan alltid säga just "resultat" eller "kvalitet" som den kvantitet man ska prata om. Problemet är att det är alldeles för abstrakt, och det lämnar allt öppet.
<b>>Svagheten med Niklas resoinmang är begreppet livslängd,</b>
Om man utgår från konsultsynvinkel är livslängden helt enkelt perioden från det att att projektets utveckling startades till sista gången man skriver en rad kod på den. Är det samma projekt, men hela skiten skrivs om så räknas det fortfarande som exakt samma projekt. Slås två projekt ihop får man problem med livslängden - man kanske typ får ta något viktat medelvärde för att få reda på när projektet "typ startade". Det riktiga problemet blir när projekt branchas ut (men det sker ju tämligen sällan), eftersom det är svårt att räkna vad som är nedlagd tid.
Om jag försöker förklara mer i detalj kanske det blir tydligare vad jag menar. Kvaliteten på ett projekt är i någon mening beroende på åsikt. I stort menar jag att kvalitet är användarens åsikt om hur väl det fungerar. Där väger man in allt som hastighet, korrekthet, utseende, säkerhet. Vi kan inte kvantifiera det till ett tal, men vi kan göra jämförelser. "Program A är sämre än program B -- enligt mig". Eftersom skalan är helt godtycklig kan vi inte använda matematiska operationer på den.
Men om vi nu har två stycken kvalitetsmässigt likvärdiga program så kan vi göra jämförelser mellan dem, på saker som går att kvantifiera, och där är effektivitet helt enkelt "hur mycket tid man lägger ner på det". I detta måste man ju då vara noga med att väldigt korta projekt är mer effektiva med kortsiktiga lösningar, och man måste ha med nedlagd tid.
Alltså:
1. Tag två likvärdiga program A och B.
2. Mät tiden från första kodraden (eller planeringsstadie, osv.) till sista kodraden som någonsin skrivs på projektet, kalla dem T_A och T_B.
3. Räkna kostnaden/tiden för hela utvecklingen, kalla det t_A och t_B.
4. Effektiviteten är E = T/t. Den av E_A och E_B som är högst är mer effektiv.
Detta tar även in situationer som att ett helt program måste skrivas om, man får då en total utvecklingstid t = t_1 + t_2. Om det ändå ger högre effektivitet var det helt ok att skriva om hela programmet, om det ger lägre effektivitet så hade det varit bättre att arbeta långsiktigt från början.Sv: Vad innebär effektiv utveckling?
verkar som dom vart påtända när dom gjorde vista
gillar det inte alls o det e fult som strykSv: Vad innebär effektiv utveckling?
verkar som dom vart påtända när dom gjorde vista
gillar det inte alls o det e fult som strykSv: Vad innebär effektiv utveckling?
verkar som dom vart påtända när dom gjorde vista
gillar det inte alls o det e fult som strykSv: Vad innebär effektiv utveckling?
verkar som dom vart påtända när dom gjorde vista
gillar det inte alls o det e fult som strykSv: Vad innebär effektiv utveckling?
verkar som dom vart påtända när dom gjorde vista
gillar det inte alls o det e fult som stryk
Mvh av en som knappt hittar i vista alls*ler*
mvh tobben