Freelance technology journalist Alex Cruickshank continues from here. "In keeping with last week's
theme of splitting the class into two parts, this week I continued with
'understanding' and 'programming' separately. But with a twist."
First I explained the basics of software development models. I touched on the development methods that I lampooned in a Friday Rant. I explained that agile development is currently flavour of the month and, in my opinion, the most sensible approach because it mirrors the way programmers have always worked.
Then I explained the concept of business requirements. Programmers and business managers tend to think in very different ways. They experience different commercial pressures on their time, have different career paths and backgrounds, and often have different personality types too. I tried to sum all this up into a sentence: "Programming is logical, but business often isn't."
It went over their heads. My error. What would these 8-10-year-old rural children know of business culture? Right, time to teach them.
"I want you to split into groups of four. One of you is going to be the business customer. Two of you will be programmers. The fourth person will be the analyst, who talks to the business customer and the programmers and helps them work together. I want the business customer to describe the software they want (like a simple game) and then I want the analyst to help the programmers create the game, and feed back to the customer with any problems. Off you go."
I gave them 15 minutes and walked around the class, helping out where necessary. At the end of the allotted time I asked for feedback in turn from the customers, the programmers and the analysts. I got some gems.
Source: IDG Connect