"again and one more time" ~favorite phrase of the French guy :)
Yesterday's assignment threw a big spike in the data. Some classmates tried to make their programs very robust and went way over scope. Some students are not yet finished, some of them are 4-600+ lines. I spent less than an hour on it, wrote about 50 lines of code into my previous program. It's much easier to estimate time for a smaller amount of work.
The phrases I'm taking to heart are: "You are the master of your own requirements." and "Simplify the problem." Laziness is the mother of something, alright.
"hacking" in this class is defined as not following the following phase order: plan, design, code, compile, test. It's blasphemy to change your design on the fly (i.e. while coding) without logging that you needed to go back and change your design and plan. Most programmers do these all the time. Iterative development (multiple passes through all stages) is okay, but jumping around is discouraged.
Today's assignment is supposed to be very simple. It's a math program, high school level stuff... linear regression.
There are a lot of questions to which the answer is: We'll talk about that in the second half of the course (February).
New process for today is about using historical data for similar tasks to generate time estimates.
One of the examples given yesterday had to do with houses. House builders estimate the cost of a house based on the number of square feet (plus other stuff). Assume that house buyers are not usually familiar with the meaning of square feet; they cannot visualize it. So you use a chart that translates room descriptions: "2 large bedrooms, medium family room, big bathroom, etc." into square feet. It's a nice example. Of course, in my opinion, a house buyer does need to understand square feet, but that's beside the point.
A good point: Let the data tell you what to do. Start with something simple. If you see problems.. if the predictions are off, look at why. Add to the process as needed. This is correct process. People are so tempted to design and add to the process before gathering data, and fall into seeing what they are looking for rather than what is there.
There are a lot of questions to answer after this course.
"Essentially PSP doesn't require us to improve the accuracy of our estimates - the math does that for us?" asks Brian. He's right.
"Does it make sense to put an expiration date on data?" asks Eric.
Lots of linear regression stuff today. Fuzzy math.
Most of us are going to The Macaroni Grill at 7 tonight. Anyone want to join? :)