Home MVC Storefront

MVC Storefront: Client Progress Meeting

I keep talking about my client and people keep asking me "dude who's your client - you're just making this up!" - and that's not true. I do indeed have a client - in fact I have 3 of them. You, me, and my masters back at The Ranch.

Progress Checkin
I've had more than a few comments on my blog about my "fictional client". Dietrich let me have it with this:

...But so far you seem to be making the classic developer’s mistake: you’re writing code without figuring out what the client wants. Or if we’re to assume you do know what the client wants I’m hearing this:

“You never know what I might do, so create a lot of data abstraction with cutting edge technology that’s unproven and really slick.” Unless your client is MS I guarantee they didn’t say that.

I took exception to the "classic" element of my mistakes, but his point was nonetheless made - I'm not saying enough about what's driving this whole thing, nor who.

It All Started At MIX 08
I had the extremely good fortune to hang out with Shawn Burke (my boss), Brad Abrams, and Shanku Niyogi (the big guys on the ASP.NET team) while at MIX, and we talked about creating a nice demo app that was not only a great sample, but also extremely usable.

I told them of my experience with the Commerce Starter Kit and what I'd learned from the community RE eCommerce, and how I thought I could leverage that into something really groovy for MVC. We talked about that, and also about some of the technologies we needed to use - including having a nice dose of TDD to go along with MVC's testability.

It was a great conversation, and with each idea the enthusiasm for the project grew. At one point I remember saying "we should document each step of the process with a webcast" and all eyes slowly turned towards me...

That was in March, it's now May and it's time for another checkin. We've had several internally so far, but I haven't pulled all the clients into one "room" to go over just where we're at here.

Who This Is For
There are three parties involved in this... party. They are:

  1. Them What's Know As The ASP.NET Team. I need to make sure that what I do is reasonable, and what I talk about isn't pure fiction. In addition my responsibility is to make sure I demonstrate the things that ASP.NET MVC is doing currently as we drive it to release.
  2. You, the community. Hopefully you've seen this already as I shift and tweak according to emails and comments. This can be very difficult as I get a lot of quotes thrown at me:

    "You're doing it all wrong. Pattern X clearly states that you must do thing 1 in this way, and thing 2 in that way. See AuthorY for more information"

    These pointers are great, but usually textbook quotes don't go too far in addressing an actual concern with a proposed solution. I don't necessarily see lack of compliance with a given theory as a bug or flaw - but I do appreciate that these theories are borne from others facing the same problems I'm facing.

    All of this is to say that you, the community, are my client as well. But you're my client in a United Nations sort of way :).
  3. Me. I've mentioned this before as well - I built the CSK and have more than 2 years of solid experience in the basics of online stores. It doesn't mean I know everything... just close to everything :p.

You might be wondering which one is the most important, and that's a difficult one to answer. I'll say this much - no one is the most important, but there are days where I must make sure that each client is taken care of. The way to think of it is:

  • Client 1 holds the purse strings. Some might say the discussion stops here - but that's not totally true :).
  • Client 2 holds the final approval. Nothing matters if you guys think this thing is garbage :).
  • Client 3 is the daily driver - the one who is constantly looking over the shoulder to make sure things keep moving.

Meeting With Client 1
I had a checkin today RE scheduling, and I have another on Friday with respect to architecture and approach. Most of the team know what I'm up to since I bug them a lot, but there's no replacing a stakeholder checkin.

One of the things we discussed today was timing. I'm supposed to be at a certain point in a few days and ... well... I found myself a little bit behind. I've spent a little too long on some aspects here - including the last week of architectural weirdness of late. So if you think I'm being casual about my schedule - think again :).

Doubling Of Efforts
The meeting was pretty smooth and Shawn and I had a great conversation. It was a lot better than the one I had rolling in my head:

Me: Shawn! This is an unexpected pleasure. I am honored by your presence...
Shawn: You may dispense with the pleasantries, Rob. I'm here to put you back on schedule.
Me: I assure you, Shawn... I'm working as fast as I can.
Shawn: Perhaps I can find new ways to motivate you... this application needs to be ready for ScottGu's review
Me: ScottGu's coming here?
Shawn: That is correct, Rob. And, he is most displeased with your apparent lack of progress.
Me: I shall double my efforts!
Shawn: I hope so, Rob, for your sake. ScottGu is not as forgiving as I am....

Darth Vader jokes aside - it was a great meeting and while you might think Shawn sharpened his claws and made nice red stripes down my back - nothing could be farther from the truth. We talked about the schedule we laid out in the beginning, and brainstormed on ways we could get back on track.

I have lots of ideas, but I want to assure you that I won't compromise the quality of the webcasts - but one of the ideas I had was to make them less detailed, and perhaps skip over some of the more-involved TDD aspects. I have lots of ideas on how to do this - but for now know that I'm picking up the pace :).

And no, I won't make a Gantt Chart :). I refuse! I need to stop writing and get back to work - and no that doesn't mean go surfing!

justkidding avatar
justkidding says:
Wednesday, May 21, 2008

Where's the code?!? How are peope supposed to leave comments picking apart how you used such-and-such pattern wrong or how such-and-such code isn't "really TDD" if you don't have any code?!?!?

Common... SOMEBODY please tell him how so-and-so's book CLEARLY defines "client" in a different way and therefore his use of the word is somehow incorrect. It just wouldn't be the same blog without it.


John McAlrooney avatar
John McAlrooney says:
Wednesday, May 21, 2008

Where the HELL is the SubSonic release?


Aaron Gorsky avatar
Aaron Gorsky says:
Wednesday, May 21, 2008

justkidding is absolutely right! I read the post this morning expecting to get my daily dose of code bashing and I came away with NADA. It is like I didn't get my morning cup of coffee.

Since you didn't offer anyone a fair chance to show their mastery of the .NET language through quotes & references I would like to start this day off by correcting your grammar.

You stated "Them What's Know As The ASP.NET Team". However, if you refer to Merriam Webster you will clearly see that you used the improper form of Know and the sentence was not valid. You should have stated "They are known as the ASP.NET team".

Since you are having problems with this language you might want to consider Japanese or Spanish as these languages do not have these kinds of issues! ;)

Keep up the good work!

Aaron


Lance Fisher avatar
Lance Fisher says:
Thursday, May 22, 2008

I just caught up on the series today. I was on part 5, so I have a lot to digest, but this is really good. These are some of the best coding webcasts I've seen, and they've helped me a ton. I'm disappointed that the LazyList<T> didn't work out. It feels like there should be a way, like overriding Count or somthing...

Keep up the good work. I'm looking forward to seeing more. I just can't fall behind again.


Elni avatar
Elni says:
Friday, May 23, 2008

This MVC demo is a good thing. It just feels like SubSonic is getting left behind.

Although MVC is the greatest thing since sliced bread, Microsoft Inc. is now your official master, it would be great to see some progress with v3, LINQ to SubSonic and the lot.


Hoang avatar
Hoang says:
Sunday, May 25, 2008

Rob, you've been doing great. Just don't overwork yourself :)



Search Me
Index Of MVC Screencasts

You can watch all of the MVC Screencasts up at ASP.NET, and even leave comments if you like.

Subscribe

Popular Posts
 
My Tweets
  • Isn't the Rails/Asshole thing dead? http://tinyurl.com/57dmvx
  • Pushups last night: 17, 13, 9, 7, 3
  • @kevindente my wife (and me) consider the Roomba to be on par with Tivo in terms of generation-defining technology
  • @kevindente I'll hold you and we can cry together. Maybe you can ... even ... blog about it.
  • Writing tests for InventoryService - talk about a slipper-slope process! Is there such a thing as Cart Concurrency? I dunno! Maybe?
  About Me



Hi! My name is Rob Conery and I work at Microsoft on the ASP.NET team. I am the Creator of SubSonic and was the Chief Architect of the Commerce Starter Kit (a free, Open Source eCommerce platform for .NET)

I live in Kauai, HI with my family, and when my clients aren't looking, I sometimes write things on my blog (giving away secrets of incalculable value).