Archive for the 'Commentary' Category

DDD - Just reading book

When I got back from #KaizenConf I had to order a copy of Eric Evans book, Domain-Driven Design: Tackling Complexity in the Heart of Software. Main reason being that I went to a DDD session Dave had and learned a lot that just made sense so I figured it was a must have. So I ordered it, got it and have been reading it the majority of the weekend and I must say it is a very good book. For me though a lot of has been just giving formal names to the things we were already doing. Most of this is because we are a small team/company so we have always been the developers/business analysts etc…. But overall very good so far with good emphasis in the right places I think.

LEAN -Software Development in Small Teams - Part 2 – KanBan Board v1 - v2

In the first part of this journey I posted about two value stream maps we created. The next step after doing Value Stream Maps of our two primary processes was setting up our KanBan board. I would first like to explain some of the thought we put into setting up our KanBan board. During our discussion on KanBan in Small Teams Dave said to not over complicate your KanBan board, and I agree. Especially for smaller teams there is no need to have a 15 state KanBan board. So what Hiren and I cam up with is shown below:

KanBan-BoardV1

What we have is 3 states for a task to be in: Backlog, Work In Process (WIP) and Done. I think there are several important parts to our KanBan board:

  1. Limits– Notice there are limits on the first two columns (Done is a feel good state, no limit), this is to create blocks when necessary and to prevent a state from filling up with a pile of inventory as is possible with other methodologies. The limits are in place to effectively block processes up stream from piling up. When a state is blocked no other work can be performed in that state.
  2. WIP has two tracks – We are a small company so we are developers and IT guys both so we decided we should leave a spot open in WIP for an IT task. I am thinking about making it so that if a Red IT task is in the slot then that “Stops the Line”, a Red task would be an emergency or super high priority that was really preventing any other work from being done.
    1. I decided to keep the WIP limit at 2 thinking that we won’t have an item in IT very often and if we do someone is probably not working on a Dev item anyway.
  3. Standard word definitions / Constraints – Below the bottom horizontal line is where we list the standard work definition or other constraints that are associated with each state.

So this board is setup and we were just about ready to start using it when I started watching the video from the open spaces session Chad uploaded on viddler, see KaizenConf Article. When I got to the point we were talking about laying out boards I realized I had forgotten a column. So we will call the board above v1 and the one below v2.

KanBan-BoardV2

In version 2 we have added a column between WIP and Done called Deploy. My thought behind this was that we don’t do release per feature, yet, and we also don’t have a set release schedule but what I want to do is release features in batches of about 3. So the standard work definition for deploy is if there are 3 or more tasks/features in this state then we should schedule a release. I don’t have it in the picture but I am going to have a limit of 5 or 6 on this state.

We are going to run with this KanBan board for a week or two and see if we need to make further improvements on it in that time. If we do I will post them up here, if not then I might make the lines a bit more permanent so they are straight.

Next up I am going to discuss the layout of our KanBan cards.

KaizenConf Wrap

I know this is a little late and somewhat out of order but I really feel compelled to write a public thank you note to all of the facilitators and attendees at the pre-conference workshops and the KaizenConf open spaces conference. I have made a boat load of new friends in the ALT.Net community that I know will be long lasting and very fruitful. The 4 day conference was by far the best conference I have ever been to. I came with so many questions got some answers and left with even more questions. It was very humbling to be surrounded by a lot of smart people, at the same time it is also very encouraging because these people are all very nice, friendly and real.

 

Workshops

The workshops that were put on were outstanding. I personally attended the Advanced NHibernate talk which was very helpful, you can see my notes here. I also went to the DDD Chalk Talk on Thursday afternoon, this was a very good talk about different aspects of Domain Driven Development. Friday started off with Jeremy and Chad’s Opinionated ASP.Net session and followed up with Dave’s Pull Don’t Push - Lean Systems and KanBan. All of these sessions were great. I have linked to what information is available now, and will link more as I find it.

 

Open Spaces

Friday night we “Opened” the space and one of the topics I suggested is Lean software engineering / KanBan with a small team. I didn’t know if anybody would vote for my topic or not but low and behold they did. So at my first open spaces event, I was also the convener of a space. This was a little bit intimidating at first but I handled it very similar to the way I do my college classes, we just all talked. Special thanks to Dave Laribee, Chad Myers, Chris Bilson and others that I don’t know your names, for being so involved and speaking during this session.

 

I spent time in some other very good sessions such as KanBan Applications, and Concurrent Set Based Software Engineering. There were so many good topics that I can’t even remember what all they were,  but there is a full list on the wiki.

 

As an action item on Sunday with KanBan in Small Teams I committed to documenting my teams implementation of the Lean Methodology with a KanBan task board.

 

In conclusion, Thank You again to all the great people in the Alt.Net community that came together in Austin to make this a very memorable event.

Password Security or Insecurity

So I got an email a few days ago that I had recieved a MySpace message from a friend. So I go out and login to my account and what do you know, it is a message from my “friend”. Only it wasn’t posted by my friend it was posted by someone who hacked his account and was posting porn crap through his account. Now you may be wondering how I know it was spam. My friend happens to be a missionary in a foreign country, I highly doubt, in fact I know that he would not post that. So this brings me to the main topic of the day, password security or as the case may be insecurity.

I will outline some basic principles for password security below, most of these are common sense. I will also elaborat on some good ideas for network level password security. So whether you are setting up a new password for work or personal following these guidlines can not hurt anything.

Secure Password Guidelines:

Things to NOT Do:

  • Do not use any part of your username in your password.
  • Do not use part of your first or last name in an unaltered form (i.e. last name Smith, use $m!th instead).
  • Do not reuse the same password within 12 months period.
  • Do not share your password with anyone.
  • Do not write your password down anywhere.
  • Do not use “password” for your password.

Things you SHOULD Do:

  • Use mixed case (TeSt1235)
  • Use Alphanumeric passwords ( t1e2s3t4)
  • Change your password often (every 60 - 90 days)
  • Use a password that is at least 8 characters long
  • Use special characters in your password (!@#$%&*)

PGA, Tiger and Computers

First off apologies for my extended absence lately, it has been very crazy and busy here. So I thought I would take a quick minute and give you recap. Well a week ago Friday I was out of the office for a day walking, sweating and getting a tan at the PGA Championship at Southern Hills Country Club in Tulsa. If you would have told me even two years ago that I would go out and watch golf I would have laughed at you. But no, I went and watched golf in 102 degree heat with no wind, and had a blast. I am not really a golfer, that is I don’t golf very well, but I have fun trying. It is really nice to see that even the PGA Tour Professionals make bad shots as well.

This brings me to my next subject, Tiger. I am not the biggest Tiger fan out there by any means, in fact I would rather root for somebody else that needs some cheering for. That said I am not trying to discount his abilities, he is a very good golfer. I did however notice that for the most part all of the PGA golfers are very cordial to each other and carry on some conversation while playing, just like regular people. However I also notice that Tiger does not do this, it almost makes the impression that he is arrogant or better that everybody else. I have had this discussion with several of my Coworkers and the general consensus seems to be that, that is just Tiger putting on his “game face” and being so focused on his game. I guess I can accept that and just need to learn how to appreciate it, besides I am a much better golfer that Tiger when playing Tiger Woods PGA Tour 2007, LOL.

TigerWoodsPuttHole2

However, on the subject of Tiger, I just want to point out that the guy in the green shirt, red hat in the upper right hand corner of this picture is me. Also I don’t know where this picture came from so if anybody knows please let me know, so I can give proper credit and get a better quality copy.

So the other thing that has consumed my time is swapping computers. I have been in computer limbo for the past week as I have been working on getting my new desktop up and running. What kind of desktop you ask? It is a Dell Precision Workstation 390 with a Intel Core 2 Duo 2.4 GHz processor, 2GB RAM, two 300 GB Hard Drives in Raid 1, Nvidia Quadro FX 3450 Video Card with Dual Dell Ultra-sharp 17″ Displays. This is the result of some budgeting that I have been doing and the fact that I had old computers in my department that needed to be replaced. Also our entire IS department is now running Vista, Yeah!*. I will write more on budgeting for Information Technology in small companies later.