August 2006 - Posts - Starbucks .NET Developer
in

    Community Credit Forums

Starbucks .NET Developer

Coding tales from my 2nd home - Starbucks

August 2006 - Posts

  • Code Countdown was a great success!

    The CodeCountdown ended and let me tell you, it was exciting from the beginning to the end. I will try my best to cover all of the important aspects.

    The Background

    I wrote a brief description of the project and the concept in a previous blog.  To get the down low on what the idea behind the code countdown is read my previous blog

    The Team

    David Silverlight(Me) - Project Manager and Developer
    Shawn Weisfeld - Lead Developer
    Scott Klueppel - Developer
    Brady Merkel- Graphic Designer
    Vinay Ahuja - Developer
    Dennis Bottjer - Developer

    The Environment - a.k.a. The Fishbowl

    The development environment was in a big room with glass wall and was very much like a fishbowl.  Shawn decided to hang a "Don't feed the programmers" sign on the window.   People would come by and check out what we were working on, which was displayed on the wall in front of us.  It would alternate between machines a bit so people could see not only what we were building, but how we were building the application.  One developer came in and actually hung out the whole time just about just to kind of check out the team in action.  At one point in the day the room was quite full and it was actually a pretty fun environment.  We spent a good part of the afternoon watching various " youtube" videos, which closely resembles my actual work environment. 

    What did we start with?

    Although we did not have any code or really anything to start with at the beginning of the day, there were two things that we agreed upon prior to the beginning of the Code Countdown.  We all agreed on a programming methodology and a language.  Prior to the event, we agreed to build the application using C#, pure asp.net and Enterprise Blocks.  We had discussed a number of other approaches such as DNN, Code Smith, one of the Starter Kit, Sharepoint, etc.  In the end, we decided that if we use a tool like DNN, it would be more of a testimonial to what DNN could do rather than what asp.net could do.  Who really knows what the best choice was, and many folks commented afterwards that we should have used "insert favorite tool here", but that was our decision and we are sticking to it.

     Let me give you the play by play:

    Timeline:

    8:00 AM - I made an announcement at the keynote of what we were about to undertake.   I did a quick review of what we were about to build to the audience and were we would be building it.  I introduced the team and mentioned my backup plan in the event that the whole project was a failure. That's right, dark sunglasses and a fake mustache (which I still have).  Now for the big question.... would we be showing off our app at the end of the day, or would I return at the end hiding behind my disguise?

    8:30 AM - We were setting up our environments.  Shawn, the lead developer, had the tremendous forethought to bring a router so that we could connect to his machine for sharing files and accessing his SQL 2K5.  Things went pretty smoothly and the database was no problem at all, but we had a few snags in the file sharing.  In the end, we got things worked out in about a half hour.

    10:30 AM - By this time we managed to reach our first milestone, which was to have a very ugly but integrated framework, one of the admin data entry screens done, the membership section finished and all of the database objects created.  We did not finish it exactly at 10:30, but we got enough done to give us a huge confidence boost on whether we could complete the project by deadline.

    1:00 PM - By this time, we finished most of the admin screens.  We also finished what we called our "RTB" form, which was a form that replaced all of their static forms with ones that were database driven.  The term "RTB Form" stemmed from the admin screen used to enter this data which consisted of simply a Rich Text Box and a form text identifier.  This RTB form would allow us to knock off about 6 screens from the app.  They were originally 6 static forms, but became one dynamic form with a different screen type.

    2:00 PM - We were "cooking with oil" as they say.  We had about 90% of the app done and all of a sudden we just hit a wall.  For some reason, we all just got really tired.  You could just feel it.  Maybe it was a lunch coma or maybe just coding in high concentration.  Who knows?  We only had a little bit to do.  We had to knock off the Paypal screens which Scott took the reigns on. We also ran into a slight snag with Membership.  For some reason, the menu should show certain options for admins and it wasn't behaving as expected.  As it turned out, somebody in the audience who was watching us develop joined in and threw out some suggestions and helped us to nail it.  Audience participation really helped us at this point.  That was pretty cool, IMHO.

    3:00 PM - At this point, we finished all of the major areas of the application.  We spent the next hour cleaning it up.  It worked, but let's just say that it didn't look so pretty. Big Smile We did quite a bit of cleanup and implementation of Brady's design and minor bug fixes, testing and making sure that everything worked properly.

    4:30 PM - We started closing up shop.  We were done! We were also very proud of ourselves at the same time. This gave us about an hour or so to chill our and get ready for the closing at which we demoed the app.  The good news is that I didn't have to wear the fake mustache and sunglasses after all.

    How did we pull it off?

    I think that one thing that had the biggest impact was that the team ended up working really well together.   There were virtually no disputes and each team member was able to just take a portion of the app and run with it.  This was key because there was virtually no time factored in for having to get somebody up to speed or to solve arguments on the best approach to coding.  The team just worked!  It was really a beautiful thing and enforces something that I have believed for many years.  A small team of experienced developers can get amazing things done.  Often times the work of much larger, but less cohesive teams.  We were able to minimize hardware and software issues by working on our own development machines.  Those types of issues can eat up a half day.   In short, it could not have gone better.

    Coding in a day - Nice programming model

    It is actualy amazing what you can accomplish when you "have to" finish a task by a hard deadline.  It completely cuts down on feature creep, that's for sure.  Having everybody in the same room, right next to each other makes for really great communication.    This might be a good idea for future projects.

    The Finished Project

    Remember, this was not a test demo app.  It is a real live app that will be published next week.  I will soon be blogging about where you can see the application that we built and download all of the source code so that you can see exactly what techniques we used.   The event was recorded as well, so you will also get to check out the video of it and see the team in action.

     

    Share this post: Email it! | bookmark it! | digg it! | reddit!
  • Let the Code Countdown begin....

    I have spoken at a number of CodeCamps over the last few years, but this upcoming Jacksonville CodeCamp is doing something very new and very exciting.  In fact, a new challenge that I am heading up is known as the "Code Countdown".  Since it is a brand new concept, let me explain it a bit to you.  In short, we are attempting to do the impossible.  That is right, we are building a complete website for a Not For Profit organization in one day.  This is not a test or example website, or one that might be just functional enough to demo.  It is going to be a real, live, fully functional website that will be used by the organization following codecamp. The coding starts at the beginning of CodeCamp and at the closing ceremony I will be presenting our finished work.  The whole event will be documented throughout the day.  Each hour I will be reporting on our progress.  The development area will be open for CodeCamp attendees to check out our progress and see what we are building and how we are building it.

    When thinking about the task that is ahead of our team, it can be a little bit off-putting.  After all, the site has to be done by the end of CodeCamp.  Now, you would think that the deadline for completion should not be set first.  It should be based on how much can actually be done.  Then I started thinking....hmmmm "a project where the deadline is set ahead of time in hopes that the work could be completed on time.  That sounds eerily familiar".  Actually, that sounds like just about any deadline set by upper management that I have ever worked towards.

    Can it be accomplished?  Only time will tell, but the team is really hardcore and  the four of us have never missed a deadline on a project that we have worked on together.  Of course, the four of us have never worked on a project together. Big Smile  In the end, all of the sourcecode will be made available so you can see the most important thing: HOW we built the projet?  If you have an opportunity to attend the Jacksonville CodeCamp, stop by and share in the fun.

    Share this post: Email it! | bookmark it! | digg it! | reddit!
  • "Everything is Relative" or "No, I am not spending time in front of the Computer"

    A few days agp, I blogged about my bringing my laptop to my vacation in New York.  I thought that maybe I was spending too much time in front of the computer.  Especially after my friend, Simone Chiaretta had bruised a rib while Kitesurfing and Canyoning, while I was typing away, blogging, returing emails etc.  I must say that the little voice inside my head said "Hey! You should be Kitesurfing instead of returning emails"  After chatting just now with a friend of mine, I don't feel so bad after all.  I was chatting with him for a few minutes when he notified me that he may have to run because his wife was having a baby. Big Smile.  All of a sudden, I don't feel so much like a workaholic.  Chatting online while your wife is having a baby?  That has UberGeek written all over it. Pretty funny actually.  I can picture his wife in labor, calling for him, "One second honey, I just have to return this one last email!"  I might give hime some "Above and Beyond" Credits for such a blatant example of geekiness. :)

    P.S.  He told me that the way that I would know if she was having the baby was that his MSN Status would be busy. ROFLOL

    Share this post: Email it! | bookmark it! | digg it! | reddit!
  • Am I spending too much time in front of the computer?

    I am here in New York, seeing the sites and taking a little bit of down time.  Naturally, I have my laptop with me so that I can get my daily fix of chatting, blogging and emails in.  I was just chatting with a friend of mine, Simone Chiaretta, who made me realize that maybe I am spending a bit too much time in front of the computer.  He was telling me about an injury he had to his ribs, it happened when he was KiteSurfing and became worse when he did a bit of canyoning.   I just realized that the only way that I am going to bruise my rib is if I trip over my computer bag and fall onto my laptop. 

    On a related note, I have been working here at one of the Starbucks in NY and have started coming here regularly enough to actually start to know some of the regular morning visitors (and a few homeless people) by name.

    Share this post: Email it! | bookmark it! | digg it! | reddit!
  • Community Server AddOn - (or Using Community Server to earn stupid prizes)

    Today, the Community Server Add On was just released for public consumption.  It addresses on of the very important Community Credit issues of the pain involved in submitting entries if you a very active blogger or if you are King of the Discussion boards.  Now, if you have a website that is powered by community server, you will get points automatically.  That is really huge news for us, considering the popularity of Community Server.  On the Community-Credit discussion board, for example, you get points automatically for each posting.  No manual entry necessary.  Who could ask for better than that?  One of the beautiful things is that it will take you literaly 2 minutes to setup.  Just copy the dll to your bin directory, add your ID to the CSModules section and voila...you are earning points.  To get the full details visit our Community Server AddOn page

    P.S.  For those who may have missed it in our newsletter, the Community Credit CS Addon was written by Simone Chiaretta.  A big thanks goes out to him!

    Share this post: Email it! | bookmark it! | digg it! | reddit!
Powered by Community Server (Commercial Edition), by Telligent Systems