Archive

Software Projects

I did some searches for tutorials on Entity Framework (EF) + Code First.  Most of the tutorials I found involved clicking on some design time view and right clicking to add columns, then clicking and right clicking to generate the code first SQL.  It was neat, it was clean, and it was sort of fast.  However, it didn’t beat FluentNHibernate in cleanliness.  There still ended up being some huge and nasty generated (from the design time) file and some other things that just didn’t sit well with me.  With the host of other things that are just now getting developed for EF that have been in NHibernate for ages I’ve decided to yank Entity Framework support for now and just stick to NHibernate + FluentNHibernate.  Simply, it just works better and I have more immediate support, feedback, and input into what is available with NHibernate.  For Entity Framework nobody really has any of that, one has to wait for the Microsoft machine to move forward on design decisions before something gets dropped either via a proper version or CTP.  I’ll stick to the more responsive open source solution, k thx.  :)

HOWEVER, In the future I do intend to add Entity Framework support, I’m just not spending the time right now.  I’d be perfectly happy if someone else wants to do so, just let me know…

In other news from the UI from of the Infrastructure Project, I’ve made another decision to use the Zen Garden CSS to setup the original layouts & such.  Since it is the UI, I thought that going with something that designers are more familiar with instead of the ASP.NET MVC Themes oddities (which I don’t even really know where they’re hiding those these days) would make things even simpler from that aspect.  A clear separation of concerns for devs vs. graphic artists & layout pros.

Anyway, that’s all committed and I’ll be building a new template before the end of this week.  As always, if you’re interested in adding to the project, or just using it, I’d love any and all feedback.

I decided, after poking around with Visual Studio 2010 Templates tonight, to publish a baseline infrastructure using ASP.NET MVC 3 w/ Razor, Entity Framework, and other elements using the .NET stack.  So far I’ve only got some skeleton code put together for the infrastructure project and posted it to my github repo.  I’d be open to fellow contributors or suggestions on what else I could or should fill out in the baseline template.  Give it a view and let me know what you think.

Over the next few weeks (months, etc) I’ll be updating this and filling out more of the patterns that one might use around Entity Framework, ASP.NET MVC 3, etc to enable good Test Driven Development.

-Adron, infrastructuralist.  :)

Rework is ok.  Refactoring is ok.  BDUF (Big Design Up Front) is bad.  Minimal amount to get to market is good.  Getting to market is good.  Don’t get into analysis paralysis.

Best book that cleanly cuts to the chase I’ve read in a long while:  Rework

…and a few friendly reminder videos.

I really can’t emphasize how much better an individual or a company is at getting things done, getting things to market, and generally improving what they do in life when taking a lot of the advice in this book to heart.  Read it.  Know it, and kill the things that are dragging you and your company down.

Thanks.  This has been a friendly public service announcement by yours truly.  Adron B. Hall here at Composite Code Blog.  :D   Cheers!

Big enough title?  Meh, that isn’t really related.  :)  Please read on.

The latest little blurb back and forth in the ALT.NET Community on the ALT.NET Seattle Google Groups thread is about retrospectives and how to increase quality. I won’t post any direct messages but wanted to blog a bit about that.

My fellow coworker Eric Ridgeway mentioned, which I whole heartedly agree, one doesn’t wait until the end to make quality improvements.  One focuses on quality at all times.  This makes me wonder sometimes were the disconnect is for quality improvements.  Even when asked sometimes, I’ll state something that is so simple as “always focus on quality” but then have follow up questions such as, “so when should we focus on quality?”

How did that not translate?  I get lost when I get a statement made back as a question.  I just stated the solution, the solution is to always focus on quality.  When you write a test and watch it fail for lack of implementation and then implement it look to see if it is elegant.  Look for the quality of logic and code usage.  If it looks odd try to refactor it.  If something is just being changed, check the quality.  If you’re white boarding, ask yourself if you should be trying out some implementation instead of just white boarding.  If you’re implementing but it doesn’t seem clear, ask yourself if maybe a white boarding session will work.  If you find your daily process is hampering clear minded efforts to develop good software solutions, ask why the process is low quality and what would make it higher quality.  If your team has low code coverage, or heaven forbid no code coverage, don’t wait, start doing something immediately.  Stop non-quality development and start high quality development.

It really is that simple.  There is no way that should not translate.  Always focus on quality.

While reading this blurb on the ALT.NET Google Groups I got an alert for Rob Hirschfeld’s latest blog entry about Agile & Cloud Computing. In his latest blog post titled “Black Hat Feedback Essential For Cloud Success” he dives right into the process improvement and retrospective conversation. Rob points out a few reasons teams skip on improvement:

  1. All that talking and listening and improving takes time and attention.
  2. Post Mortem or “lessons learned” meetings that never make any difference because they happen after the work is done.  (well, duh).
  3. No one has a methodology that makes the meetings productive.
  4. Lists with more than 3 items on them have too many items to be productive for improvement activities because of reader’s limited attention spans.

One of the quotes he pulls from Lean Agile advocates Mary Poppendieck and Eric Ries addresses this, “The secret to improving your performance is to regularly work to improve your performance.”  This goes back to what Eric, many others, and I keep saying, “always work on quality, don’t wait until the end”.  If you wait until the end, it’s already too late.

Follow

Get every new post delivered to your Inbox.

Join 3,712 other followers