How much code do you write?
-
I am currently finishing off a fairly large project, with just over 95,000 lines of C# code (excluding comments, blank lines etc). Today I was asked the question: "How long would it take a team of say 5 programmers to write this?" and I realised I actually have no idea. The project in question is a WinForms app using technologies including: Remoting, Web Services, TCP/IP sockets, lots of custom classes, pluggable components, charting, xml data files, compression and encryption. I'm guessing the answer is going to be used to guesstimate the cost of having a 3rd party company develop the product vs my cost. So here's my questions: How many line of code would a *team* developer write in a month (factoring in meetings, planning, research etc as time wasters)? Do you think lines of code per day/month is a valid performance barometric for a developer? How much would you or your company charge to write 95,000 lines of production quality code (remembering all the lines that would also go to the recycle bin)?
-
I am currently finishing off a fairly large project, with just over 95,000 lines of C# code (excluding comments, blank lines etc). Today I was asked the question: "How long would it take a team of say 5 programmers to write this?" and I realised I actually have no idea. The project in question is a WinForms app using technologies including: Remoting, Web Services, TCP/IP sockets, lots of custom classes, pluggable components, charting, xml data files, compression and encryption. I'm guessing the answer is going to be used to guesstimate the cost of having a 3rd party company develop the product vs my cost. So here's my questions: How many line of code would a *team* developer write in a month (factoring in meetings, planning, research etc as time wasters)? Do you think lines of code per day/month is a valid performance barometric for a developer? How much would you or your company charge to write 95,000 lines of production quality code (remembering all the lines that would also go to the recycle bin)?
Dear Furty, I worked for a large company that developped inhouse code. I can relate to your experience. Development managers are usually driven by other forces (Director and VPs that have no idea what it takes to write quality code). Here is a quick compare between employee (you) and 5 other consultants based on personal experience ( excuse my assumptions if I am wrong this is just for illustration): 1. Employee ($ 80,000 per year + cost of employee 25% of the 80,000(20,000) = $100,000 per year or about $50 per hour ) 2 months of work (management usually starts questioning after two months!) = $50*40*4*2 = $16,000 2. Contractor ($150 an hour + 0 cost of contractor ) = $150/per hour. Contractor will quote 1 month = $150*5*40*4=$120,000) Hey, If I am a VP that need to sign-off I will get the contractors! right? Wrong!!!! Contractor are very smart. They never build something perfect! They will build something that will create a future need ( new features ) so about let's $100,000/per month that is $1.2 M in a year ( if your company has the money for this and needs quality software)! My advice to you, if you are working on this project alone, create a plan that follows the following format: 1. Design ( document the requirements from a functional view, break up the project into phases, concentrate on creating the infrastrure first, and the worry and adding the features later ( think like a contractor ) 2. Detail Design ( document approach taken for each piece of the design, create pseudo-code for each piece, trust me on this one! ) 3. Coding time ( code your heart out , this is the time you post a don't disturbe message on your desk and don't answer phones, and order chinese when you stay late in the office!) 4. Testing ( test components alone, then test them together then invite the users that you think will most hate your work to get feedback!) 5. Present and demonstrate! You may ask why? Well because that's what a contractor will do ( or 5 )! So how is that going to help you? The secret is managers are stupid just like their bosses, so they need to look smart infront of them, by giving the manager as much detail as possible (eventhough you think he/she does not get it)he will support you and most likely get support from his leaders! If I was you right now, I will try to take the weekend and document as much work as possible and organized it ( as shown , you can email for me for help if u need to!) and then sum it up with a nice presentation. go in and sell yo
-
I am currently finishing off a fairly large project, with just over 95,000 lines of C# code (excluding comments, blank lines etc). Today I was asked the question: "How long would it take a team of say 5 programmers to write this?" and I realised I actually have no idea. The project in question is a WinForms app using technologies including: Remoting, Web Services, TCP/IP sockets, lots of custom classes, pluggable components, charting, xml data files, compression and encryption. I'm guessing the answer is going to be used to guesstimate the cost of having a 3rd party company develop the product vs my cost. So here's my questions: How many line of code would a *team* developer write in a month (factoring in meetings, planning, research etc as time wasters)? Do you think lines of code per day/month is a valid performance barometric for a developer? How much would you or your company charge to write 95,000 lines of production quality code (remembering all the lines that would also go to the recycle bin)?
Furty wrote: How long would it take a team of say 5 programmers to write this?" Depends very much on how the code can be factored, and how the project requirements overlap with the team skillset Furty wrote: How many line of code would a *team* developer write in a month Depends on his typing and thinking speed, but not necessarily expresses productivity (in the sense of functionality) Furty wrote: Do you think lines of code per day/month is a valid performance barometric for a developer? Yes, it's the one perfect measure. Also, the whole function point thing is much to complex, we should break things down to characters of code. A true coder would never accept another salary than $/line, with strict rules where he is allowed to place line breaks. Furty wrote: How much would you or your company charge to write 95,000 lines of production quality code I'd never pay per LOC
"Der Geist des Kriegers ist erwacht / Ich hab die Macht" StS
sighist | Agile Programming | doxygen -
Furty wrote: How long would it take a team of say 5 programmers to write this?" Depends very much on how the code can be factored, and how the project requirements overlap with the team skillset Furty wrote: How many line of code would a *team* developer write in a month Depends on his typing and thinking speed, but not necessarily expresses productivity (in the sense of functionality) Furty wrote: Do you think lines of code per day/month is a valid performance barometric for a developer? Yes, it's the one perfect measure. Also, the whole function point thing is much to complex, we should break things down to characters of code. A true coder would never accept another salary than $/line, with strict rules where he is allowed to place line breaks. Furty wrote: How much would you or your company charge to write 95,000 lines of production quality code I'd never pay per LOC
"Der Geist des Kriegers ist erwacht / Ich hab die Macht" StS
sighist | Agile Programming | doxygenpeterchen wrote: A true coder would never accept another salary than $/line, with strict rules where he is allowed to place line breaks. :rolleyes: :| I hope you're joking. ;)
"Blessed are the peacemakers, for they shall be called sons of God." - Jesus
"You must be the change you wish to see in the world." - Mahatma Gandhi -
I am currently finishing off a fairly large project, with just over 95,000 lines of C# code (excluding comments, blank lines etc). Today I was asked the question: "How long would it take a team of say 5 programmers to write this?" and I realised I actually have no idea. The project in question is a WinForms app using technologies including: Remoting, Web Services, TCP/IP sockets, lots of custom classes, pluggable components, charting, xml data files, compression and encryption. I'm guessing the answer is going to be used to guesstimate the cost of having a 3rd party company develop the product vs my cost. So here's my questions: How many line of code would a *team* developer write in a month (factoring in meetings, planning, research etc as time wasters)? Do you think lines of code per day/month is a valid performance barometric for a developer? How much would you or your company charge to write 95,000 lines of production quality code (remembering all the lines that would also go to the recycle bin)?
A rule of thumb I used when bidding projects for the US DoD was 10 lines of code per hour. That included design, coding, debugging, and integrating with any hardware the app had to play with nicely. It did not include documentation (another department's worry, not mine) beyond the UDFs and change notices required by DOD-STD-2167A. It also was within a much less complex operating environment using Pascal, Jovial, Ada, ATLAS, and various forms of BASIC in a much simpler OS than Windows. For the time it worked very well, so long as we understood the level of difficulty of the task and could make a reasonable estimate of the size of each required module. With the incredible amount of overhead added by running on a Windows platform, I'd be surprised to see productivity levels much above 3 lines of code per manhour today, and the challenge of correctly estimating the size of each module remains.
"Welcome to Arizona!
Drive Nice - We're Armed..."
- Proposed Sign at CA/AZ Border -
I am currently finishing off a fairly large project, with just over 95,000 lines of C# code (excluding comments, blank lines etc). Today I was asked the question: "How long would it take a team of say 5 programmers to write this?" and I realised I actually have no idea. The project in question is a WinForms app using technologies including: Remoting, Web Services, TCP/IP sockets, lots of custom classes, pluggable components, charting, xml data files, compression and encryption. I'm guessing the answer is going to be used to guesstimate the cost of having a 3rd party company develop the product vs my cost. So here's my questions: How many line of code would a *team* developer write in a month (factoring in meetings, planning, research etc as time wasters)? Do you think lines of code per day/month is a valid performance barometric for a developer? How much would you or your company charge to write 95,000 lines of production quality code (remembering all the lines that would also go to the recycle bin)?
It was far easier to do this when we used punch or marker cards. The bosses could monitor how many cards were being used to see the code created. I think a line per minute is reasonable, then you must subtract from your day, meetings, studying, lunch, coffee breaks, toilet-time, deleting spam, answering stupid questions, playing jokes on other workers, etc, So you probably have 20 minutes a day to write 20 lines of code. In FORTRAN I once measured my output, and was doing twice as much over the weekend when the management were not their then the 5 days of the week ! Regardz Colin J Davies
*** WARNING *
This could be addictive
**The minion's version of "Catch :bob: "It's a real shame that people as stupid as you can work out how to use a computer. said by Christian Graus in the Soapbox
-
I am currently finishing off a fairly large project, with just over 95,000 lines of C# code (excluding comments, blank lines etc). Today I was asked the question: "How long would it take a team of say 5 programmers to write this?" and I realised I actually have no idea. The project in question is a WinForms app using technologies including: Remoting, Web Services, TCP/IP sockets, lots of custom classes, pluggable components, charting, xml data files, compression and encryption. I'm guessing the answer is going to be used to guesstimate the cost of having a 3rd party company develop the product vs my cost. So here's my questions: How many line of code would a *team* developer write in a month (factoring in meetings, planning, research etc as time wasters)? Do you think lines of code per day/month is a valid performance barometric for a developer? How much would you or your company charge to write 95,000 lines of production quality code (remembering all the lines that would also go to the recycle bin)?
The cost varies by situation. As far as lines of code per day: it really depends what stage the project is in. In the early stages, you can write huge amounts of code. Once the application matures, lines per day will diminish considerably. A bug in a single line of code can sometimes take hours to debug and fix. I guess you can say its kind of like murphy's law :) -Josh 60% of statistics are made up on the spot
-
It was far easier to do this when we used punch or marker cards. The bosses could monitor how many cards were being used to see the code created. I think a line per minute is reasonable, then you must subtract from your day, meetings, studying, lunch, coffee breaks, toilet-time, deleting spam, answering stupid questions, playing jokes on other workers, etc, So you probably have 20 minutes a day to write 20 lines of code. In FORTRAN I once measured my output, and was doing twice as much over the weekend when the management were not their then the 5 days of the week ! Regardz Colin J Davies
*** WARNING *
This could be addictive
**The minion's version of "Catch :bob: "It's a real shame that people as stupid as you can work out how to use a computer. said by Christian Graus in the Soapbox
That's not an unusual ratio. A study I read from the Harvard Business School (I think - it's been a while) determined that for workers engaged in tasks which require mental concentration (i.e. non-management functions) each interruption, however brief, causes a loss of twenty minutes' productivity. That includes phone calls, IMs, popping in for a quick "How are ya, whatcha doing today" visits, and especially those "Hi! Gotta minute?" drop-ins. Reviewing my own 34 years of working for a living, I can see the validity of that research. Managers are noted for such behaviors, and generally think nothing of interrupting an employee with whatever trivial thought has just momentarily passed through their craniums. A wise manager makes notes of his passing fancies, and reserves them for the unpleasant but necessary staff meetings so that productive people can plan their wasted time efficiently, and deal with trivia in scheduled time slots.
"Welcome to Arizona!
Drive Nice - We're Armed..."
- Proposed Sign at CA/AZ Border -
I am currently finishing off a fairly large project, with just over 95,000 lines of C# code (excluding comments, blank lines etc). Today I was asked the question: "How long would it take a team of say 5 programmers to write this?" and I realised I actually have no idea. The project in question is a WinForms app using technologies including: Remoting, Web Services, TCP/IP sockets, lots of custom classes, pluggable components, charting, xml data files, compression and encryption. I'm guessing the answer is going to be used to guesstimate the cost of having a 3rd party company develop the product vs my cost. So here's my questions: How many line of code would a *team* developer write in a month (factoring in meetings, planning, research etc as time wasters)? Do you think lines of code per day/month is a valid performance barometric for a developer? How much would you or your company charge to write 95,000 lines of production quality code (remembering all the lines that would also go to the recycle bin)?
Depends on a lot of factors. Small projects have very high lines/hour (less planning, less integration). Very large projects have a low number of lines/hour. More people also means fewer lines/hour per person because people have to communicate. Is the work cutting edge (low lines/hour) or are there lots of sources who can tell you the correct way to build it (high lines/hour). Are the developers experienced in the domain? If they've done this type of project before it means higher lines/hour. Is the code tightly integrated with itself (low lines/hour), or is it a toolkit of relatively independent pieces (high lines/hour)? The Mythical Man Month talks quite a bit about some of this. ------------------------------------------ The ousted but stubbornly non-dead leader reportedly released an audiotape this weekend, ending by calling on Iraqis to, quote, "resist the occupation in any way you can, from writing on walls, to boycotting, to demonstrating and taking up arms." adding, "you know, pretty much anything I used to kill you for."
-
I am currently finishing off a fairly large project, with just over 95,000 lines of C# code (excluding comments, blank lines etc). Today I was asked the question: "How long would it take a team of say 5 programmers to write this?" and I realised I actually have no idea. The project in question is a WinForms app using technologies including: Remoting, Web Services, TCP/IP sockets, lots of custom classes, pluggable components, charting, xml data files, compression and encryption. I'm guessing the answer is going to be used to guesstimate the cost of having a 3rd party company develop the product vs my cost. So here's my questions: How many line of code would a *team* developer write in a month (factoring in meetings, planning, research etc as time wasters)? Do you think lines of code per day/month is a valid performance barometric for a developer? How much would you or your company charge to write 95,000 lines of production quality code (remembering all the lines that would also go to the recycle bin)?
The amount of code for a .NET app differs a lot with other languages. The CLR provides 6000+ classes and a lot of the plumbing is just there, ready to use. That's especially true with xml parsing, remoting, etc. I guess the amount of code with MFC C++ would be twice or even more. So that's different. In addition, as an anecdote, here is a thread from the MS Visio guy[^] : "10 lines of code per day".
-
I am currently finishing off a fairly large project, with just over 95,000 lines of C# code (excluding comments, blank lines etc). Today I was asked the question: "How long would it take a team of say 5 programmers to write this?" and I realised I actually have no idea. The project in question is a WinForms app using technologies including: Remoting, Web Services, TCP/IP sockets, lots of custom classes, pluggable components, charting, xml data files, compression and encryption. I'm guessing the answer is going to be used to guesstimate the cost of having a 3rd party company develop the product vs my cost. So here's my questions: How many line of code would a *team* developer write in a month (factoring in meetings, planning, research etc as time wasters)? Do you think lines of code per day/month is a valid performance barometric for a developer? How much would you or your company charge to write 95,000 lines of production quality code (remembering all the lines that would also go to the recycle bin)?
1. I'm getting paid by an hour; 2. If I'm in the mood I may produce about 100 Lines of code/hour, not including Copy/Paste sequence that I may generate with the speed of 10/minute; 3. Best modules written by me are usually also smallest in size (linewise), and the best one is the one I haven't written; 4. After having 1 hour when I'm in the mood, I usually prefer to have at least 7 hours when I'm not; 5. Considering all of the above, I would estimate that "95,000 lines of production quality code" would approximately take me about 500-1000 days to complete, or about 2 to 5 years and it will cost in any case the company I'm contracting about $1,000,000 or about $10/line -- not including overhead; 6. Should I deside to work better, I would probably prefer to decrease lines of code written instead of decreasing time to write those lines. In this case each line of code becomes even more valuable ($20/line). ;P:-D:(( Regards "...Ability to type is not enough to become a Programmer. Unless you type in VB. But then again you have to type really fast..." Me
-
Depends on a lot of factors. Small projects have very high lines/hour (less planning, less integration). Very large projects have a low number of lines/hour. More people also means fewer lines/hour per person because people have to communicate. Is the work cutting edge (low lines/hour) or are there lots of sources who can tell you the correct way to build it (high lines/hour). Are the developers experienced in the domain? If they've done this type of project before it means higher lines/hour. Is the code tightly integrated with itself (low lines/hour), or is it a toolkit of relatively independent pieces (high lines/hour)? The Mythical Man Month talks quite a bit about some of this. ------------------------------------------ The ousted but stubbornly non-dead leader reportedly released an audiotape this weekend, ending by calling on Iraqis to, quote, "resist the occupation in any way you can, from writing on walls, to boycotting, to demonstrating and taking up arms." adding, "you know, pretty much anything I used to kill you for."
Brit wrote: Mythical Man Month Excellent book!:-D
"Welcome to Arizona!
Drive Nice - We're Armed..."
- Proposed Sign at CA/AZ Border -
peterchen wrote: A true coder would never accept another salary than $/line, with strict rules where he is allowed to place line breaks. :rolleyes: :| I hope you're joking. ;)
"Blessed are the peacemakers, for they shall be called sons of God." - Jesus
"You must be the change you wish to see in the world." - Mahatma Gandhi -
A rule of thumb I used when bidding projects for the US DoD was 10 lines of code per hour. That included design, coding, debugging, and integrating with any hardware the app had to play with nicely. It did not include documentation (another department's worry, not mine) beyond the UDFs and change notices required by DOD-STD-2167A. It also was within a much less complex operating environment using Pascal, Jovial, Ada, ATLAS, and various forms of BASIC in a much simpler OS than Windows. For the time it worked very well, so long as we understood the level of difficulty of the task and could make a reasonable estimate of the size of each required module. With the incredible amount of overhead added by running on a Windows platform, I'd be surprised to see productivity levels much above 3 lines of code per manhour today, and the challenge of correctly estimating the size of each module remains.
"Welcome to Arizona!
Drive Nice - We're Armed..."
- Proposed Sign at CA/AZ BorderYep, I was thinking maybe an average of 100 lines a day of fully debugged and tested code over the full lifespan of the project.
"Je pense, donc je mange." - Rene Descartes 1689 - Just before his mother put his tea on the table. Shameless Plug - Distributed Database Transactions in .NET using COM+
-
I am currently finishing off a fairly large project, with just over 95,000 lines of C# code (excluding comments, blank lines etc). Today I was asked the question: "How long would it take a team of say 5 programmers to write this?" and I realised I actually have no idea. The project in question is a WinForms app using technologies including: Remoting, Web Services, TCP/IP sockets, lots of custom classes, pluggable components, charting, xml data files, compression and encryption. I'm guessing the answer is going to be used to guesstimate the cost of having a 3rd party company develop the product vs my cost. So here's my questions: How many line of code would a *team* developer write in a month (factoring in meetings, planning, research etc as time wasters)? Do you think lines of code per day/month is a valid performance barometric for a developer? How much would you or your company charge to write 95,000 lines of production quality code (remembering all the lines that would also go to the recycle bin)?
Furty wrote: Remoting, Web Services, TCP/IP sockets :confused: Sounds like a lot of wheel re-inventing. Did you find that using all these technologies was necessary? I'm asking because, I would have thought you typically choose one of those over the other. Must have been eye opening though. What's the difference between a C++ programmer and God? God knows he's not a C++ programmer : anon
-
That's not an unusual ratio. A study I read from the Harvard Business School (I think - it's been a while) determined that for workers engaged in tasks which require mental concentration (i.e. non-management functions) each interruption, however brief, causes a loss of twenty minutes' productivity. That includes phone calls, IMs, popping in for a quick "How are ya, whatcha doing today" visits, and especially those "Hi! Gotta minute?" drop-ins. Reviewing my own 34 years of working for a living, I can see the validity of that research. Managers are noted for such behaviors, and generally think nothing of interrupting an employee with whatever trivial thought has just momentarily passed through their craniums. A wise manager makes notes of his passing fancies, and reserves them for the unpleasant but necessary staff meetings so that productive people can plan their wasted time efficiently, and deal with trivia in scheduled time slots.
"Welcome to Arizona!
Drive Nice - We're Armed..."
- Proposed Sign at CA/AZ BorderRoger Wright wrote: productive people If only that were the way managers saw pondscum plebs like me - I'm convinced they think they are the productive ones and they're not entirely sure why we're here....so they'd better minimise the number of non-managers. Stuart Dootson 'Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p'
-
The cost varies by situation. As far as lines of code per day: it really depends what stage the project is in. In the early stages, you can write huge amounts of code. Once the application matures, lines per day will diminish considerably. A bug in a single line of code can sometimes take hours to debug and fix. I guess you can say its kind of like murphy's law :) -Josh 60% of statistics are made up on the spot
Joshua Nussbaum חיים wrote: A bug in a single line of code can sometimes take hours to debug and fix Hours? A bug in a single line of code, written two years ago by someone else, took me 4 days to debug.
"Der Geist des Kriegers ist erwacht / Ich hab die Macht" StS
sighist | Agile Programming | doxygen -
Furty wrote: Remoting, Web Services, TCP/IP sockets :confused: Sounds like a lot of wheel re-inventing. Did you find that using all these technologies was necessary? I'm asking because, I would have thought you typically choose one of those over the other. Must have been eye opening though. What's the difference between a C++ programmer and God? God knows he's not a C++ programmer : anon
The base application itself uses a combination of WebServices and TCP/IP - the former for datasets, authentication, and secure transactions, the latter for dynamic "live" data delivery to the client. Remoting is used for the licensing component. I have also created a plugin system (with full SDK) to integrate data and functionality from external providers. As it stands right now, I have developed plugins for 3 different 3rd party providers that retrieve their data using HTTP, FTP and WebServices respectively - the transport mechanism used being dictated by the company providing the data. Naturally it would be nice to standardize on a single transport method, but unfortunately this has just not been feasible/economical nor timely to a sensitive release date. Eye opening? You bet - there's large chunks of the FCL that I know better than the back of my hand now :)
-
Depends on a lot of factors. Small projects have very high lines/hour (less planning, less integration). Very large projects have a low number of lines/hour. More people also means fewer lines/hour per person because people have to communicate. Is the work cutting edge (low lines/hour) or are there lots of sources who can tell you the correct way to build it (high lines/hour). Are the developers experienced in the domain? If they've done this type of project before it means higher lines/hour. Is the code tightly integrated with itself (low lines/hour), or is it a toolkit of relatively independent pieces (high lines/hour)? The Mythical Man Month talks quite a bit about some of this. ------------------------------------------ The ousted but stubbornly non-dead leader reportedly released an audiotape this weekend, ending by calling on Iraqis to, quote, "resist the occupation in any way you can, from writing on walls, to boycotting, to demonstrating and taking up arms." adding, "you know, pretty much anything I used to kill you for."
Brit wrote: The Mythical Man Month should be required reading for anyone aspiring to manage programmers. But quite apart from the real truths it has to tell about the development process I find a perverse satisfaction in reading the descriptions of the environment. Things like the cost per month of a kilobyte of memory. Thank god those days are gone. That said, I started programming in the days when 32 K was a lot of memory (I still remember the feeling of restraints removed when I first programmed on an HP9836 with 256 K of memory (more memory than disk storage)) and thus I still give a damn about working set sizes. Rob Manderson http://www.mindprobes.net
-
Joshua Nussbaum חיים wrote: A bug in a single line of code can sometimes take hours to debug and fix Hours? A bug in a single line of code, written two years ago by someone else, took me 4 days to debug.
"Der Geist des Kriegers ist erwacht / Ich hab die Macht" StS
sighist | Agile Programming | doxygenpeterchen wrote: Hours? A bug in a single line of code, written two years ago by someone else, took me 4 days to debug. which is 96 hours ;P What's the difference between a C++ programmer and God? God knows he's not a C++ programmer : anon