Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.programming > #6843

Re: To hell with the program spec - I know what's best

From Richard Heathfield <rjh@cpax.org.uk>
Newsgroups comp.programming
Subject Re: To hell with the program spec - I know what's best
Date 2016-07-27 14:05 +0100
Organization Origin Sonata
Message-ID <nnah8t$10j$1@dont-email.me> (permalink)
References <nn6vmo$lh0$1@dont-email.me> <exam-20160726112224@ram.dialup.fu-berlin.de> <MPG.3201e5fd52ec5da798a3cc@news.eternal-september.org> <nn9mps$69j$1@dont-email.me> <nna0vm$629$1@dont-email.me>

Show all headers | View raw


On 27/07/16 11:04, BartC wrote:
> On 27/07/2016 08:10, Richard Heathfield wrote:
>> On 27/07/16 03:26, J. Clarke wrote:
>
>>> What grade would one get if in addition to the program that prints
>>> "hello, world", the student provided an installation program, an
>>> uninstallation program, and a set of bound documentation clearly
>>> describing the use of both the "hello, world" program and the
>>> installer/uninstaller?
>>
>> The grade should be D- (and for very good reason).
>
>>
>> Mr Clarke, you seem to think that you have sole charge of the client's
>> cheque book.
>>
>> The creation of software takes time, effort, and money. The money has to
>> come from somewhere, and (from the software developer's perspective at
>> least) it comes from the client. And I realise it's a tricky concept,
>> but it's true: He who pays the piper calls the tune.
>>
>> If the client wants an installer/uninstaller, he'll ask for it. Since he
>> didn't ask for it, he sure as hell isn't liable to pay for it.
>
> Such things ought to be assumed to be part of any application anyway.

I fundamentally disagree with this. It ought to be assumed to be part of 
/some/ applications, but not of /any/ applications.

> Otherwise the client might now pay anything if they can't figure out how
> to get it and use it.

Okay, let's take a case in point, shall we? You have been hired by an 
airline to write a program to analyse flight segment data supplied by 
various ticketing agencies around the world. The problem: lots of people 
fly from A to B, and lots of people fly from B to C, and lots of people 
fly from C to D. If routes A-B, B-C, and C-D were scrapped and replaced 
with direct flights from A-D, would that increase revenue, or decrease 
it? The answer is that it depends whether B and C are genuine 
destinations or whether they are just irritating "bus stops" where 
nobody gets off or on the aircraft.

(You might think the ticketing agency already supplies complete journey 
information, but you'd be wrong. Or you might think that the airline 
already has a program to do this analysis, in which case you'd be right 
in at least one case!)

The customer (the airline) requires you to provide the program in ISO C. 
It will be tested by another contractor over whom you have no control 
(and whom you might never meet).

You write the program. You also write an installer and an uninstaller. 
The installer adds shortcuts and a tray icon; it sets up file 
associations in the registry; and it adjusts the PATH environment 
variable, also in the registry. Fantastic!

You hand it in to the client, along with your itemised bill. Program: 
$X. Installer: $Y. Tax: $Tx + Ty. Total: $(X+Y+Tx+Ty). The client FTPs 
the ISO C code to the test engineer, who tests it on his Unix system. 
Once the test engineer has pronounced that he is satisfied with the 
basic functionality of the code, it is sent over the wire to the IBM 
mainframe, where resident experts will write JCL to control the 
program's environment. The program will undergo further testing on the 
mainframe, and then (all being well) it will be signed off and will go 
into the production environment.

It comes to sign-off time. The program works well, so that's fine. You 
did a good job there. But then the client (who hasn't signed yet) 
notices that you've written a completely pointless installer for 
Windows, an OS on which the program will never be installed. He gives it 
back to you, and adjusts the bill to $X + $Xt before signing it off.

All that work on the installer, and for nothing. Pointless and stupid.

> Taken even the trivial program you mentioned in your OP. How is it going
> to be distributed to the client: as sources, or as a pre-built binary?

It's a hello world program. Why would it need to be distributed? The 
whole point of hello world programs is that you write them /yourself/ 
and get them running /yourself/!

> What platform does the client have?

GOOD question! The spec will tell you that, if you can be bothered to 
read it. Let's say it's MVS (or OS/390 or whatever they call it 
nowadays). Are you going to write an installer for that? Or VM/CMS? Or 
Beos? Or OS/2?

> It might have to run on multiple
> hardware. What pre-installed software is assumed?

The client can very often answer all these questions, because the client 
is very often the IT department of a large corporation. They didn't hire 
you because they can't write the code themselves. They hired you to 
speed things up a bit by providing extra resource. In any case, the spec 
will answer these questions for you. If it's your job to write the spec, 
and assuming that you don't already know the answer, it becomes your job 
to find out from the client the answers to these questions.

> And how exactly is it going to get from the developer's machine to the
> client's? Flying an installation and briefing team to the client's site
> might be an unreasonable expense if not authorised, but /something/ is
> needed as the client may not have anyone with the technical expertise to
> deal with such issues.

No, something /might/ be needed because the client /may/ not have anyone 
with the technical expertise. The point is that you don't /assume/ it. 
You /find out/.

In other words, if the program spec doesn't call for an installer, it's 
reasonable to ask whether one is required. But it is /not/ reasonable to 
/assume/ that one is required. That's just sloppy thinking.

-- 
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

Back to comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

To hell with the program spec - I know what's best Richard Heathfield <rjh@cpax.org.uk> - 2016-07-26 07:24 +0100
  Re: To hell with the program spec - I know what's best Richard Heathfield <rjh@cpax.org.uk> - 2016-07-26 13:42 +0100
    Re: To hell with the program spec - I know what's best Ike Naar <ike@iceland.freeshell.org> - 2016-07-26 13:23 +0000
      Re: To hell with the program spec - I know what's best Richard Heathfield <rjh@cpax.org.uk> - 2016-07-26 14:51 +0100
        Re: To hell with the program spec - I know what's best "J. Clarke" <j.clarke.873638@gmail.com> - 2016-07-26 22:29 -0400
    Re: To hell with the program spec - I know what's best David Brown <david.brown@hesbynett.no> - 2016-07-26 16:53 +0200
  Re: To hell with the program spec - I know what's best Julio Di Egidio <julio@diegidio.name> - 2016-07-26 06:29 -0700
  Re: To hell with the program spec - I know what's best David Brown <david.brown@hesbynett.no> - 2016-07-26 15:41 +0200
    Re: To hell with the program spec - I know what's best Julio Di Egidio <julio@diegidio.name> - 2016-07-26 10:08 -0700
  Re: To hell with the program spec - I know what's best "Ant" <not@home.today> - 2016-07-26 19:50 +0100
    Re: To hell with the program spec - I know what's best "Osmium" <r124c4u102@comcast.net> - 2016-07-26 14:32 -0500
  Re: To hell with the program spec - I know what's best "J. Clarke" <j.clarke.873638@gmail.com> - 2016-07-26 22:26 -0400
    Re: To hell with the program spec - I know what's best Kaz Kylheku <349-534-5780@kylheku.com> - 2016-07-27 03:57 +0000
      Re: To hell with the program spec - I know what's best Richard Heathfield <rjh@cpax.org.uk> - 2016-07-27 08:21 +0100
        Re: To hell with the program spec - I know what's best "J. Clarke" <j.clarke.873638@gmail.com> - 2016-07-28 06:43 -0400
          Re: To hell with the program spec - I know what's best Richard Heathfield <rjh@cpax.org.uk> - 2016-07-28 12:12 +0100
      Re: To hell with the program spec - I know what's best "J. Clarke" <j.clarke.873638@gmail.com> - 2016-07-28 06:40 -0400
    Re: To hell with the program spec - I know what's best Richard Heathfield <rjh@cpax.org.uk> - 2016-07-27 08:10 +0100
      Re: To hell with the program spec - I know what's best BartC <bc@freeuk.com> - 2016-07-27 11:04 +0100
        Re: To hell with the program spec - I know what's best Richard Heathfield <rjh@cpax.org.uk> - 2016-07-27 14:05 +0100
          Re: To hell with the program spec - I know what's best BartC <bc@freeuk.com> - 2016-07-27 18:21 +0100
            Re: To hell with the program spec - I know what's best Richard Heathfield <rjh@cpax.org.uk> - 2016-07-27 18:56 +0100
          Re: To hell with the program spec - I know what's best "J. Clarke" <j.clarke.873638@gmail.com> - 2016-07-28 06:51 -0400
            Re: To hell with the program spec - I know what's best Richard Heathfield <rjh@cpax.org.uk> - 2016-07-28 12:26 +0100
        Re: To hell with the program spec - I know what's best Wally W. <ww84wa@aim.com> - 2016-07-27 19:51 -0400
          Re: To hell with the program spec - I know what's best "Osmium" <r124c4u102@comcast.net> - 2016-07-27 22:37 -0500
            Re: To hell with the program spec - I know what's best Richard Heathfield <rjh@cpax.org.uk> - 2016-07-28 07:28 +0100
              Re: To hell with the program spec - I know what's best "J. Clarke" <j.clarke.873638@gmail.com> - 2016-07-28 06:54 -0400
            Re: To hell with the program spec - I know what's best "J. Clarke" <j.clarke.873638@gmail.com> - 2016-07-28 06:53 -0400
              Re: To hell with the program spec - I know what's best Wally W. <ww84wa@aim.com> - 2016-07-28 08:38 -0400
      Re: To hell with the program spec - I know what's best Öö Tiib <ootiib@hot.ee> - 2016-07-27 05:52 -0700
      Re: To hell with the program spec - I know what's best "J. Clarke" <j.clarke.873638@gmail.com> - 2016-07-28 06:48 -0400
        Re: To hell with the program spec - I know what's best Richard Heathfield <rjh@cpax.org.uk> - 2016-07-28 12:21 +0100
          Re: To hell with the program spec - I know what's best Wally W. <ww84wa@aim.com> - 2016-07-28 08:47 -0400
            Re: To hell with the program spec - I know what's best Randy Howard <rhoward.mx@EverybodyUsesIt.com> - 2016-07-28 16:13 -0500
              Re: To hell with the program spec - I know what's best Richard Heathfield <rjh@cpax.org.uk> - 2016-07-28 22:38 +0100

csiph-web