in

blog.dashpoint.com

Blog home for Rod Paddock and Dash Point Software, Inc.

Rod Paddock

October 2007 - Posts

  • AltNetConf Day2 - Agile and MVC Goodness

    Day 2 went great. The group gathered for some opening remarks and immediately went into sessions.

    I was a participant in a discussion group where we discussed:

    Introducing Agile/Alt.Net into the work place

    Passion for Agile/Alt.Net

    Pragmatic a Agile/Alt.Net

    Being a catalyst for Agile/Alt.Net

    The room was fairly full and some great conversations took place. Here are some of the ideas thrown out and recorded in my trusty Mead notebook:

    JP Boodhoo http://www.jpboodhoo.com/blog/ started with “Passion does not necessarily incite action.” We discussed the concept that just because you are passionate you still need to take action. Passion for passions sake doesn’t do anything.

    One mechanism for facilitating agile adoption is to arrive with a solution in hand. Scott Bellware is famous for saying you won’t understand until you do it.   There is some truth to this. Agile is difficult to explain. It’s easier to see a readily provided solution.

    Another idea is to do a month of iterations and use this as a basis for examining agile success.

    Some stuff to look at:

    The Agile Contract

    The Pragmatic Programmer

    21 Laws of Leadership

    Success is always easy to sell twice.

    You may need to introduce agile at a ground level. Start with one developer.  Teach them. Have them teach too.

    Try lunch and learns.

    More stuff to look into

    Resharper

    Continuious Integration

    Cruise Control

    Maybe you just need to do agile on a project and show the results after the fact. Returns to the statement: “success is easy to sell twice”.

    That was just my notes from session 1.

    Now on to Behavior Driven Development

    This intent of this session IMO was to discuss what BDD is and how to use it in your development process.  I am not convinced that this session was successful as it seemed to degrade immediately.

    The meeting was started off with three moderators discussing their POV of POV. It was never made clear what the hell BDD really is.  The presenters should have started off defining what BDD is. Each person pretty much immediately jumped in discussing their favorite tools for doing BDD

    In any case this session did provide me with some ideas.

    BDD to me looks like a way to gather requirements (stories) in a standardized way then being able to take those requirements and generate programming and acceptance tests.

    Scott Bellware shows a tool called Rspec that takes requirements from Ruby code (I believe) and puts them into a friendly/easy to read web interface. The thing that struck me as cool was the way in which requirements were spelled out. Stuff like:

    Registrants will receive an e-mail

    When signing up the registrant will be required to provide an e-mail address.

    The thing that I liked was the way they documented requirements. The language used was very cool.

    Another moderator showed his tool for recording stories. This persons’ tool showed a nice structure for recording requirements (stories) in a structured way. You can then generate testing artifacts from there system.

    I am not sure if this was the theme or intent. But I did come up with a concept that I would love to explore.

    How do we gather requirements in a more formalized and standard way? Language is important. 

    MVC and DLR (Dynamic Language Runtime) Goodness

    The next sessions that I attended were the MVC and DLR Goodness sessions.

    ScottGu gave a kick ass session showing the new MVC framework. I am not going to write about what we saw as numerous other bloggers have done so.  Let’s just say this is a cool framework and I cannot wait to play with it in a couple of weeks.

     

    After ScottGu was done Scott Hanselman gave a good session on how DLR’s will be implemented in the new MVC framework. I have never written a line of Python or Ruby so this was an interesting session from that angle.

    One thing I liked was that he showed the concepts surrounding creating your own Viewer in the new MVC framework. I can definitely see using the MVC framework when we implement WPF in our shop.

    I am VERY impressed with what the Scott’s. Contrary to other opinions Microsoft seems to get this area and is taking ACTION. (See theme above <G>)

    One side note: When ScottGu  gets Ray Ozzies job. Scott Bellware will go work at Microsoft for ScottGu.  I was there when it was said. I have witnesses <G>

     

     

    Posted Oct 07 2007, 01:03 PM by admin with no comments
    Filed under:
  • AltNetConf Day 1 - Fishbowls Rock!

    OK so I am a newbie to Agile practices and this “conference” is a great place to become immersed in all that is Agile.

    Last night was very interesting. Over 100 people gathered in one room to create this conference. The meeting started a definition of alt.net and Open Spaces.  The definition of Open Spaces is:

    Whoever shows up is the right group. Whatever happens is the only thing that could have. Whenever it starts is the right time. When it's over, it's over.

    A definition of bumblebees vs. butterflies was discussed. Are you a bumblebee or a butterfly?  Bumblebees go from one room to another landing and pollinating. Butterflies find a warm spot in the sun and take in their surroundings.  You can also take on different roles because of the rule of two feet:

    If you feel you aren’t learning or contributing you are encouraged to use the rule of two feet. Get up and move to another place.

    So after a briefing on the “rules” 100+ people introduced themselves. Lots of people from lots of places with very diverse goals for this gathering.  Scott Hanselman  http://www.hanselman.com/blog/ had one of the best intros:

    Hi, I’m Scott Hanselman I hope to bring my entire 3 weeks of experience at MSFT to this meeting. My goal is to find out what we do so bad that it started a movement. 

    Scott and Scott (Guthrie that is: http://weblogs.asp.net/scottgu/) are here to join the conversation. This is a great thing. Of all the people I know from MSFT that listen these two dudes do.

    After the intros we learned about the concept of a fishbowl meeting. I tell you what this was one of the coolest concepts I have participated in. Basically 5 or 6 chairs are put in front of the room. One chair is left empty the others are filled with members of the meeting. The topic that started it all was what does alt.net mean to you. And then it begins. The people in the chairs begin the discussing putting for the there points. When someone wants to contribute they take the empty chair, the person that has been in a chair longest gets up. The discussion continues. There is a constant rotation of people sitting, giving a POV or comment, and getting up. I don’t know if I did this justice but a lot of cool ideas were discussed and it was rather fun.

    After the completion of the fishbowl the agenda was set.  While the fishbowl was going on people were able to take 6*9 post it pads and write down an ideas for things they would like to see or discuss. Immediately after the fishbowl people with session ideas stood up and presented their idea and put that idea on grid with rooms and time slots. I think there were over 50 post its on the board. Not too bad for 100 people.  

    After the agenda was put on the board people “voted” for the sessions they wanted to see by  putting their initials on the post it note. During the “voting process” endless hours of conversations happened. I was definitely a bumblebee. I flew from one small gathering to the next. From looking at a new MVC model being shown by ScottGu , discussions of UI testing with Jeremy Miller,  meeting the new editor of MSDN Magazine and countless others. This meeting is off to a great start.

    The one thing that drew me to this conference was the people. This is a real community of greate people sharing great ideas. This was not a fabricated community but one that formed like all great communities do: IT JUST HAPPENED.

    Now it’s off to Day 2

     

     

    Posted Oct 06 2007, 01:04 PM by admin with no comments
    Filed under:
  • My First TDD Dividend(s)

    It’s now 6:30am here in Austin, TX and my first forays into TDD have paid their first real dividends.

    Roy Osherove (http://weblogs.asp.net/rosherove/) and I spent a couple of hours yesterday going over my system framework/architecture, installing nUnit and Test Driven.NET. We wrote one very simple contrived test and then left for BBQ with our bud Scott Bellware.

    So it’s 4:00 am and I cannot sleep so I get up, do some client work and then return to so some tests on my own.  So I refactored my customer business object. I added a rule to check that the last name is filled in.  Then I wrote another test. The goal of this test was to make sure my validation engine worked and returned the proper error conditions.

    So I ran the test and it failed. I’m like what? This should have worked. Why didn’t my rule(s) fire? So I looked into the framework code and low and behold. Looks like I never finished wiring in our new validation rules engine. 

    BINGO: Dividend 1 paid. We now need to finish wiring in the new validation engine.

    So now I returned to making the test pass. I had a hook point where I could wire in manual calls to the validation engine. So I did that and restarted the test.  Boom another failure. Now what happened? We have a set of code the integrity of the data being returned. Well when we have a data validation error we don’t return that data.  Nice thing is that this section of the application is created via code-gen. I simply changed the script to test for the error condition. Now our test passed.

    BINGO: Dividend 2 paid. We needed to fix some of our codegen templates.

    So with just a few simple tests I found two very significant bugs in our framework. It’s nice to see that this stuff pays off so quickly.

    The nice thing is that now I am confident that this stuff pays great dividends (and very quickly I might add). Also it’s great to see that it CAN be implemented against our framework.  

     

  • In Austin, TX for Alt.Net Conference

    I flew in yesterday from Seattle to attend the Alt.Net conference (http://www.altnetconf.com)  I am here early because I am working with Roy Osherove (http://weblogs.asp.net/rosherove/) to see how we can implement more Agile practices in our framework/architecture.

    Our framework/architecture is rather non-standard and breaks lots of “rules”

    1.       We do all our database access via stored procedures

    2.       We pass datasets over the wire to our service layers.

    3.       These datasets are un-typed datasets.

    4.       We use a combined data access and business rules class.

    Our framework/architecture has a lot of cool features though:

    1.       Works well with windows and web applications using an MVC style controller.

    2.       Is very scalable (we have some sites with a million+ users)

    3.       Does a lot of legwork with templates and code generation.

    4.       Is fairly easy to use and grok.

    5.       It has room for growth and improvement.

    My goals for this weekend:

    1.       Figure out how to implement  TDD using our architecture

    2.       Gather ideas on how we could move our framework forward

    3.       To hang out with the cool kidz coming to AltNetConf

    4.       To learn how other Agile techniques might work in our development environments.

    5.       To have fun!

    So I am here and if you want get in touch for dinner, Guinness, BBQ or just to hang…. Give me a ring 253 906 2342

     

  • .NET Framework Code To Be Released

    We will finally have access to the .NET Framework source code...

    http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx
     

    It will be great to use something other than Reflector to see what the heck is going on in there.

     

More Posts
Powered by Community Server (Commercial Edition), by Telligent Systems