Friday, February 29, 2008
This past wednesday I attended the Philly ALT.NET user group meeting and got a chance to see Dave Laribee present on "Planned Agility".  Dave did a great job introducing how to do planning as part of your agile process.  Many people unfamiliar with agile think that planning isn't a part of the agile process, which of course is not the case. 

Planning happens at many levels within an agile process.  The primary types of planning that we do within our agile process are:
  • Daily planning: Daily standup meetings start the day and help us figure out what we're going to be working on for the day.  We also evaluate where we are within the iteration and evaluate whether we're on schedule to deliver all the business value that has been agreed to, or whether we need to make small adjustments to meet our goals.
  • Iteration planning: At the start of every iteration we have a meeting to discuss what business value the iteration is going to focus on, and then figure out what we can accomplish within the iteration
  • Release planning: This is primarily done by our product owner and his team of business analysts.  A lot of discussions occur that help prioritize the features within a given iteration, as well as the scope of those features.  As work progresses within our iterations the release plan is adjusted to add and remove items.
  • Product planning: Again primarily done by our product owner, this is the longer term planning that is done to lay our the longer term roadmap for the product, and to schedule the releases that are defined as part of the release planning.
Although it's not a planning activity per se, one of the other key things that often times affects our planning is our retrospectives.  Retrospectives may well be the most important activity within any agile process.  Without retrospectives we tend to fall into a rut, lose track of the problems and inefficiencies within our process, as well look past the ways that we could be improving our team, our software, and our code.  Our retrospectives often lead to planned activities and/or meetings that go into our next iteration planning session.   If you're not doing retrospectives, start.

Planning is an extremely important part of any agile process.  If you're doing agile without planning you're doing something wrong.  I suggest you try and catch Dave's presentation on "Planned Agility" at one of the upcoming conferences he's presenting at.

Friday, February 29, 2008 6:51:24 PM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [2]  |  Trackback
 Thursday, February 07, 2008
So, the iPhone SDK is supposed to be announced sometime soon, and as such I realized that I needed an iPhone in order to experiment with it. :)  My new toy should be arriving soon!  My current phone sucks, so I'm looking forward to the goodness that comes with an iPhone.




Friday, February 08, 2008 3:16:00 AM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [4]  |  Trackback

Recently a co-worker (Aaron) started learning a bit about Lisp. After a little sales pitch, I decided it might be fun to learn Lisp as well, afterall I've heard people talk lovingly about it a few times.

It's interesting to read about a language that has been around since the 50/60's that has many of the language features that we're just now getting in C#. Over the years I've had a lot of people recommend learning a functional language like Lisp, Scheme, or Smalltalk but I've never taken their advice. While I'm not sure I'll ever code anything of substance in Lisp it has been interesting to learn about the language, as well as it's history.

Lately, I've been working my way through Practical Common Lisp, which is published by Apress. In addition to being available via Amazon and other online retailers, the book is available for free online at: http://www.gigamonkeys.com/book/.

I haven't decided on a language for 2008, perhaps because I feel like I have a ways to go still with my language for 2007, Ruby. Anyhow, I'm pretty sure I'm going with something functional, perhaps Lisp...or F#?


Friday, February 08, 2008 1:36:06 AM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [2]  |  Trackback
 Monday, January 21, 2008
After many, many, many long months of work, LINQ in Action is finally done!  Fabrice, Jim, and I are very proud of the final product and really hope you enjoy it.  We've already heard a lot of positive feedback from those who purchased the Early Access Preview from Manning, and are hopefull that LINQ in Action will be a valuable resource for everyone who is trying to add LINQ to their development toolbox.  My favorite quote thus far is from Ben Hayat on the LINQ in Action forums where he said "I had gotten other books on Linq, and this book is simply the BEST!".  Now for those of you who don't know Ben, it should be very clear that he's extremely smart and intelligent and you should believe everything he says, especially when it comes to what the best LINQ book is! :D 

Since the book is on the printers as we speak, it isn't yet available on Amazon for immediate shipping, however, I've been told it should make it's way over there in the next couple of weeks.  Given that, now is a great time to head over and pre-order it!  If you want the book sooner rather than later the best way to get it is directly via Manning's website.

To keep updated on the status of the book, including errata, code samples, or to ask Fabrice, Jim, or I any questions about our LINQ book you should drop by the LINQ in Action website or the author forums on the Manning website.

Monday, January 21, 2008 2:32:52 PM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [3]  |  Trackback
 Sunday, November 18, 2007
One of the best things about working in a software shop that has embraced the principles and practices of agile software development is the continued focus on what's really important.  Every week, our product manager and our business analysts are forced to think about what the most important piece of functionality is that can be added to our software.  I'm sure it's frustrating for them to have to, week after week, put things that seem relatively important on the back burner for those things that are most important. 

Focusing on the most important things can be frustrating, and it can lead to business trying to slip "easy" things into iterations whenever possible.  I believe this is a symptom of having to make so many concessions each and every week.  Since they never get everything they want, it's the "easy" things that are the most tempting to add.  However, I'm of the belief that "easy" is never good.  Doing something because it's easy, is doing something wrong.

It's no secret that a lot of software that is developed today is total crap.  It's loaded with feature upon feature.  It's hard to use, and doesn't do anything that helps the user kick ass.  Anybody can do "easy"....you don't want to be just anybody do you?

Sunday, November 18, 2007 5:25:35 PM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [2]  |  Trackback
 Friday, November 16, 2007
As someone who is working in a software shop building an extensive set of SOAP based web services via Windows Communication Foundation (WCF) it's refreshing to have posts like this that make you feel like what your doing is right on the money....or not! :)  For internet facing web services I agree with Dare that REST is where it's at.  I'm not convinced that they're the answer for all problems....at least not yet.

For anyone unfamiliar with RESTful web services I recommend you pick up RESTful Web Services  by Sam Ruby and Leonard Richardson. About 6 months ago I started reading a draft copy of it and was very impressed.  It provides an excellent introduction to how to build RESTful web services and explains many of the core concepts that are necessary for fully grokking REST. 

Friday, November 16, 2007 1:47:33 PM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 Saturday, October 06, 2007
This weekend around 100 folks have descended upon Austin Texas for the ALT.NET conference.  There has been much written about ALT.NET, what it is, how people are misunderstanding it, why it was created, why people should be interested in it, and why it will dominate the world.  Unfortunately, it's all lies.

The truth is, ALT.NET is a scam.  I hate myself for being the one to figure it out, and now for writing this post exposing ALT.NET for what it really is.  The truth is, ALT.NET was created so that a bunch of nobodies [1] could get Scott Gu, Martin Fowler, and the others in the industry whom they have a geek-crush on to come to their conference.  All that talk about making better software, using the best tool for the job, its all bogus.  ALT.NET is all about trying to rub elbows with Martin Fowler. Sad. [2]

[1] by nobodies I mean people whom I love and respect :)
[2] Or maybe its for real and I'm just sad that I didn't go?

Saturday, October 06, 2007 4:07:35 PM (Eastern Daylight Time, UTC-04:00)  #    Disclaimer  |  Comments [6]  |  Trackback
 Tuesday, October 02, 2007
On Friday I went to Ruby East and got to hear a bunch of good presentations on Ruby as well as Rails.  In addition to getting the inside scoop from some Ruby experts I also spent some time with Brian talking about the Philly ALT.NET user group.  From what I know about the somewhat controversial ALT.NET movement, I think I fit the general demographic.   If you're a .NET developer in the Philly area, and identify with some of the things that fall under the ALT.NET moniker, I'd strongly suggest you subscribe to the Philly ALT.NET yahoo group.  A first meeting has not been scheduled as of yet, but it's coming shortly. 

Subscribe to the Philly ALT.NET Yahoo Group

Wednesday, October 03, 2007 2:14:16 AM (Eastern Daylight Time, UTC-04:00)  #    Disclaimer  |  Comments [2]  |  Trackback
 Friday, September 28, 2007
Sam recently clued me in to a series of posts by his co-worker David Pallmann's that include a ton of great tips for using WCF.  I went through all David's tips on my train ride home a few days ago and was inspired to go through our code to confirm and/or change our services to use many of the recommendations that David put together.  If you're working with WCF, I definitely recommend that you check out David's tips and while your at it subscribe to his blog in case he drops any more tips the blogosphere's way.
 |  | 
Friday, September 28, 2007 2:20:02 PM (Eastern Daylight Time, UTC-04:00)  #    Disclaimer  |  Comments [0]  |  Trackback