RE: Average, Best and Worst: Cost and Time to Produce Software Code

2011-05-11 Thread Lindsay Marshall
+ in all seriousness, who cares what naïve people think about anything?

Quite often they are controlling the purse strings. (though who has a purse 
with strings these days? Surely it at least has a zip)

L.


-- 
The Open University is incorporated by Royal Charter (RC 000391), an exempt 
charity in England  Wales and a charity registered in Scotland (SC 038302).



Re: Average, Best and Worst: Cost and Time to Produce Software Code

2011-05-11 Thread Paola Kathuria
John Domingue wrote:
 I would like to convey to a non-computer scientist
 audience the significant effort that goes into software production in
 order to motivate software and component re-use. Otherwise a naive
 person may ask why not just create the software you need on demand
 every time?.

I've been thinking about this core question. I wonder whether you're
looking for answers along the lines of:

- it took 3,000 hours at a cost of 300,000 to build [x]
- it took 300 hours at a cost of 3,000 to build [y] which reused code

I've been a software developer since 1989 and have been doing the
plans and costs for my own Internet company since 1995. If re-use
means copying code from one program to another, I am hard pressed
to think of any examples where re-used software affected the price
quoted to the client.

To explain:

1) the client owns the software developed

Usually the client owns what they pay for unless the contract says
otherwise. Developers can only reuse code for future projects for
the same client.

2) is a call to an existing function re-use?

I've been the PHP developer for the-racehorse.com since 2006 and
have produced over 30,000 lines of code. However, I'm calling
some functions written earlier in new code? Is that counted as
re-use?

3) is using an open-source CMS code re-use?

the-racehorse.com is built on Drupal. Drupal is an open-source CMS
core with modules (functionality add-ons) developed by the community.
Is using an extendible CMS software re-use?

We used Drupal for the-racehorse.com because the client wanted a site
within a few weeks. We previously built sites from scratch. The site
we launched in time - and my first module was based on an existing
module by someone else - but subsequent additions to the site have
always been constrained by how Drupal works. Some additions we haven't
been able to do at all because they'd take too long within Drupal.

The trade-off HAS ALWAYS BEEN:

a) write from scratch for more time/money for ultimate flexibility
b) customise an off-the-shelf solution for less time/money for narrow 
flexibility

As soon as you want to make an off-the-shelf system do something
other than what it's intended, you spend MORE time/money than if
you'd built the thing from scratch.

Given the same requirement, approach (a) and (b) could end up costing
the same in the long term.

4) Is using a CMS re-use?

This year I'm working as a contractor as Drupal Developer. Drupal 6.*
is such that most site builds consist of going through configuration
forms created by third-party modules. I'm working on a multi-lingual
site but I've only written 500 lines of code and that's for managing
custom login with cookies. I don't think that spending days installing
and configuring modules in forms is development. But is it software
re-use?

5) Fashion changes

Over time, people's choice of programming language evolve. PHP,
Python, Ruby on Rails, Java, you name it.

Software re-use presumably assumes a consistency of language.
My feeling is that commercial Internet projects get redeveloped
every few years.

John, I'd still like to know what kind of an answer you were
hoping for with t

 I'm looking for pointers to how much time and cost is associated
 with producing software code.

3 weeks and 4,000 pounds is an answer to that question. But would it
have been useful? Or is the pointers to key?


Paola
--
http://www.paolability.com/

-- 
The Open University is incorporated by Royal Charter (RC 000391), an exempt 
charity in England  Wales and a charity registered in Scotland (SC 038302).



Re: Average, Best and Worst: Cost and Time to Produce Software Code

2011-05-11 Thread Richard O'Keefe

On 11/05/2011, at 10:25 PM, Paola Kathuria wrote:
 
 2) is a call to an existing function re-use?
 
 I've been the PHP developer for the-racehorse.com since 2006 and
 have produced over 30,000 lines of code. However, I'm calling
 some functions written earlier in new code? Is that counted as
 re-use?

Yes.
 
 3) is using an open-source CMS code re-use?

Yes.
 
 
 4) Is using a CMS re-use?
 
 This year I'm working as a contractor as Drupal Developer. Drupal 6.*
 is such that most site builds consist of going through configuration
 forms created by third-party modules. I'm working on a multi-lingual
 site but I've only written 500 lines of code and that's for managing
 custom login with cookies. I don't think that spending days installing
 and configuring modules in forms is development. But is it software
 re-use?

If you are using software that was not developed for the project at
hand, it is re-use, whether you can see the code or not.
 
 5) Fashion changes
 
 Over time, people's choice of programming language evolve. PHP,
 Python, Ruby on Rails, Java, you name it.
 
 Software re-use presumably assumes a consistency of language.

The implementations of these languages themselves re-use a lot of
code, and many of them provide ways to pull in compiled code.  In
2005, PJE on Programming wrote:

But it's the impure libraries that give (C/J/Iron)Python
most of its current value!  Be it database access, number
crunching, interfaces to GUI toolkits, or any of a thousand
other uses, it's the C, Java, or CLR libraries that make
Python useful.  CPython is basically a glue language for
assembling programs from C libraries, and to the extent
that Jython and IronPython are successful, it's because
they're glue languages for assembling Java or CLR components.

Once upon a time I used to moan to classes about how little reuse we
did; now we have so much to reuse that a major part of our effort is
*finding* the stuff (and yes, installing/configuring once found).


-- 
The Open University is incorporated by Royal Charter (RC 000391), an exempt 
charity in England  Wales and a charity registered in Scotland (SC 038302).