168 Hours – How do you spend your time?

A couple weeks ago I talked a little about this book What the Most Successful People Do Before Breakfast by Laura Vanderkam. One of the things she talks about doing is charting out exactly how you spend your time each week. She actually has an entire book about this, which I need to read.

But, I did this and the results were surprising. Here’s how I my time broke out for a week:

  • Sleep: 55 hours
  • Work: 40+ hours
  • Family Time: 24 hours
  • Eating: 13 hours
  • Veg Time (Reading, TV, etc): 10 hours
  • Class and Study: 11 hours
  • Driving: 5 hours
  • Workout: 4 hours
  • Church: 3 hour
  • Getting Ready : 3 hours

The biggest surprise for me was how much less time I spend with my kids (Family time – 24 hours) than I do at work (42 hours). I actually thought that spending Saturday and Sunday with them made up for all of the time at work during the week. What will I do with this information? I’m going to make sure the time I do spend with them is higher quality, to try to make up for the lack of quantity.

I would encourage you to do this to see how you spend your time. Does where you spend your time line up with what you feel is most important in your life? Or are there adjustments you need to make?

To make this easy for you, I have uploaded the spreadsheet I used so that you can update it to match how you spend your time. Click here to download it.

Let me know if you have problems using this.  There is a chart on the left to enter what you do in each 30 minute time block.  Then, on the right, it will add up the amount of time spent with each activity.


Microsoft Surface Tablet

So, the Microsoft Surface tablet is the gadget that I’m most excited about seeing.  It is Microsoft’s entry into the tablet market currently dominated by the iPad and various Android devices.  I have had my Kindle Fire for about a year now and am beginning to realize just how useful a full fledged tablet can be.

However, in contemplating the purchage of a Microsoft Surface Tablet, I have come up with a list of things that must be supported on the device in order to make it useful for me:

  • Email – This is a given, it will be there.
  • Web – You know Internet Explorer will be there.  However, I would need to make sure it supports the video lectures posted on OSU’s Desire2Learn site in order for it to be useful for me.
  • Office – Again, this is a given.  What remains to be seen is how good the keyboard is.  Can I realistically write an entire paper on it? Or would I find myself going back to my laptop?
  • Dropbox – This is critical to the way I work.  I store all of the documents for projects and classes I’m currently working on out there so that it will sync between the various computers and devices that I use.
  • Evernote – This is also critical.  I have bee using Evernote for years as a way of keeping track of information and notes and, like Dropbox, letting it sync beween my devices.
  • Amazon Kindle – I have a large investment in Kindle books that I currently read with my Fire.  It remains to be seen how much I would read on a full tablet vs. the Fire, but it is critical that the tablet allow me to download my books.
  • Amazon Cloud Player – Like the Kinde books, I also have a ton of music stored out on my Amazon Cloud drive.  This really is more of a nice to have, because I’m sure I could download music onto the device.  However, being able to play them directy from the cloud would be very nice.

And then there is the price.  The Surface has to cost less than $500 to make it attractive.  That’s the price of the iPad.  If this isn’t at that price or below, it will be a flop and I wouldn’t buy it.

I’m pretty sure I will be purchasing a tablet within the next 6 to 12 months.  Will it be a Microsoft Surface?  I’d like it to be.  But, that remains to be seen.

Review of What the Most Successful People Do Before Breakfast

So, I just finished this little book called What the Most Successful People Do Before Breakfast: A Short Guide to Making Over Your Mornings–and Life by Laura Vanderkam.  And, when I say little, I mean little.  I listened to the audio version which was just over an hour long.  The kindle edition is only $2.99 and the audible  is $2.95.  I really encourage you to check this book out.

If you are like me, then you mornings are absolutely crazy.  A mad dash of trying to get ready for work, eat breakfast, feed the kids, and get out the door on time.  But, there is a better way to spend our first hours of the morning.  This books talks about how the most successful people are very purposeful about this time period and use it to focus and transform their lives.

Read the book and think seriously about how you typically spend this time.  I’m going to take the next few weeks to try to implement some of the ideas she talked about.  We’ll see how it goes!

My journey toward an MBA

So, I have been working for the last two years on my MBA.  I normally get two questions when I talk to people about this:

  1. Why!?!?!?
  2. How do you juggle going to grad school with everything else (family, work, church, workouts, sleep, etc.).

So as far as why.  I received my undergrad degree in Computer Science.  And I spent the first tens years or so of my career doing software development hands on, typically on business applications and typically using Microsoft technologies.  As time went by, I slowly transitioned from developer to technical lead, to architect and then to various levels of management.

As I moved from solely a technical realm into more of a business one, I started to become very interested in business and business management.  Specifically, in how the business side of the world (operations, accounting, finance, marketing, etc.) does their job and how we in Information Technolgy can put tools in place to help them.  Because, let’s face it, typically in the real world we are not a profit center, but are there to support those areas of the business that are.

As this transition happened, and I became more interested in business and how IT can help business, I realized that if I understood more about the way business works I would be better able to help create technology tools to help the business do their job.

So, in short, I feel my Computer Science bachelor degree plus my years of software development experience, combined with my management experience and a Masters in Business Administration, will set me up for what I see as the next phase of my career.

Then on to how I’m doing it.  The answer is very slowly.  I am taking two classes per semester in Fall and Spring plus one class in the summer.  Typically I spent at least one hour each evening after the kids go to bed, Sunday – Thursday, studying.  I go to no more than one class on site per semester, and do the other one online.  It’s very important to me to take as little time away from my family as possible during this.  So, really the main thing that I’m giving up is reading/TV/sleeping time.  And who really needs sleep anyway, right? 😉

So, that’s where I’m at.  Below is a chart showing my MBA Plan and where I currently am:

  • Spring 2011
    • TCOM -5223: Information Assurance Management (Elective) – DONE
  • Fall 2011
    • ACCT-5183: Financial Accounting – DONE
    • MGMT-5553: Management of Technology and Innovation (Elective) – DONE
  • Spring 2012
    • ACCT-5283: Managerial Accounting – DONE
    • MGMT-5553: Project Management (Elective) – DONE
  • Summer 2012
    • MKTG-5133: Marketing Management – IN PROGRESS
  • Fall 2012
    • FIN-5013: Business Finance
    • EEE 5113: Entrepreneurial & Venture Management (Elective)
  • Spring 2013
    • ECON-5113: Managerial Economics
    • FIN-5053: Theory & Practice, Fin. Mgmt.
  • Summer 2013
    • MGMT-5113: Management & Organizational Theory
  • Fall 2013
    • MSIS-5303: Quantitative Method Of Business
  • Spring 2014
    • MBA-5303: Corporate Strategy
    • LSB-5163: Legal Environment Of Business

Still a long ways to go, but I’m making progress!

Tulsa .Net Users Group: The 7 Habits of Highly Effective Developers

I’m giving a presentation tonight at the Tulsa .Net Users Group titled The 7 Habits of Highly Effective Developers. Sure, a developer needs to be a good coder. But, in reality that is a very small piece of their job. In this session we’ll discuss some of the other skills and habits that developer should concentrate on in order to be successful.

You can download the slide deck here.

And here are links to the blogs, podcasts, and books mentioned in the presentation:

New Legacy Christian School Website

Last week we went live with a new version of the Legacy Christian School website.  Check it out and let me know what you think.  I built this using Element Fusion’s SkyCMS.  Element Fusion is a great company out of Oklahoma City that I have worked with on a number of websites.  I highly recommend this CMS.  It’s comes with many templates that are easy to customize, and it’s very easy to create your own templates as well.  Content management is also a breeze through this CMS.

One of the most important things when building a website like this is ease of content management.  It’s almost better to not have a website than to have a website with stale content.  If it’s easy for the customer to go in a add content than they are more likely to keep it fresh.  SkyCMS makes this very easy.

Qualities of a Good IT Manager

In my career, I have worked for and observed a wide range of managers. Some are great, some are less so. But, as I’ve made the progression into management over the last couple years, I have thought a lot about what makes a good manager in IT. Perhaps these apply to other fields, but IT is the one I have the most exposure to, so that is all I can speak of.

Accept the responsibility, share the credit

This first one deals mainly with how achievements and failures by the team as a whole are looked upon by those outside the team. It is a hard one for many managers.

If you and your team do well, a lot of times upper management will praise you. They may be completely unaware of the hard work that your team put in. Be sure to share the credit for the achievement with your team. One of the quickest ways to lose the respect of your team is the accept the credit for what they have done for yourself.

But, on the other hand, if something goes wrong with a project, the manager needs to accept the responsibility for the failure for themselves. Upper management never looks well upon a manager who blames problems on their team. And you’ll gain the respect of your team if you accept the responsibility (at least to those outside the team) for yourself.

Reprimand in private, praise in public

This next one deals with individual achievements or failings of someone on the team. If someone on your team really messes up, never reprimand him or her in front of the other team members, and certainly never in front of people from other teams. I’ve seen this done before and it’s the quickest way to lose my respect. If someone messes up, pull them aside and talk to them privately, where others cannot hear. Discuss what they did wrong, why it was wrong, and what they can do to do better in the future.

However, on the flip side, if someone does an outstanding job, praise him in front of the rest of the team. The team needs to know the hard work and achievement are rewarded. They’ll strive for this recognition themselves.

Know your stuff, but listen to your team

Within IT you have managers with strong IT backgrounds, such as those that use to be programmers themselves, and those without this background. In my experience, the best managers are those that have the background and really know their stuff. However, if a topic comes up that the manager is not familiar with, he or she must be willing to admit that they do not. I have know managers that try to pretend they have the depth that they do not. This is another quick way to lose the respect of your team.

But, as a manager, you have a team. And part of your responsibility is the hire good people. And, if you hire and pay for good people, you would be foolish not to listen to them when they are speaking from their own expertise. A manager must always be willing to listen to his or her people. There are times that you have to stick to your decisions, but you team must feel like they were at least given a voice. But, as often as not, someone on your team will have a better idea than you do. You must be willing to listen to them and have the humility to admit that they are right.

Hire and empower the right people

This is a big one, and I’m pretty sure I’m going to devote an entire post on how to hire the right people. As a manager, you are not doing everything yourself. Most of the time you cannot possibly do everything yourself. You must be able to delegate tasks and responsibilities to your team. And they only way you can do this and be successful is if you hire the right people.

But, just hiring them isn’t enough. After you have hired them, you must empower them. Be able to delegate responsibilities to them and trust that they are going to do a good job. By default, do not micromanage. I have had people on my team in the past that I have ended up having to micromanage, but they were definitely not the right people and should not have been on the team to begin with. The only way to stay sane in management is to be able to delegate to your team and trust them to do a terrific job.

Have the confidence to make the hard decisions

A big part of management is making the hard decisions. These are the decisions where the long term results are unclear and the wrong decision could potentially be disastrous. Collect all of the information you need. Determine if a decision needs to be made. If it needs to be made quickly, trust the input from your team and make the decision. A lot of times problems are made worse because decisions are not made in a timely manor.  These managers lack the confidence in their themselves and their team to make the decisions. If the decision ends up being wrong, have the guts to admit your mistake and move on.


Management is hard, and it can be very stressful. But if, as a manager, you would follow the basic principles I have outline above I’m confident that you and your team will be successful and you’ll win the respect of your team and your peers.

Software Project Estimation Part 9: Conclusion

In the previous posts I have discussed the process of software development so that we can get a good handle on what we are estimating.  I have discussed the cone of uncertainty so we can know how accurate our estimates should be.  And I have talked about four different estimation techniques: Expert Judgement, Count, Function Point Analysis, Story Points, and Decomposition.

So, you may ask, which estimation technique is the best?  And my answer would be, as in so many things, “it depends”.  If you are very early in the project, and have team members with a lot of experience in the environment and good historical knowledge of projects in the domain, Expert Judgement will be a good choice.  If the project will have components that are easily identifiable early in the process, then Count is good.  If you are doing a pure Agile project and your schedule can be a little more fluid, then Story Points will work for you.  If a detailed design has been completed, Decomposition is good.  My favorite estimation technique, though, is Function Point Analysis, which can be executed at any stage in the project.  But you must have a counter with experience in the technique.

The best plan, though, is to become very familiar with all of these techniques.  You can then have these tools in your back pocket that can be pulled out and used on any project, depending on the unique nature and needs of the individual project.

For more information on the subject, I highly recommend reading the book Software Estimation: Demystifying the Black Art by Steve McConnell.  This book does a good job of going into detail on each of these techniques and several more.

Thanks for joining me as I worked though this series.  This is a topic I’m passionate about.  I hope that reviewing these techniques has helped you out in your own projects.

Software Project Estimation Part 8: Decomposition

Decomposition is the estimation technique most software developers are familiar with.  Using this technique, you break the entire project into the individual components that are going to be impacted.  Within each component, you itemize the changes that have be be made.  You then estimate how long each of those changes will take to complete.  Add up the changes for a component and you have the estimate for the component.  Add up the components within the project, and you have the construction estimate for the entire project.

There are a couple of issues with this technique.  The first problem is that it requires a detailed level of design knowledge concerning the project to come up with an estimate.  If you are in the early stages of a project, you aren’t going to know all of the components that must be modified.  And if you don’t even know the components you certainly aren’t going to know the changes within the components.

The second issue is that you have to know the skill level of the person doing the work.  If you have a rock star developer doing the coding, then the estimate should be significantly different then if you have a new hire.  In order to put together this kind of estimate you need to know who is doing the work.

But, this level of estimate does have its place.  It just needs to be utilized late in the project, after technical design has been completed and you know who is going to be doing the development.