Tuesday, December 30, 2008

Big Time Full Year Reflection


I can't even comment on how much I have learned in the past year. As far as how my project is going, it's going well... there are still a handful of things to be done. Partially because of scope creep and partially because "90% of the work is done with 10% to go" (I forget who said that to me, may have been a commenter let me know if it was you.)


I started this blog in April of this year, between this thing and Project 007 my knowledge and confidence in my ability have hextrupled (yeah, I made that up, ten points to the nerd that knows the real word for that). The best part, is, that I've met a whole bunch of people in the process.


If I were to start this project all over again what would I do different? Well, I mean, I wouldn't have gone halfway up a few paths. Like wasting time checking out MVC, LINQ, and other directions I decided not to go in... but that is a necessary for any project, I suppose. I maybe would have spent the first few weeks writing admin screens for people gathering data, but back then I didn't have the confidence in my data structure that I have now, so my fear was that it would change over time. It is a pain doing this data import now, even though it was made MUCH easier by the locating of a SW tool to import images from FMP to SQL. I would have started the consultant earlier, and asked more questions about layers to people that knew more than I do. I would have been cleaner in the structuring of my folders. I would have been more realistic on my time estimates, but that is something I'm getting much better at, so I'm proud of my growth.


What did I do right? Well, I think that the best thing I did was keep up the iterative process in the form of sprints. I think that my data structure was strong, and though the consultant disagrees, NHibernate is awesome. I like how most of my content is database driven, and I took the extra time to set things up that way. I like that I took a stand on some things that I thought were important. All in all, I like that I took a big risk, and I really thing things are coming to a great fruition. 


Later this week I'm going to post everything I have to go and how I am breaking it down. Hopefully some people can give me some wisdom when they were in just this situation. 



Good night and happy new year!!!




(PS like the new GD tee? I can thank Lloyd Humpereys for the design. They are available at all the high end Girl Developer stores near you. )  



5 comments:

  1. Might have been this oft-recycled comment I added to your feature complete post:
    Now, as a word of warning, keep in mind the old words of wisdom: The first 90% of the project takes 90% of the time. The remaining 10% takes another 90%. ;)
    Cheers, and a happy New Year!

    ReplyDelete
  2. Hey, thanks for sharing! I've got kind of a side question for you -- do you do domain driven design, and if so, what is your typical strategy for mapping objects to relational tables? You mentioned NHibernate -- we are going down the path of Entity Framework and I'm not that jazzed -- NHibernate looks much more mature to me.

    ReplyDelete
  3. @Ncloud - Sorry for the delay, I wanted to make sure I had time to answer your question in detail. I would consider myself a DDD programmer. I'm not sure what you mean by my strategy. If you're talking about syntax NHibernate uses xml based mapping files to reference tables in your database. If you're talking about style or mindset it's very literal (is there another way?), each of my objects have tables, and vice versa. Also each object class has a manager class, it was reccomended that I do all my object specific methods in a seperate class file (manager) in order to completely separate anything NHibernate related from my web project in case I decide to switch ORMs.
    Now, having worked with both Entity Framework and NHibernate I'd have to say that for my personal needs NHibernate blows it out of the park. All your classes consist of are getters and setters. They all inherit from the NHibernate Base object that has the Save(), Load(), Update() and other methods pre-written. Also, most of your SQL is done for you through NHibernate, I haven't had to write a single stored proc, all the SQL I have needed has been auto generated through NHibernate.
    Thanks for the good question!

    ReplyDelete
  4. Ncloud - Sorry for the delay, I wanted to make sure I had time to answer your question in detail. I would ceonsider myself a DDD programmer. I'm not sure what you mean by my strategy. If you're talking about syntax NHibernate uses xml based mapping files to reference tables in your database. If you're talking about style or mindset it's very literal (is there another way?), each of my objects have tables, and vice versa. Also each object class has a manager class, it was reccomended that I do all my object specific methods in a seperate class file (manager) in order to completely separate anything NHibernate related from my web project in case I decide to switch ORMs.

    ReplyDelete