[Tutor] facing a new project

Scott Widney SWidney@ci.las-vegas.nv.us
Wed, 23 Jan 2002 18:56:14 -0800


<snipped description of the ideal scheduling application>

> ... The thing that seems most difficult is the 
> 'generating' schedules bit ...

No joke! For two years, I scheduled a 1500-seat call center where 85% of the
staff were allowed to dictate both the days, and the hours on those days,
that they were available to work. It was like assembling a puzzle without
any assurance that the pieces would fit together in the end.

> If I ever wished to seriously face a new project of this 
> sort, what is the best way to go about it ? First make a gross 
> design of the whole thing ( database schema, classes etc. ) 
> and then start tackling it, or start with small bits of code 
> like the truck drivers log book and then just try to extend
> it bit by bit ? Not that I'm yet really convinced I mean to 
> do this ...

Can I toss a third option in here? Of the scheduling programs that I have
seen, most generate a rough schedule, then provide the schedulers with a way
to rearrange things to fit their needs more accurately. It really is a
puzzle!

So the first step is figuring out /how/ our brains do this puzzle thing. I
mean, I successfully assembled the pieces each week for 104 weeks, and I
taught my replacements how to do the same thing. But I don't know if I could
represent the decisions I made in programming code. I never gave a thought
as to how I thought, so to speak.

I think what I'm trying to suggest is: you need to fully grasp your core
paradigm and be able to express it algorithmically, as a first step.
Comments anyone?

Scott