ASP.NET Starter Kits - mining for jewels
As I was ranting to Dave: "Somehow people are missing the Starter Kits and I'm not really sure why".
Here's some advice that I give people to get them looking at ASP.NET Starter Kits and how to reap some value out of them.
Imagine for a moment that you are a shopkeeper standing behind your counter and a customer comes in and asks "I'd like some food please.", to which you reply, "sure sir, I have all sorts of food. What do you feel like? Hot? Cold? Sweet? Savoury....?"
This goes on for 10-15 minutes and you've nearly narrowed this guy down (mind you the queue behind him has started to build up quite alarmingly!). From your probing you've ascertained that he would like: a small sweet item, with some variety in it and it cannot contain nuts but would preferably contain chocolate and, if possible caramel.
"Cool!", you say. That will be $1.40 thanks and you hand him a Mars Bar.
Now, that would obviously never happen because the customer can come in and basically pick and choose for themselves what they want, and luckily, Mars Bars are well known and built to the same "spec" so that wherever you are in the world, a Mars Bar will always be exactly that - a Mars Bar!
A problem exists within our game however that means that you cannot always compare apples with apples. Take reporting for example, there's really only 7 or 8 "popular" types of report, that is:
- Tabular Report
- Visual Report
- Cross Tab Report
- Master Details Report
- Simple Report
- Text Report
- Hierarchical Report
- Drill-Down Report
These report types are covered by the Reports StarterKit.
So, to parallel the example I used for the customer that wanted a Mars Bar... how many times have you sat down and tried to understand what a client wanted when they said:
"I want to see the quarterly sales figures by region."
You might have thought about it for a while and finally come back with a picture, powerpoint mock-up or Html mockup and said, does it look like this {insert picture or mock-up}. Inevitably the customer has explained that you clearly weren't listening, "Don't you understand!" they say, "I want to see the quarterly sales figures by region.".
This goes on for another 3 or 4 iterations, relations become strained, the project fails, your wife walks out on you, and your goldfish dies. YOU STUPID BASTARD! Why weren't you using the Starter Kits?
If you were using the starter kits however, it might go something like this:
Customer: "I want to see the quarterly sales figures by region."
You: { browses to reports selctor } http://www.asp.net/ReportsStarterKit/
You: Does it look like this? http://www.asp.net/ReportsStarterKit/SourceViewer/srcview.aspx?path=crosstab.src&file=crosstab&rows=5
Customer: Yes, it does :-)
[ realizing that you're on a roll, you click "run" and browse the live version of that report ]
You: Does it behave like this?
Customer: Yes, it does :-)
Using this approach the client selects the remaining 9 reports... and the final order looks like this:
1 Visual Report
2 Tabular Reports
1 Master Details Report
3 Simple Reports
2 Drill-Down Reports
You: Great, that'll be $2500 thanks. You'll have your reports by the end of the week :-)
Now, that's really cool and everything, but the story doesn't end there. What happens next is that you ship the order to your developers with a link to the "spec" for building the sprocs, middle-tier and UI layer (the plans) for each report - http://www.asp.net/ReportsStarterKit/SourceViewer/srcview.aspx?path=crosstab.src&file=crosstab&rows=5.
The developer delivers a consistent product on-time, your customer is happy, your wife tells you that she is pregnant with your second child, you win the lottery and your circle of friends increases.
That's the secret of the starter kits!