Development and Growth Blogs - BlogCatalog Blog Directory

Featured Ads



Recent Posts

Feb 16 2010

Green Tips

So here is an example of how “my” universe works sometimes …

I’m in the process of sorting out my files (general spring type cleaning) on my system, and while the gigs of files are copying I’m flipping through the various RSS feeds that I have been neglectful of (read and review list),  as I’m in ‘mail’ (my RSS reader of choice),  just reading a LifeHacker Article on reviving dead plants … Thinking about how I like plants, and its a shame that there aren’t any in the Labs I teach in @ The College and I get this random email from Suzanne telling me about her blog post on Green Tips for Teachers … Naturally, I have a peek through and while directed in places at the United States (even though I;m in Canada) I thought I would share … Thanks for the Link Suzanne!!

Read the Post http://www.x-raytechnicianschools.org/30-go-green-tips-for-teachers-to-introduce-to-the-classroom/

Post to Twitter Tweet This Post

Dec 28 2009

Back on Track (v2) Day 3

This post is part of an ongoing experiment series centered around success and getting life back on track. (specifically mine, but these steps will work for yours too).
Today I’m giving you the third and fourth steps in the process and a real world example of how it applies.

So far so good… I’ve been thinking and additional to my 14 primary goals that I would like to accomplish this year is at least a ‘30 day trial’ of the polyphasic sleeping pattern… for those that don’t know what that is, put simply rather then sleep for one long stretch each day, sleeping in much shorter duration’s throughout the day (25 to 30 minutes every 4 hours). Typically this would happen at say 2 am, 6 am, 10 am, 2 pm, 6 pm, and 10 pm. totaling 3 hours of sleep for every 24 hour cycle.

While that may just sound totally insane to some people, I know that personally I have functioned best on 4 to 6 hour night time sleeping with an hour nap in the afternoon/evening for pretty much my whole life. So the thought of being more productive and alert, and the reported benefit of less brain chatter and clarity of thinking make this sound like an ideal way to live.

A 30 day trial is really just that, 30 days to try out something new, (like the plan to reduce my nicotine intake over the next 30 days (which seems to be going well so far)).

That aside … I did over sleep today, and have been for the past months … but thats ok, because it helps to exemplify the next step.

Step 3. – When you fail (and you will fail), accept what happened as an opportunity, learn from it, know forgiveness for yourself, don’t dwell on it as negative, and keep going.

So, with that in mind, today is another day to try and get it right, I want to sleep less and get up earlier. So I will try again. ;-)

The opportunity is to access the amount and quality of sleep that I’m getting, I have been sleeping a lot more n the past few months, and that isn’t really congruent with my wants, by missing out on a good portion of my morning or the latter part of my night and feeling rushed for the first part of my day I was able to see that isn’t what I want, and see that it isn’t congruent with the direction I really want to go in, and that will server to re-enforce the goal.

Hopefully that makes a good example of a real life lesson in the process.

Next will come the focus stuff… something that I personally have had a great deal of experience with, so hopefully that will benefit some other people out there.

I have to admit, focus is one of my personal nemesia. I’m the guy that reads 4 books at a time, always has multiple projects on the go, get distracted easily, etc … in a nut shell I’m ADD (Attention Deficit Disorder) … (if you are the kind that buys into disorders (which, for the record. I don’t … (another post))) … See that distracted thought? :) but it was still along the same thought process and not totally all over the map, so thats a bit of focus and I’ll give myself the kudos for it.

Focus is essentially, a discipline of the mind. In todays fast paced instant gratification society where we bombard ourselves constantly with 30 second ads, and 500+ channels on the television, its no wonder that there are so many people that have a hard time keeping focus. Focus is a key to the universe, I’m sure that almost everyone here has read or seen ‘The Secret’, or understand the ‘Law of Attraction’ or the ‘Power of Deliberate Intent’, or has read some Napoleon Hill. If you haven’t you may want to check out one (or all) of the aforementioned so that you have a grasp of the direction I’m coming from.

Step 4. – If you can focus on a goal, for a minimum of 68 seconds, several times a day, you WILL manifest that goal into your physical reality.

Now that isn’t to say that all you need to do is focus on your goal, you still need to write it out, and you still need to make yourself accountable, and you still need to not focus on the negative side of the goal (for example, if your goal was a specific amount of money (coming up) don’t focus on your current lack of that money, that will continue the manifestation of the lack of money). Focus instead on the positive side of the goal (for example having the money in your possession already), and you need to know forgiveness for yourself when you fail. Being hard on yourself will not help in anyway.

So what can you do to improve your focus? As you will see for yourself, that mere 68 seconds of intended focus on a goal is not nearly as simple as it sounds, you will undoubtedly tell yourself that you are focusing (even when you are not), and in rather short form you will forget to focus and then you will say ‘that doesn’t work’ … well thats breaking Step #2 (accountability). So rather then do that, try this instead.

Tonight when you go to bed, get into a comfortable position (on your back) uncross your legs, put your hands at your sides, and take a few breaths (in through nose, out through mouth). Relax. take a few more breaths, don’t force them, don’t try to alter your breathing, just relax. Once you have started to relax I want you to direct your attention to your toes. Just your toes, I want you to ‘feel’ your toes, forget about the rest of you, there are only toes. Let them relax, then move into the ball of your foot (top and bottom) and again keep only that part of your feet in your attention, let that part relax, next into the arch (middle of your feet), same thing, relax that part and hold your attention on it.

Now if you have never done a relaxation or meditation before this will seem very foreign to you, but honestly what have you got to loose? you’re the only one that will know where you are directing your attention, there is no reason to feel foolish, and I know that the more you practice this exercise, the better you will become at it.

If you have done a relaxation or a meditation before you will undoubtedly be rushing through this part of it (don’t). Take your time, relax. The point of this exercise is to gain focus, that only happens by taking your time, the longer you take, the more your mind will wander and that’s OK and perfectly normal. its part of the process. So for the experienced, SLOW DOWN.

Your mind will wander, you will think about something that happened during the day, or anticipate what you need to get done tomorrow, or repeat a conversation in your mind, or review a TV show, or Movie you watched, or some other less important thought will come along. Thats all perfectly normal, what you need to do as soon as you become aware that you are distracted and not focused on the part of your body you should be, is finish the thought (that point where it changes into another thought) and gently but firmly direct the thought back to the last part of your body you were on and continue.

Personally, I like to use the following format … toes, balls of feet, arch(mid foot), heels, ankles, shins, calves, knees (back of knees / kneecaps), outer thighs, inner thighs, ass, genitalia, hips/pelvic, spare tire, tummy (lower abs), lower back, sides, abs, mid back, soloplex, rib cage, upper back, chest, sides, shoulders, finger tips, thumbs, palms, backs of hands, wrists, forearms, elbows (inner/outer), biceps, triceps, back of shoulder, neck, back of neck, throat, jaw, base of skull, back of head, ears, mouth (open slightly), cheeks, temples, top of head, nose, bridge of nose, eyes (closed), eye sockets, eye lids, forehead, and end on the ‘third eye’ (center of forehead just above your eyes.

The first little while you will undoubtedly drift off to sleep long before you finish this exercise, thats ok. Do it again the next time your laying down to go to sleep. The important thing is to take your time and relax each part of your body, make the part your attention is on the only part that you are aware of, don;t worry about littel itches, sounds, ringing, twitching, or any other distractions, just keep the attention and the focus on one part at a time.

You will get a refreshed feeling from this once you have managed to get all the way to your third eye and then focus on one of your goals for a few minutes.

I’ll expand on this exercise later, I think thats enough for now.

Post to Twitter Tweet This Post

Dec 27 2009

Back on Track (v2) Day 2

This post is part of an ongoing experiment series centered around success and getting life back on track. (specifically mine, but these steps will work for yours too).
Today I’m giving you the second step in the process and some details of the goals already listed.

Remember this is an experiment, and at all costs it should be fun if it isn’t an enjoyable experience then there is less likelihood that you will actually follow through on the process… Did you notice that yesterday when I posted my goals that they all have an upbeat feeling to them? This helps me in part with goal number 4 (meditation and a positive mental attitude).

Step 2. – Make yourself accountable to your goals so that they are not just willy-nilly dreams (set specific time frames and tell people about your goals).

Notice that I have already accomplished this in part, just by blogging about it (everyone now knows what my goals for the year are). I do need to enforce some stricter times (other then just within the year) to these goals to help make them a reality, after all someday doesn’t ever come along its always right now.

Goal 1 is an ongoing process, I think I’m a great Dad, and more importantly my kids think so, but there has been a lot of turmoil in their lives, specifically in the last few years. So I need to ensure that I come up with fun and creative ways to grow our relationships stronger then ever before. (we will re-visit this one).

Goal 2 is a breeze providing that I can remember that life is far to short to take seriously all of the time and loosen up. (again, an ongoing process that we will re-visit).

Goal 3 is something that I can make firmer. I need to stop smoking (this would be congruent with better health), and even though I have some stressful days in the very near future, I do want to stop, so from today forward I will smoke at least one cigarette less each day (I currently smoke about a pack (25) a day). That will have me down to zero smokes before the end of this month. (hows that for a timeline?) I already know that nicotine addiction is so retarded that I never even really experience a physical withdrawal its a 99% mental addiction (the physical withdrawal isn’t strong enough to wake me up in the middle of the night), I also know that my main trigger is coffee (with lots of cream and sugar), so I will switch back to tea which I drink black and that too helps to achieve this goal.

Goal 4 I placed into my daily routine by waking up 30 min earlier starting yesterday, I spent the first 30 minutes of my day in quiet meditation, I typically have done this off and on several times a week for years and I uses a relaxation technique at night (and have for years), I started adding in a chakra centering meditation about a year ago and I’m enjoying the calmness and clarity that it has brought (i’ll document the details in a future post).

Goal 5 I need to get a move on, I think that I will follow the lunar months for this one, that will give me 13 songs in a year, were coming up to the first quarter of the moon cycle (so from full to full were a little over half way). I’ll start with finishing “I Could Have Lied” by my favorite band (The Red Hot Chili Peppers).

Goal 6 will be an ongoing goal. I went back to teaching last year (after years out of the teaching loop and my head in the IT industry) I have plenty of knowledge in all of the classes I’m teaching, and most of my students love me, but proficiency is more then just understanding and knowledge. Its the ability to apply it.

Goal 7 is hopefully being met by the posting i’m doing here, and the teaching i’m doing (one of the reasons I love teaching) but I will find other things that inspire I’m sure as the year progresses. (will re-visit).

Goal 8 will take some planning, I will spend a minimum of 68 seconds of focus on a synergistic mind mastering group and see what the universe shows me in the way of direction (this is where the documenting of such things gets exciting).  (will re-visit)

Goal 9 ongoing and on track, still longer then I would like to have, but the start of something new usually has that over abundant eagerness too it, I’m sure that the post will start getting smaller at some point (I have taken the liberty of scheduling a few of these so that they roll out on time, even if I sit down and brain fart two or three out at once) :-D

Goal 10 has been kicking around for about 10 years in my head, its time to get it out on paper and see what opportunities exist to get legs under it.

Goal 11 shouldn’t bee too hard and will be enjoyable. Who doesn’t like to laugh?

Goal 12 is a problematic entry. I have always made good money (well anytime I have applied myself to it) my personal challenge here isn’t just to make the money… its to get my spending under control so that through I can go buy a house. And of coarse meet goal 13 :-D … I think that were underway with these (will re-visit).

Goal 14 (because who said I can’t add to my list) I want to successfully implement the GTD methodologies in every aspect of my life. I have been listening to David Allen for about a year and have only scratched the surface as far as actually implementing his insanely awesome system for keeping a clear head and getting things done. I want to make this an additional goal for the year and track the progress here as well…I’ve already done my clean sweep, and processed a whole bunch of things, but I want to get into the weekly review habit (I’ll use 2 hours every sunday for this). I can’t encourage everyone enough to take a good open minded look at this material and see how you can fit it into your own life.

Thats enough for today… I hope that your playing along and have setup some goals for yourself … the new year is coming quick. ; -)

Post to Twitter Tweet This Post

Dec 25 2009

Back on Track … Take 2 (v2)

Here we go again!

Another year is quickly coming to an end, and seeing as I’m not already independantly wealthy, and still have some BIG goals that I am yet to successfully master, let’s have another go at it shall we… When I fail, try, and try again ( or so goes the adage ).

This time I will commit to two posts per week and more if time permits ( and interesting things are happening … which is pretty much always the case ).

Let’s review the short explanation of this experiment…

Over the next 365 solar days, I’m going to let you in on a few secrets. Secrets that could potentially will change your life if you actually implement them (which is actually the only thing holding anyone back… action). I’m also going to track the progress of the results of these secrets as *I* personally implement them one at a time, so that the skeptics in the crowd can observe the results as they happen to me, because we all know that they are too chicken shit to take the risk required to try something for themselves first. Thats ok though, The smart people reading this will undoubtedly implement these secrets and gain from their benefits as quickly as I do and hopefully we can work together for our mutual benefit.

These are not new principals by any stretch of the imagination, some of what will follow will be my own orderly regurgitation of very old principals, however I know from taking a long and hard look at myself and my own life that the principals are true and do work independently of anything external to ourselves. I know this, because I have been honest with myself, because I have experienced many, many things so far in my life, and I know that *I* am 100% responsible for my attitude, my thoughts, and my actions.

So, the reason for this little online experiment is simple (for me), I need to get my life back in order (currently its a bit of a mess) and one of the primary principals of success is to be accountable for your actions and goals, this experiment is my way of making myself accountable. Its here for anyone to read, so that should help motivate me into action. Feel free to join in, simply sign up for an account here on my blog, and do as I do, or if you have your own blog, follow along and post your own results. I know that success is imminent.

Step 1 – Document your goals. Know what you want. (you cannot hit a target if you do not know what it is).

Seeing that it’s almost  ANOTHER new year, this makes it a perfect time to implement in writing what your specific goals are. (did you catch that? IN WRITING) … This is a secret that many people fail to grasp, something wonderfully subjective happens when we write down our goals, we take the first step towards manifesting them into our physical realities. How can you expect things to happen if you do not take the simple steps to ensure that you are doing your part?

My revised resolutions (goals) in order of priority for the year of 2010. (these will be broken down into simple steps over many up and coming posts).

1. Be the very best Dad possible for my darling daughters.
2. Have more fun then I have had in any previous year to date.
3. Be in better health then I have been in any previous year to date.
4. Maintain a daily meditation schedule to keep centered and keep a positive mental attitude.
5. Learn a new song on the guitar each month.
6. Become proficient in all of the courses that I am teaching (because proficiency is a far cry from understanding).
7. Inspire as many other people to be the best that they can be, and inspire them to inspire others.
8. Produce and be a part of a successful and synergistic Master Mind group.
9. Post a minimum of 2 new blog entries for every week of the year (minimum 300 words). and create a healthy subscriber base.
10. Launch the clothing line.
11. Learn, Laugh, Live. (healthy, wealthy and wise).
12. Make a metric ass-load (technical term) of money.
13. Be on track to be totally debt free before Jan 1 of 2011.

You may have more, or less goals and its ok if you don’t know HOW you’re going to succeed at them, I don’t have clue one how I’m going to accomplish all of those there, I just know that I WANT to succeed at each of those, and I have faith that the universe will provide a way to accomplish each of them.

I also think that this list will grow as I gain momentum. I just started out with some things and put them in order or importance (as far as the bigger picture goes). Note that cash came at the end of the list. This isn’t to say that I’m putting that off, this is to say that money is not as personally important to me as everything else. I have been at the top and the bottom, several times.

Got your list? Why not? Afraid to play along? Don’t know what you want? You can’t move to Step 2 (tomorrow) unless you finish Step 1 (today). ;-)

Please Note:
Just because things don’t pan out the way you want them too the first time you make an attempt doesn’t mean you should give up on them. I tried and had an EPIC FAIL last year trying to get this experiment going… That’s OK, I knew that I could try again. :-)   … I don’t want blogging about this experiment to take up too much of my time, and I don’t want it to be the only thing I’m blogging about, so I will try to do alternating updates (one per week about the experiment (my weekly review) and one about how other things are moving along in life. If your one of my students, you may gain some valuable insight by reading both, I mean who wouldn’t like to read at least one weekly blog post on something more interesting to the development, programmer, geek, techie community (or subscribers that aren’t interested in this experiment). As you see above, expanding this blog and writing more is STILL one of my personal and professional goals for this year. :D

For obvious reasons, (too much information at a single time) I will post over the next few days of my winter break to get the experiment up to spped as far as documenting … my mastery of the cut and paste shall astound you ;-)

Please ALSO Note:

Further to the self motivating factor, I enjoy being helpful and this is a great way to provide some solid information aggregated from many sources over many years into a single location and format… Where it goes from there is anyones guess (a book perhaps?). Because I want to share this information and allow everyone else to share it, while still remaining the copyright holder… these posts (Back On Track Experiment) are released under a creative commons license.

Creative Commons License


Back On Track Experiment by Robert French is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 Canada License. Permissions beyond the scope of this license may be available at http://www.robertfrench.ca/contact.php

Post to Twitter Tweet This Post

Oct 26 2009

General Update!

Well once again I managed to go a long time without an update, I would like to say thats a good indicator that I’m uber busy, but its not … Ha HA!

I did manage to get some of the CSS cleaned up over here, but it’s being a pain, so I have left it for now.

What’s new with me? … New semester, new students, new classes to teach … w00t! … My contracts continue to keep me busy on the in-between days, and are still the brunt of the work being done, there have been slight talks about another teaching gig ad a different college, but i’ll believe it when I see it.

I wish I had more time at the moment to just dump, but I don’t so I’ll leave this at a meager 130 words and move on … With luck I’ll get back to updating more frequently again, maybe even back to daily. oOo.oO

Post to Twitter Tweet This Post

Jul 25 2009

The Rob Test… A Craftsman’s Version of the Joel Test

Almost 10 years ago I stumbled onto Joel Spolsky’s site “Joel on Software” and found a bunch of really great insight into the development process from an ex Microsoft developer with a great sense of humor. One article in particular “The Joel Test: 12 steps to better code ” I adopted immediately and added to my virtual toolbox of great ideals for the development process.

Since that time there have been a few shifts in the details of how software is built (or how I like to have it built), for instance Joel speaks about daily builds whereas I prefer the continuous build process, Joel mixes in the details of having developers write code during the interview (which I also do, but don’t think it belongs on this list per-say), and Joel speaks of Specs and I have included the Backlog, etc…

So, 9 years after Joel posted his original “Joel Test”, I thought I would share my variation of this “classic” list I have toted around with me and strived to implement in all of my development endeavors to this day. I use this list whenever I’m sizing up a client for consulting work, not necessarily to force them into “my” way of thinking, but to use as a guide for them to be sure, and to give me a clear indication of exactly how big the mess is that I’m walking into.

The Rob Test

1. Do you use source control?
2. Do you run automated builds?
3. Do you have a bug database?
4. Do you fix bugs then write new code?
5. Do you have an up to date schedule?
6. Do you have a spec?
7. Do you have a backlog?
8. Do developers have a good environment?
9. Do you use the best tools for the job?
10. Do developers write unit tests first?
11. Do you have testers?
12. Do you do hallway usability testing?

Not that far off from the original “Joel” test, but enough of a variation that I thought it would be worth mentioning and breaking down for todays developers, project managers and general geeks of IT.

As Joel points out 12 is perfect, 11 is manageable, but 10 or less and your heading into uh … interesting territory. As Joel also points out this is not the only hard and fast list to use, but I can tell you from personal experience and almost a decade of use, this list of 12 things will provide you a very good indication of what to get fixed first in your process to make the development iterations manageable and on time.

1. Do you use source control?
CVS has all but been replaced with SVN (Subversion) now, but CVS is still in use and there are plenty of alternatives to SVN from Microsoft Source Safe (not recommended to anyone), Git for the mainstream Rails community (although still not as accepted as SVN), and Mecurial (may actually become the new SVN one day). The bottom line is still the same though, if you don’t use source control (even for a single developer), you will loose working code, waste hours re-writing things, and not have a clear log of what you did and when. Everyone should use source control.

2.  Do you run automated builds?
Originally this was “Can you make a build in one step?” but I prefer the idea of continuous builds. Anytime a developer commits their code to the repository there is a “build box” that sees the checkin and checks out the code and runs through the whole build process in a single step, automatically. Note that for ridiculously large or complex builds that take an excess of 20 minutes to get from end to end, you may want to step down the process to individual modules of code (only replace what was committed), or take a look at the architecture of your build process. or confine yourself to daily builds as Joel originally recommended as his #3. In 2002 Joel and I had a conversation about Final Builder as a Windows tool for automating daily builds, I was at Rogers Cable at the time and welcomed the advice, it worked great!!! (Thanks for the tip Joel, it was a great recommendation) ;-) .

3. Do you have a bug database?
There are plenty of clients I have been involved with, that do not track their issues formally as Joel recommends. This is usually a good indication that your walking into a shit storm, my personal preference today is Redmine for defect tracking, although when I was @ v.1 we did use Fog Creek’s FogBugz and it is a great product that I totally endorse, Redmine is “today’s” favorite for me just because it’s written in Ruby, and Free. I have also used Mantis extensively (PHP based but isn’t all that pretty), and have tried to tinker with bug genii. I would have to say for commercial trackers, go with FogBugz, for Rails development Redmine is a winner, and if your confined to a php environment and need free, look at Mantis. The bottom line, is get all of your issues into a tracker if you want to release the best code possible. There is no other way to ensure that your issues aren’t falling through the cracks, and to think there is, or to think that your code will be bug free is just plain insanity.

4. Do you fix bugs then write new code?
Hank Rainwater pointed out the managing developers is like Herding Cats, and he is absolutely right. Making sure that developers fix the bugs assigned to them before they write that cool widget can be a fun exercise in developer management. It’s best managed (IMHO) by ensuring that anytime the bug count for any developer is greater then 10, they are not allowed to commit anything except bug fixes for a day. Joel prefers a zero count and I couldn’t agree more, but the honest truth of the matter is if you have a feature that has to be implemented and 3 open but low priority issues that are obscure and near impossible to replicate, I say let the developer add the new functionality to appease the stakeholders in the project. BUT if the bug count for any developer hits 10, thats an instant “your working on bugs today” conversation during the daily scrum.

5. Do you have an up to date schedule?
Joel has a great article for Painless Software Schedules and I highly recommend it as reading to see just how simple scheduling can be (despite the don’t read this message), read it, and then read the Evidence Based Scheduling article too… That said I prefer the Agile approach to development and the use of daily scrums while running through short sprints of software development. This moves the actual management of the daily schedule out to the scrum master and only the items in the sprint are managed. The scrum meeting should never take more then 10 minutes and only needs to answer 3 questions for each developer. 1) What have you done since yesterday? (last meeting). 2) what will you have done by tomorrow? (next meeting). 3) what (if anything) is standing in your way? This puts the onus on the developer for managing their time and helps them get better at time estimates. I will have to write out a future article on my methodologies for software scheduling but I think you get the just of it.

6.Do you have a spec?
The software specification for what your developing (in it’s current iteration) is usually the one thing that most clients I deal with are missing, sure they have a spec from what they originally wanted, but tis document is almost always out of date. Joel has a 4 part series on writing software spec’s that I can’t endorse enough, and while writing a spec is a necessary step in ensuring that your developing something that has had thought put into it’s design, keeping this document up to date is the whole key to making it a successful tool. There are different types of specifications that go hand in hand with development, and they all need to kept in sync with the actual development cycles, but specifically I’m referring to the 100,000 foot view of the project. The features that are in or out, and the general design ideas that make up the project as a whole. After all, we have automated tools that generate the technical documentation of your code based on your comments, you do comment your code (or ensure your developers do) right?

7. Do you have a backlog?
There are really 2 backlogs (not covered by Joel’s methodologies) and the concept is taken from the Agile approach to software development, Put simply, all of the high level features that will go into the project make up the project backlog. Each item is spec’d out for priority and time, and then specific items from the project backlog make it into the current sprint backlog, and sprint schedule. As new features creep in (scope creep) they should only ever be added to the project backlog and then reviewed at the beginning of each sprint iteration. This ensures that developers can focus on the tasks at hand in the sprint backlog and don’t get sidetracked by management or executives for “must have” features that really don’t make the grade. Each week (or iteration) the project backlog is reviewed and a new sprint backlog is generated.

8. Do developers have a good environment?
This is updated from the “quiet working conditions” Joel suggested, while technically the same thing, no two environments are created equally, and some developers (like myself) prefer to have background noise like my coding playlist playing, some studies show that different types of music can increase or decrease productivity. So simply stating that all developer environments should be quiet doesn’t really fit with my personal views. How can you determine if the developers have a “good” environment? Ask them. If they have phones on their desk that the company uses to page everyone else in the company, which causes a distraction they should disable this on the phone and place it in do not disturb mode (Feature #85 on most of the interoffice systems I’m in). If the developers desk is in the hallway, expect them to be distracted constantly, and in turn, expect things to take longer to finish. Once a developer has lost their focus it is a very real problem to get back into the “zone” and you should work directly with your developers to get them into an environment that makes them as productive as possible.

9. Do you use the best tools for the job?
While the “best that money can buy” (Joel’s #9) sits along the same line, I know of a few places that were using expensive tools the just weren’t right for the job, but the developers were practically forced to use them anyway because the company had paid so much money for them. Management had made the case for a tool and after it had been purchased the developers discovered that it didn’t provide any value add what so ever, and using it caused more slowdowns then anything, but because management had gone out and made the case for the tool there it was. This is incredibly daft (IMHO) and developers should always be on the lookout for the best tools for any job. Having developers that are on the pulse of the development community will usually yield the right kinds of decisions about tools, and as methodologies or processes change they can update or implement new tools that will help in the process without arguments from management if the tools are free. sometimes the best tool is the most expensive, and if thats the case, cost shouldn’t be an object. Just make sure that the tool is a requirement for the task at hand and not a nice to have, or something that the developers want for the sake of having it.

10. Do developers write unit tests first?
While not 100% accurate, the point here is really do the developers write unit tests at all? I won’t go into the debate over test driven development vs. development that has unit tests added regularly, I believe that the former is possible only when all of the developers have seen it work, and/or believe it will work. But if you have a code base that has no unit test, and no integration tests, I bet your re-creating the same issues over and over again in your development cycles. Developers should always be responsible for writing unit tests to ensure that what they just coded works as expected, but here in lies part of the testing problem. Developers test differently on their own code. They usually will only code to test that the code does specifically what they intended it to do, wherever possible have a co-developer or alternate developer test the bounds of the code (this will yield best results), the same thing applies to integration testing, the developer integrating the code will only test it is limited ways. Never have the developer writing the code responsible for the end user testing, this leads me into point 11.

11. Do you have testers?
My personal rule of thumb is that for every 2 developers you need 1 dedicated tester, Joel is right on the money with this, the tester may be able to handle up to 3 developers, but once you hit 4 developers, get another tester. The best testers are usually jr. developers that want to get better at coding, they enjoy breaking things and learning how to fix things, and you can usually give them the ability to hunt for the root cause in code as long as you have a more senior developer reviewing any changes a tester or jr. developer makes. Make sure that your testers are adding to the issue tracker (bug database) and make sure that at a minimum every bug found (regardless of how simple the fix is) contains the following 3 things. 1) A clear summary of the bug. 2) A more detailed description of the bug including a) exactly what happened, and b) what was expected to happen (i.e. why is this a bug). and 3) most importantly, what are the steps to reproduce the bug. If a developer can’t re-produce the bug then it won’t get fixed. Then make sure that it gets assigned, but I prefer to let the developers the bug gets assigned to set the priority. All to often a beta tester will enter everything as a show stopper and it takes time away from fixing things to have to re-prioritize issues in the tracker.

12. Do you do hallway usability testing?
I love this one which is why I have made sure it has stayed on my list over the years. So many times I have seen someone nabbed out of the hallway and told here, use this for a second to see them totally break it and wreak havoc on the system that the developer just told me minutes earlier was “bullet proof”. How does this happen, simple. Developers only test that things work the way they do them, if the developer always uses the keyboard shortcut for a button event and the nabbed hallway tester user only uses a mouse guess what … that onRelease code that never got tested in development just got some exercise. While Joel points out you also get invaluable user interface design issues from this testing, the number of times I have seen people break something is seconds makes this a great tool .

There you have it, my updated “craftsman” version of the Joel test… A day or two ago I was thinking that this material would make a great crash corse for managers and developers alike, not to mention a chance to play with my moodle setup. I would want to get permission and blessing from Joel of corse to refer people to his material, so Joel, if your reading this give me a thumbs up ;-) .

Comments are welcome ladies and gents.

;-)

Post to Twitter Tweet This Post







Twitter links powered by Tweet This v1.6.1, a WordPress plugin for Twitter.