Quiet out there eh?

Story Text:
So, for those of you that are unfamiliar with the "quite thread", it's simply this: A thread to talk about whatever you're doing this weekend, or anything at all (within reason :)
The weekends are dull online sometimes, and I like to prattle on about rubbish on Saturday evenings.

Writing Software Specs

Im half way through reading a great series of articles on writing software specs as i've never written one for anyone else to read and understand. The main principle is, save time by designing your software on paper first!
It's actually very good, if a little old (makes no difference though).

Chickens!

My chickens are doing great! One of them is doing about 2 eggs a day now, but nothing from the others - we know why this is, we need to sort out their nesting boxes this weekend - they look like they've never been cleaned! So tommorow I'll be kneed deep in chickenshit and pine shavings scraping chicken poo out of boxes heh.. They're big now, i'll try and get some photos tomorrow.

Wild Cats

The wild cats, there are 3 of them, are all very friendly with me now, and we've decided there is NO WAY we can have them put down by the vet so we dont have a load more in spring, we'll be making a place for them in the barn and slowly trying to coax them into their winter "safe place" over the next few weeks - and sometime before spring i hope to have them tame enough to take them to the vets and get them all neutered. Sheesh, that's sooooo much better than our first plan :)

Robyn

Robyn is soooo almost walking now. You can see she wants to, and she "stands" unaided all the time - any day now i reckon. Shit, we thought it was tough when she learnt to crawl and all of a sudden she was mobile, now we have mobility and SPEED coming up - time to re-kiddy-proof the house i think.

Cold!

It's getting cold here in Denmark, we put the log fire on for the first time today but whatever, it's not as if we had much of a summer to mourn the loss of eh?

Tell us!

Come on then, what are you up to?

- Y! MyWeb

I made a start...

...clearing out the shed/garage. It's going to be demolished in - say - three weeks, so I'd better get it emptied before then. Of course my main problem is that I don't have any room to store the stuff and I just can't throw anything away.

Another thing is that I'm a "weak geek" and my new (UGLY!) pc was having a fit so I just had to fix things and re-install stuff (and play a couple of games to test it hehehe). So I only got around to clearing about 1 m2 of shed floor space. 23 more to go LOL.


Gooooooooooo IRISH!

watching the Notre Dame game... why do they have to get good the year AFTER I graduate? :-)


__

>One of them is doing about 2 eggs a day now

If you have one chuk laying two eggs a day, every day, I want her. I'll trade a loaded pickup for her. More likely, you have two hens. You have one that lays one egg two days in a row, then skips a day. And... you own two of those hens.

But one hen? Laying two eggs a day? I'll buy her.


Went to a wedding

This couple are into medieval shit. So, we got to the reception and in the one room they had Scott's armour (he paid a ton for and many trips to NY for fittings) and Tiffany's very expensive dress.

But here's the strange part. They delivered a mini catapult to each table and a bag of marshmallows. Scott had built each of these catapults in his shop. I've never seen anything like this. A massive food fight.

Of course my table was the most aggressive. When we came back after visiting the buffet, our catapult was tied up in ribbons so it couldn't be used and they took away our marshmallows.

Those bastards! But it was a great time and a very interesting wedding.


Try extreme programming Nick

Gotta break this post in two:

Nick, you should really get to know about Extreme programming. It's the method I prefer myself when it comes to spec'ing for others, and running large or complicated projects.

Here you don't write detailled specs like that - in stead you write "user stories" that focus on specific things the program must do, like, say:

1) "you should be able to write a long blurb of text"
2) "you should be able to add a headline"
3) "blurb and headline should be displayed at the bottom of the page"
4) "before final display you shold be able to preview and edit"

... and so on (here it's a comment field). You specifically don't use technical language, and you don't say "how", only "what". The programmers are the ones that know most about "how" so they get to decide that 100% as long as it does the "what".

If your programmers can work with this it gives both parties a whole lot of extra flexibility, and it's a really satisfying way to work, as you always deliver. Completed #1? That's a delivery, up the version number a tiny notch. Completed #2? Same.

And you don't have to complete them in numerical order, just pick any order as long as they're all completed. Then again, some programmers really don't like this way of working, as they prefer some manager to lay all their work out for them in painstaking detail. Those programmers are usually the same that will come to you after they've done their job (wrong) and say - "what you want wasn't in the specs, so of course I didn't do that".

Also, that means that this method is best when there's a whole lot of issues that are not really clear beforehand. If you know every single detail in advance, then you might as well do it the traditional way.

Anyway, if you're just learning to spec tasks and projects for others, that would be the most efficient method you can possibly learn, imho. But it does require programmers that understand this way of working. Some do, and some just don't get it at all.


second part

Nice one with the catapults rmccollum, I'd love to do that. It sounds like great fun, only I would run out of marshmallows quickly *LOL*

---

Today I've been trying to find a way to get my bookmarks out of Yahoo! MyWeb after recovering from a hard drive crash. Unsuccessfully. If anyone know please tell, otherwise I'll have to write a scraper for it.

Then I've played a little with the start.com "Gadgets" framework, just out of curiosity.

Also, I went for a walk down at the newly built beach yesterday with my digicam - it was a nice day and the walk ended up taking four hours and I shot 170 pics. Now I just don't know where to put them. Anybody know about somewhere you can put pics up, like flickr, but where you can sell (some of) them too?

Oh, the hard drive crash... that's why you didn't hear from me a whole week or so. It was an experience that you really don't want to repeat, and now I know why data recovery costs so much, as it's just not easy. I did it, though - helped by FreeSBIE, LAS Linux and Knoppix. The Win XP install disk wasn't of much use even with the weird DOS version it has. It took several days as I had to move data around between partitions formatting along the way as each partition became unstable, and everytime you were just about halv way through burning a DVD the disk crashed and you had to start over.

Yes, backups, I know. I had those but I had also been extremely busy lately, so the most recent one was a month old. Oh, and now I've got double as much storage as I had before, including a nice external LaCie Porsche 250 Gb external drive for daily backups.

And then I've cleaned one of my balconies for pidgeon manure, after the roof above it has been pidgeon-proofed last week, so for once I can sort of follow the chicken discussion *lol*


Gone Fishing

Gone Fishin… CJU (Commission Junction University) Santa Barbara. Seeing some old friends, hoping to 'hook' up with some new affiliates and looking to 'reel' in some new clients while I'm there. Santa Barbara is supposed to be beautiful this time of year, so I hope the fishing is good!
gone fishing

Hope to post some "big fish" stories when I get back -- or at least some wild stories about affiliate managers dancing on tables at the Long Board Saloon party. ;-)


Fun time

I have had a great time, alton towers then my friend petes stag party and got to spend time with my brother in the company of hundreds of goths in to the bargain. Today 10 mile bike journey with family. Great weekend :O)


Wireless

I spent the morning cleaning up the little back porch, which had accumulated a motley assortment of tools, garden chemicals and junk over the years. Cleared out the whole lot and bought a little 2.5 foot by 4 foot table and now I can sit out here and work on the wireless laptop. :)

Should be nice for mornings. Afternoons it will get to hot and sunny cos it's on the West side of the house.


DG, you're most likely

DG, you're most likely right. I don't collect the eggs, i just feed them and catch them when i have to (not very often these days..) - im afraid i'd tread on one if i went in "the dark bit" :)

Rochelle, the wedding sounds fab - medievil shit? Bring it on if there's food throwing involved heh!

Extreme Programming

Claus, that actually sounds very similar to what im doing - there's at least *some* crossover.

Im not writing, or spec'ing any code at all - i have characters, representing the 4 types of user, lots of humour, flow charts and other shite - here's how it's shaping up:

  1. Overview
  2. Short description
  3. User scenarios 1,2,3 and 4
  4. Flow chart of every concept that needs to be made real

When i've done with the flow charts (and i must say, i've NEVER done a flow in my life, but that's proving to be a wonderful way to spot all the bits i've missed in my rough notes - really helps you visualize what it is you need to do) i'll be moving onto a detailed spec of each page - what it needs to do, what error checks need to be performed etc - there will be another scenario to help the programmers visualize the functionality better on each one i think.

The idea is like you said, stories work better. The human mind has learnt to deal with life as stories, and stories help you visualize concepts.

I don't think i've enjoyed anything programmy so much ever - writing a good spec is like writing a great application, but without the boring bits :)


Oh, and the other thing i

Oh, and the other thing i think may work nicely is using a wiki to write the spec.

The spec needs to be "alive" - not glanced at then thrown away as the dev's do things "their way".

They can edit the spec themselves, adding technical notes and changing the impossible to the possible - AFTER discussing it, or at least getting go ahead from us. It *should* make it very smooth, and we'll always have an up to date spec of project.


This weekend I've mostly been ...

. Catching up on domestic stuff I didn't do last weekend due to too too much beer and cigarettes in Edinburgh

. Finally getting to grips with Linux - the web server sitting on the sofa has gathered a layer of dust, and it's time I pulled my finger out

. Ranting on WMW about CSS

. Watching the season finale of Lost - it just gets better and better

For speccing projects out before build, may I recommend O'Reilly's Information Architecture For The World Wide Web. Worth its weight in gold, and not just for web stuff.


More From The Weird Wedding

In their program they had the ring bearer listed as "Frodo Baggins."

And, on the back page at the bottom, "No llamas were harmed in this production."

Fun time. But on another note, Go Cincinnati Bengals! We're 2-0 for the first time(as far as I can remember) ever?


Just like being there *lol*

Sounds like you're starting to enjoy the things I do *lol* I'm just sorry that there are not more projects started, as I'd like to go there again soon with a kick-ass project of some kind.

It's just hard - last one I did took 10 months and others have worked on it for 7 more months now, because this was one of these cases where people just didn't get the Extreme philosophy, and execution.

But then it's going to get published soon and I'm very excited about that. It's a very public page, probably the most well-known one in Denmark so it's bound to spur some discussion, as with my work (and the great people I worked with, of course) it goes from "extremely dull" to "kick ass".

Only sad that I can't put an "Architect: Claus Schmidt" on it - you just don't do that, not even on buildings. And the great designers/programmers/coders/usability people/analysts etc. i worked with don't get their name on it either, so why should i?

writing a good spec is like writing a great application, but without the boring bits :)

Agree 100% - the design phase is always a great one. While making those blueprints you really start to get a sense of the whole building :) Then, as the programmers start doing their thing you see the structures rise from the earth, and finally as you add designers and frontend coders, it also starts to look like a real building - not 100% like you imagined, but usually better.

At least that's the three-step process that I always try to follow.

1) Blueprinting: Information Architecture and Application Design
2) Construction: Back-end Development and Interaction Design
3) Finish: Front-end Development and Graphical Design

Some clients get confused because Graphical Design and HTML is added last so there's "nothing to see" - they just see these really ugly "raw" pages that does nothing but work, for ages and ages... but then, when it all works as it should and design and HTML/CSS is added "overnight" they suddently think it's all magic. Wonderful.

The project I mentioned above had the steps wrong. Here we did architecture along side design/finish for a long time before even considering backend. You shouldn't do that as form must follow function - the looks of your page should be a mirror of what it does, so to speak. So, until you know 100% what it does, exactly -- and you just don't know exactly until backend is over -- then you can only work with rough wireframes, not polished design.

Anyway, I could probably write a book on that, and it doesn't matter all that much now, as I think we made it after all :-)


Oh, i have to add

I have to add this, Nick. You should stop somewhere. Don't go too much into the nitty-gritty.

detailed spec of each page - what it needs to do, what error checks need to be performed etc - there will be another scenario to help the programmers visualize the functionality better on each one i think.

You don't want to tell the chef at a restaurant how to prepare the food, now will you? You want to order exactly what you like and have it prepared for you and served on a plate. Of course you can ask for more of that or less of this, but the food should be prepared for you, not by you.

In the kitchen and by the chef, because he knows how to. And because if he needs to do it "your way" then it's not his world class food anymore.

Scenarios and personas are nice, but error checks and page-to-page interaction might just be too much. I do that stuff myself, but it's not part of the initial speccing round, it comes a bit later. And, actually if you work with very good programers, they will solve most of it as they see it, so they only need to ask you if there's something that can really be done in a lot of different ways so that it will affect the whole application.

Also:
You tried LEGO blocks when you was a kid? The sets come with a detailed instruction on how to build some item. You try that. Once, perhaps twice. Then you've done it, and: Then the fun begins, as you build what they didn't tell you.

Similarly, you should not put your programmers in a straight jacket. They need to do some of the fun stuff themselves. The more fun the task is to them, the better the result will be - and if they're any good they'll know all about error checks, confirmation pages, alerts, badly formatted data, security, redundancy, and so on and soforth. So, let them excel in what they do best.

They will actively come to you suggesting "why don't you do this like that" because they take pride in what they do, so leave some room for that. Pretend that you forgot it, or didn't know about it if you must (or better: Say, "I left this out because I wanted your opinion" - thats actually the best approach), just give them a good shot at proving they're world champions. And, if they don't see the holes you left deliberately, you will know where they are (as you put them there) so when you get around to it, you will just have to change plans a little (we all get wiser, don't we ;-).

They can edit the spec themselves, adding technical notes and changing the impossible to the possible

Now, *after* the terrific meal, you can ask the chef for the recipe, and s/he will tell you. If it's a really good restaurant s/he might not even know it all until the dish is finished. But be sure to bring a tape recorder as s/he will *not* write it down for you. Especially not while cooking. Cooking is what the chef does, making the recipe book is your task.

You can expect him to take notes along the process, though, but not a whole lot more than that. Perhaps he will even be convinced that he's writing a very detailled recipe when stating "cook 5 m med-hi w/slt. LOTS" ... I'm just saying don't expect great programmers to be great writers as well.

---

A bit of psychology often helps, but humor is a great tool as well. It's really not all about the technical bits, it's more about working with people.

---
(All this supposing that you really do get extremely good people working for you, otherwise most of this must be done a little bit differently. I hate to sound elitist, but these tips are for handling the ultimate top dev crews. A lot of it will be useful in "ordinary teams" as well, though.)


you see the structures rise from the earth,

I am telling your virtual structures are much more fun than real ones.

I am trying to get a reinforced steel slab cast this week - 25 cubic metre of concrete - and I have to admit that neither I nor the builder have any real idea if we are doing it correctly or not.

It hasn't been helped by the engineer specifying incorrect quantities of steel

You stick to programing!


Lego

Quote:
You tried LEGO blocks when you was a kid?

I still have my LEGO blocks from my childhood. My sons played with them, and now my two-year-old granddaughter enjoys them. She plays with the toddler-size blocks on her own, and with the small blocks under supervision. Said supervision is a nice excuse for me to play again too!