* Posts by Vincent Manis

55 publicly visible posts • joined 26 Jan 2008

Page:

US Social Security 'wasted $300 million on an IT BOONDOGGLE'

Vincent Manis

In my experience, government IT projects often don't come in on time/under budget, for several reasons. 1) Requirements creep, often triggered by political considerations (and often from the same sources as later outrage about increasing costs); 2) lack of coherent oversight by the client (instead of having a small review committee with both technical and other members, approvals are often distributed among a large, diffuse, and ever-changing group of individuals); 3) significant amounts of out-of-band communication between contractor and client, often necessitated by the first two factors, and resulting in a loss of institutional memory (`where did that requirement come from'); 4) poor life-cycle models, veering towards waterfalls, and away from iterative/agile practices (and I am not carrying the agile banner here, just pointing out that waterfall development often produces gargantuan monsters that don't satisfy client needs); 5) lack of end-user involvement (e.g., a senior program manager who thinks he can speak for clerical users of the system); 6) lack of clearly identifiable milestones that relate to the actual project (e.g., `the Frobozz infrastructure is complete', rather than `the system can correctly perform transactions X, Y, and Z'); 7) emphasis on delivering milestone products, rather than ensuring the products meet specified reliability and performance requirements; and 8) lack of proper audit procedures (e.g., looking at numbers of closed and unclosed bugs in the bug database). I could go on and on.

Of course, many private-sector projects go south in exactly the same ways. But government IT projects seem particularly susceptable to these dangers. As someone who has taught software engineering practices to industrial practitioners, it disturbs me greatly how easy it is for large organizations to ignore their own history, and make the same mistakes over and over again.

A Year of Code timeline: History of a HYPEGASM

Vincent Manis

`Coding' is such a generic thing, and never should have been identified as a goal. Certainly HTML coding is a good and useful skill (though, to be fair, it's easily automatable, as many web frameworks have shown), but it has little to do with writing programs that accomplish useful things, whether they be things of interest to the individual author, or things of interest to enterprises and the public at large.

The Raspberry Pi folks don't primarily want to have people coding. They wanted to build something that can be played with, that is as open as possible, to stimulate interest in computer science and engineering. Their metric, as can be seen from their website, is much less `how many people learned to program RPi' than `how many people have done fun/interesting/useful things with the platform'?

This distinction seems to be very difficult to get across to people. Thirty years ago, I was running workshops on teaching with LOGO. I gave it up after realizing that to most of the participants, the goal of LOGO was not to learn how to solve interesting problems, but to `trick' the turtle into drawing cute pictures.

I thought it interesting that the timeline presented in the article made no mention of people who were in the business of teaching computer science and engineering. If I were a non-technical politician wanting to set up something like this, I'd have gone out and formed an advisory council with (say) 5 people from academia and 5 from industry (at the CTO level) to chart out a workable strategy. If I were doing that in Britain, Eben Upton would have been one of the first I would have called. So I guess that's why I'm not in politics.

Apple routs rivals in sat survey

Vincent Manis

Macs are for creative folks

I'm always intrigued by the notion that somehow Macs are for creative people, but PCs are for serious people. Maybe that was true back in the days when desktop publishing was new, but nowadays, pretty much anything you can do on OS X can be done on Windows, and vice versa. Here's why I love my 3-year old MacBook Pro.

1. Magsafe power plug. Very little chance of destroying a computer, as I once did to a Dell Latitude laptop where the power cable ended up inextricably tied around my foot just I stood up abruptly. Those little tiny touches do make a difference.

2. It's real Unix, so I can run computer science-y software that was written for Unix.

3. It really is plug-and-go. I have a Dell laptop with Ubuntu on it, and while it's a nice system, I had to do a lot of work to get everything working properly on it.

4. My antivirus software for that machine consumes zero bytes, takes 0% of the cpu cycles, and cost me $0.

5. Apple includes their development software at no cost with every system.

6. Apple's development software does not suggest that I become super-user in order to compile, test, and debug software. Visual Studio did exactly that on Vista, maybe it won't on Windows 7.

Not one of these is something that Apple's competitors couldn't duplicate (they'd have to license the magsafe patents, I guess, but they could apply the same attention to detail about other aspects of how people actually use machines).

Windows systems fail on all six of these criteria. Unix/Linux systems pass on 2, 4, 5, and 6, but fail on 1 and 3. (Incidentally, I know my way around Unix, having started in 1975 on a Unix V7 system. Even so, when I want to send email, or write software, the last thing I want to be doing is to fiddle with system parameters to make everything work, and yes, I have had to do that with every system I have ever installed Linux on).

So my point is, Microsoft, the hardware vendors, and the Unix/Linux community COULD be competing with Apple. The criteria I listed here happen to be mine; other folks have their own, though `it just works' should be on everyone's. Where people miss the boat is to say `Oh, we aren't Apple, we do it our way'. Apple definitely has their failures, but their successes come from building things that satisfy needs (not just status) in people's lives. Other companies could do the same.

By the way, let me put in a plug for Mark Shuttleworth's goal of making Ubuntu compete with OS X. I don't know if they'll be successful, but they are definitely thinking the right way.

'Tofu' license pits open source against meat

Vincent Manis

@Sean Baggaley

1. The Open Source Definition is not the work of Richard Stallman or the FSF, who overall does not like the phrase.

2. The non-discrimination clauses I quoted come from the Open Source Definition, which is published by the Open Source Initiative.

3. When Microsoft developed licenses that they considered to be open-source (note lower case), they submitted them to the OSI for approval.

4. The Wikipedia article on open source cites a reference ([6]) from 1990 that shows the term to be used to signify `materials open to the public and freely available' [my wording] and opposed implicitly to `controlled'.

5. I hope Sean would not consider a library to be public if it refused admittance to meat eaters, vegetarians, or any other group.

For the record, I have been using open-source software since about 1970, back when user groups such as SHARE (IBM) and DECUS (DEC) used to distribute it. The GNU Manifesto clearly says that RMS wanted to re-create the environment he'd experienced at the MIT AI Lab, so he can hardly have claimed to invented the concept.

Vincent Manis
Thumb Down

Another article that misses the mark

Whatever this license might be, it most definitely isn't an open source license. The Open Source Definition has at least two clauses (no discrimination against persons or groups, and no discrimination against fields of endeavor) that are. at least according to the article, are violated. Similarly, the Four Freedoms include the right for anyone to run the software, again violated, according to the article, by this license.

I do wish the article's author had been a bit more careful about using the term `open source' for something that is nothing of the kind.

Page: