ÖreDev Day 4 – Afternoon

I’m still feeling a bit exhausted from Dan North’s previous talk, but now it’s time for some more down-to-earth coding topics.

Putting the M of ASP.NET MVC with Scott Allen

Scott Allen started by discussing the role of the model in ASP.NET MVC and its intended audience:

  • Business objects can be useful, especially when building wrappers around SQL Management Studio, but they may not always serve the best purpose in MVC applications.
  • The model often has to cater to both the view and the business logic. To address this, Scott recommends creating a view model. While this may lead to many classes, it ensures that each class has a well-defined responsibility.
  • You can define an interface to specify which properties should be bound when using TryUpdateModel<T>.
  • Instead of using IModelBinder for model binding, which can be cumbersome, override OnModelUpdated on the default model binder...
Read More

ÖreDev Day 4 – Why Your Agile Adoption Fails with Dan North

Today’s session with Dan North was a standout. Following a somewhat disappointing morning, Dan’s talk was exactly what I needed to rejuvenate my enthusiasm.

Dan had promised a critical look at Scrum, and he delivered. Here are some key takeaways from his session:

  • “A manager in a crappy system with a certificate is still a manager in a crappy system.”
  • “Certified$crumMa$ter :)”
  • Refer to the SATIR Change Model to understand people’s resistance to change.
  • Consider the Dreyfus Model for skill acquisition stages.
  • Ken Schweiber’s assertion: “75% of un-coached Scrum projects will fail.”
  • Implement continuous integration and automated tests to reveal and address underlying issues.
  • Use assumption tests to document assumptions on legacy code.
  • Embrace Deliberate Discovery in domain understanding, architecture, and team dynamics.
  • Practice Rolling Wave Planning to detail only imminent stories.
  • Write concise stories and break features into manageable pieces.
  • Beware of “WaterScrum,”...
Read More

ÖreDev Day 4 – Morning

Keynote: What Drives Design?

We kicked off the day with an intriguing keynote on the driving forces behind design, focusing particularly on the latter two “D”s in various xDD methodologies (such as TDD, BDD, etc.). The talk started with a fascinating historical overview, showcasing how our industry is still relatively young, with many pioneers still active.

Rebecca Whirfs-Brock discussed Responsibility-Driven Design (RDD) and compared it with other development techniques like TDD, BDD, FDD, and DDD. Her insights into these patterns and their evolution were thought-provoking.

Making the Sausage

The session with Dan North, Neal Ford, Stuart Halloway, and Tyler Jennings explored BDD within the context of Clojure. Although it was an engaging discussion, I found it challenging to keep up with their fast-paced ideas. Functional programming can be complex, and with four functional experts presenting late-night code, it...

Read More

ÖreDev Day 3 – Afternoon

The Fallacy of Efficiency

Dan North delivered an insightful talk on not blindly pursuing efficiency, emphasizing the difference between efficiency (effort expended) and effectiveness (outcomes achieved). His presentation was full of valuable insights and thought-provoking ideas. I hope to share the slides here soon, as it’s challenging to summarize his points adequately. Dan North is definitely worth checking out—he’s both brilliant and entertaining.

Explorations of NHibernate

Stephen Bohlen, known for his rapid presentation style, discussed various add-ons for NHibernate. Here are some highlights:

The session was packed with information, making it hard to keep up, but it was immensely valuable.

Productive WCF

As the day progressed, Juval...

Read More

ÖreDev Day 3 – Morning Sessions

Accomplishing More by Doing Less

The day began with a keynote by Marc Lesser on “Accomplishing More by Doing Less.” This session revisited some concepts from Monday’s talk, offering a clearer and more concise understanding. It was a valuable refresher.

A standout quote was: “Find the One who is not busy”—whether that’s in yourself, a higher power, or something else that resonates with you.

Scrum – Why It’s So Hard to Implement

Jens Ödegaard’s talk addressed the challenges of implementing Scrum. It was reassuring to see that my struggles were not unique. Key takeaways included:

  • Organizations must be willing to abandon traditional management styles.
  • Teams should support each other—if you can’t directly help, at least show solidarity (even if it means bringing coffee).
  • Problems in Scrum often existed before but were unnoticed.
  • A ScrumMaster should educate the organization about Scrum and remove impediments to help the team...
Read More

ÖreDev Day 2 – NHibernate in Practice

Today’s session at ÖreDev was about NHibernate, led by Stephen Bohlen. Stephen aimed to cover a comprehensive screencast from Summer of NHibernate in just four hours.

Stephen’s presentation was thorough and engaging, though it felt a bit rushed. Given the depth of NHibernate, a full day would have been ideal to delve deeper. Nonetheless, the material was valuable, and I can always revisit Summer of NHibernate for more details.

One key takeaway was a principle for TDD and unit testing: Always ask, “What can we safely assert?” The answer should be, “Only the values I’ve set in the test code.” This is especially relevant for integration tests involving databases. For example, if you write a test to find people with the first name “FIRST NAME,” you can safely assert that the returned people have the first name “FIRST NAME,” but nothing beyond that.

Overall, it was a...

Read More

ÖreDev Day 2 - ASP.NET MVC with Scott Allen

Now we’re getting into the “real stuff” or rather IT-related stuff.

I am now attending a session with Scott Allen, who is a great guy by the way, on ASP.NET MVC. As readers of this blog know I love this framework already since it got me back on understanding web development again.

OK - since Scott is dropping god nuggets as he speak, I thought that I put it here as we go, in no particular order;

  • When you create the “URL template” for routing you can specify anything you want. For example {controller}/{action}/{category}/{locale} would fill the category and local with anything passed to the URL or null if not set.
  • Learn and use MVC Contrib
  • MVC Contrib. Set the project-file-setting MvcBuildViews to get compilation errors for errors in the views. This slows builds down so don’t use it when not needed.
  • ...
Read More

ÖreDev Day 1 - Accomplishing more by doing less

I am at my first conference since 2000. My good times flies, then it was .NET launch and I was very envious of the people getting to try it out since I was stuck in a never ending VB6 Com+ assignment. Well, here we are - 2009 and ÖreDev.

The first day for me was spent with a single session that took the whole day. I didn’t know to much about it and simple went to it since the title was so alluring - Accomplishing more by doing less, with Marc Lesser (taken name?). Who can miss out on such a offering.

Well, as expected I guess, the content wasn’t so much on thing to do, that would only have added to the burden of things to do. But rather it was about doing less of some thing, namely:

  • Fear - here we talked a lot...
Read More

Agile Coaching Resources

I recently discovered an excellent resource for agile coaches: AgileCoach.net. Although the homepage may seem modest, it contains a wealth of valuable and engaging content. Some highlights include:

I’m looking forward to exploring these resources further—they’re sure to be a great addition to my agile coaching toolkit.

Read More

Private Source Control Repository with Integration in Visual Studio for Free

I was recently searching for a solution to a Source Control problem—specifically, setting up a system quickly and efficiently.

Thanks to a tip from Magnus, I discovered UnFuddle, a hosting service that not only provides source control but also offers additional features like dashboards, bug tracking, and calendars. The best part? For very small teams, it’s free! For slightly larger teams, it’s nearly free at $9/month.

While UnFuddle covers a lot of bases, I needed a seamless integration with Visual Studio 2008. Enter AnkhSVN, a Subversion client for Visual Studio. (I promise I’m not saying that out loud… I hope.) It’s a widely-used tool with a good reputation.

With UnFuddle and AnkhSVN, I now have a fully-fledged, well-integrated source control repository at no cost.

Free solutions are always a win, aren’t they?

Read More