Leave a comment

Sprint planning… or whatever

Well, yea… about that sprint planning meeting I was going to post.  Hmmm…. what happened there?  Well, instead of posting I just went straight to work.  What the hey, right?  I’m trying to be flexible to myself and a blog post didn’t seem as important as actually planning the sprint and committing to tasks.  How did it go?  Not bad, all things considered.  I had an exceptionally busy week and I got a few things done, but that belongs in a retrospective post.  This is a planning post.

I’m looking at a relatively busy week in front of me (That would be Thursday – Wednesday).  I believe that I can complete 20 Poms of work this week.  Sitting in front of me are 3 story cards, complete with estimated effort.  These add up to 6 poms between them.  Behind my monitor I have a stack of story cards with no estimates on them.  This is the part where I cheat my system a bit and pick out a few story cards and quickly (perhaps inaccurately) estimate the effort required to complete them.

And… that was a bit more than I bargained for.  15 minutes of writing new stories, estimating, and re-estimating.  I came up with 18 units worth of stories to complete by sometime next Wednesday.  Here they are:

Story Estimated Effort
ProjectView (WPF User Control) 3
ProjectViewModel (MVVM ViewModel) 5
StoryView 2
StoryViewModel 2
Create Repository for each Domain Model class 3
Add Notes and Description to each domain model class 2
Add GUID to each Domain Model class 1

There are my 18 units of work that I have cut out for myself over the next week.  At the end of the next sprint I should be very close to an initial release version—I think.  I always have difficulties with UIs.  We shall see how it goes.  At any rate, on Friday I will make my first Story Time post, and expect a review of this Sprint on Wednesday of next week.  Poms over, gotta go!

Leave a comment

Weekly Retrospective, February 29

I have decided that these weekly posts should conform to a certain style, and that I will be using them as a part of my personal agile method—I have already been doing this and benefiting from it, but I didn’t realize that until this week.  What does that mean to the reader?  Well, these posts will become shorter and more targeted, and I will start making other posts addressing anything outside the realm of my weekly retrospective. OK, time for the goals:

Goals for Later Time Remaining
Business Administration 10 months
Create a 2nd unique software product 10 months
Goals for Now Work Remaining Time Remaining
Blog: 52 Posts in 2012 46 posts 10 months
Quit Hardware Support Undetermined 4 months
Get 2 new clients Undetermined 2 months
Project Management App, 1st Release ******** *********

And the prioritized tasks that I set forth last week:

Tasks for Blog Pom Estimate Priority
Recurring: Weekly update post 2 High
NSpec Tutorial 8 Medium
Tasks for Quitting my job Pom Estimate Priority
Get resume done, for now 1 HOT
Complete 1st release of project Management App ******** High
Finish Resume (after PM App release) 4 Medium
Tasks for new Clients Pom Estimate Priority
Spend time coming up with ways to get clients 2 High
Tasks for Project Management App Pom Estimate Priority
Create User stories (feature requests) 2 High
Prioritize user stories for inclusion in 1st release 2 High
Estimate implementation time for each user story 2 High
Start my 1st sprint **** High

So, what did I accomplish this week? 

I spent 1 pom working on my resume and found it lacking.  I have it in a state that I will call FFN (finished for now).  I did not complete it, nor should I.  I believe that for it to be a good resume it will need to be worked on iteratively.  I estimated it would take me 1 Pom and so it has.  Success.

For my project Management App, I completed my 4 tasks that I set forward and then some.  I created my user stories, which I estimated to take 2 poms, and I think that was about right.  I did not work on them in the typical pom method, so my “think so” will have to do.  I prioritized my user stories, which took less than 1 pom.  I should have put more thought into what that task would entail, which wasn’t much.  Estimating implementation time for each story took a similar amount of time, so, lesson learned: not everything will take 2 poms.

Which brings me to my first sprint:  I did not estimate that, as I did not know what I was in for until the previous 3 tasks were completed.  I have a number of index cards with my stories on each, and I got nearly all of them completed—currently all tests pass, save for the story that I’m currently working on.  There is no working software yet as I am not at that point in the project.

Additionally, I have done this blog post, which I estimated to take 2 poms.  All appearances are that I am right on schedule for that.

What did I learn this week?  Well, I learned that it doesn’t take very long to write a number at the top of each index card in a small stack, nor does it take long to sort that stack into smaller stacks.  I also learned that I am trying to pack too much information into one blog post, once a week.  Going forward, I will be doing a few weekly posts—currently, I’m thinking 3 posts should do it.  One for planning my sprint.  One for reviewing my current stories, and one retrospective at the end of each week.  These are my essential scrum meetings, and my readers are my team.

This review meeting has lasted long enough.  I gotta put on my Scrum Master hat for a minute and hold the time.  So, I will see you all at the Sprint planning meeting.

Leave a comment

Week 5: A bit of Refactoring

Throughout the past few weeks I have expressed a bit of dissatisfaction with the goals I have set for myself.  Some of them didn’t have deadlines (which was addressed), while others saw no progress from week to week, which made listing them a pain. 

I needed a better process for listing my goals, so I pulled out some index cards and wrote 1 of my goals on each (and I split 1 goal into 2, along with some other small changes).  Then, I separated these cards into 3 piles, which I am currently calling “Now, Later, and Maybe.”  The maybe pile, which currently consists of 2 cards, will no longer be included in my weekly list.  My later pile, which contains 2 cards, will be on the list, but I won’t comment on it.  It’s for later, and I must focus on my now pile, which has 4 cards in it.  The now I will explain after the new list (which is actually a few tables):

Goals for Later Time Remaining
Business Administration 10 months
Create a 2nd unique software product 10 months
Goals for Now Work Remaining Time Remaining
Blog: 52 Posts in 2012 47 posts 10 months
Quit Hardware Support Undetermined 4 months
Get 2 new clients Undetermined 2 months
Project Management App, 1st Release ******** *********

So, I have 4 goals that I’m currently working on.  That should make everything a little easier to track.  My goal of customizing this blog and working on my dream project got removed.  I will probably work on those 2 here and there, but it’s not priority at the moment.  I split my “2 unique software products” goal into 2.  Also, I cut myself a little slack and allowed an extra month to find 2 new clients.  So, now that I have these goals, I need to break each of them down into their component tasks, and prioritize those tasks:

Tasks for Blog Pom Estimate Priority
Recurring: Weekly update post 2 High
NSpec Tutorial 8 Medium
Tasks for Quitting my job Pom Estimate Priority
Get resume done, for now 1 HOT
Complete 1st release of project Management App ******** High
Finish Resume (after PM App release) 4 Medium
Tasks for new Clients Pom Estimate Priority
Spend time coming up with ways to get clients 2 High
Tasks for Project Management App Pom Estimate Priority
Create User stories (feature requests) 2 High
Prioritize user stories for inclusion in 1st release 2 High
Estimate implementation time for each user story 2 High
Start my 1st sprint **** High

These are the tasks that lay before me.  These tables may not be the very best way to present this information, but it’s a lot easier to track than the old list, and it shouldn’t be long before I improve upon it.  I will get to work on that resume, as it’s overdue and listed as “HOT”—which essentially means that my wife has been pestering me about it.  After that I will begin on the tasks for my Project Management App and getting new clients.

This new system should make tracking and reporting my progress easier… which it had better.  I’ve already spent far longer than I planned to on this post.

Leave a comment

A Week Worse

Another week, another… nothing.  One could certainly say that I fell short this week.  Quite short.  On the other hand, one could say that I certainly learned a lot this week.  In the interest of maintaining the positive attitude I’ve kept regarding this life-shaping experience, I will go with option 2.  I certainly learned a lot this week.  What did I learn?  I’ll get to that in just a few minutes.  First, let’s take a look at the progress I have made this week:

** Quick disclaimer:  The pom tracking app I use is a bit busted right now, so all time worked values listed below are coming straight outta my memory **

    At least 52 posts in 2012.  That is one post, every week and then some.  Every week I will post about the progress I have made toward my goals.  Additionally, I will periodically highlight important lessons I learn along the way:

Time worked:  2 units by the end of this post.
Evaluation:  Not bad, but not as much as I had hoped.  I really wanted to do an extra post this week and never got around to it.  I have 2 topics I am ready to do a post on… a bit disappointed here.

    Fix up this currently generic blog to make it more unique, and a little more suited to the style and content:

Time worked:  0 units.
Evaluation:  Not good, but this is not an urgent item.

    Quit my current hardware support job on or before July 25, 2012–prepare my resume by February 15:

Time worked:  1 unit.
Evaluation:  Not good enough.  I haven’t yet written my resume which was one of my goals for the week, but on the other hand I may have a job opportunity.  Need to write resume.

    Find some new consulting clients.  I need to have 2 new clients before the end of July.  I have had the same 2 clients for the last 5 years.  This is one of the main reasons that I don’t do this for a living.  Not enough people know about me, and I haven’t done enough to change that.  I need to get 2 new consulting clients and begin work for them on or before April 1:

Time worked:  0 units.
Evaluation:  Not good.  I have about 6 weeks to get 2 clients.  This deservers more of my attention, but I have very little time.  This, and other goals that I’m lagging on tell me I need to examine my priorities.

    Release 2 unique software products this year:

Product 1:  A project management application based on the Pomodoro Technique.  This will be a web app with a Windows Client.  Data Synchronization will be handled by a web service.  Eventually I hope to roll out mobile apps for Windows Phone 7, then iPhone and Android.
Product 2: As of yet undetermined

Time worked:  16 units.
Evaluation:  Goo- errr… ba-but…  Well, I spent nearly all of my available time working on this, and yet I have no code to show for it, aside from a stub of an NSpec spec.  Most of my time that I’ve devoted to this thing has been spent on learning (which I do quickly), so I will not be too hard on myself about it. 

    Continue development of my dream project, the details of which I don’t yet feel comfortable disclosing:

Time worked:  0 units.
Evaluation:  Not terrible, as yet again, this is an ongoing project… getting sick of saying this.  Why is this on my list?

Register my business in my home state.  Create a bank account for the business.  Incorporate (LLC) by the end of the year:

Time worked:  0 units.
Evaluation:  Not bad. 

Like I said, not a productive week.  It was a learning week.  So, what did I learn?  Quite a bit actually, mostly revolving around BDD.  That’s behavior driven development for the uninitiated.  I have been working with NSpec, and I’m starting to like it.  I could go on about what I learned, but I think I’ll save that for another post… which I will get started on directly.

Leave a comment

A week better

Last Wednesday I posted about Poms and how I’ve been using Pomodorhelper.com to organize my tasks and stay on task.  I am not a very organized person by nature, and the tools in that app have proven over time to make me a better manager of time and projects.  Well, this week I slipped a bit, and I haven’t been using the pom tracker as much.  I could blame it all on the fact that I have rarely had 25 solid minutes to sit and perform a task, and that’s valid, but that’s only half of the story.  There are 2 other components that have contributed to my lack of progress:

  1. Time management:  I have not set aside large enough blocks of time to make progress toward my goals.  This is going to be vital if I am going to accomplish my goals.
  2. Fear of interruption:  Somehow, I have over-subscribed to this whole Pomodoro thing.  The point of it is to help you organize your time and track the way you work, which will naturally lead to more efficient and more effective output.  Well, I think I’m overdoing it, in that I will not start on something unless I think I will have at least 25 minutes to work on it.  Sometimes, I end up having those 25 minutes and find myself wishing I had started a pom… so, I need to stop worrying so much about the clock and just start a pom.  If I void it, I void it.  No big deal.

OK, so that’s my disclaimer for my relative lack of progress this week.  Nevertheless, I must face it down.  Here is my new and improved list of goals, revised and expanded throughout, as well as the amount of time I’ve devoted to them this week and my evaluation of what it all means:

  • At least 52 posts in 2012.  That is one post, every week and then some.  Every week I will post about the progress I have made toward my goals.  Additionally, I will periodically highlight important lessons I learn along the way.

    Time worked:2 units

    Evaluation: Pretty standard I think.  1 hour = 1 blog post.  I am starting to learn a bit more about myself as a developer, planner, businessman, etc.  I think I may soon have to do a post about a big lesson.  The trick is learning that lesson first.
  • Fix up this currently generic blog to make it more unique, and a little more suited to the style and content.

    Time worked: 1 unit

    Evaluation: I made a new header!  Hurray!  But it’s pretty generic… Boo!  I’m seriously considering porting everything over to a .NET-based blog platform and hosting it myself on AWS.  I don’t think that I need to worry too much about going over my traffic limit at this point… so, a move is probably for the best.
  • Quit my current hardware support job on or before July 25, 2012–prepare my resume by February 15.

    Time worked: 0 units

    Evaluation: Technically, this is what I’m always working toward throughout this process.  More specifically, I need to get my rear in gear and write my resume.  Then I need to begin investigating the development job opportunities that are available to me in my area.  Finding a job is my fallback.  I’d love to turn freelancing and ISV into my career… but I have kids and a wife with medical history, so insurance is a must.  Perhaps it’s time to start looking at what the new health insurance legislation means to an entrepreneur.  I have edited in a sub-goal of getting that resume done by February 15… that gives me 1 week.  I did this because, as my wife just pointed out to me, I need to get that done ASAP in case any job offers come floating by.
  • Find some new consulting clients.  I need to have 2 new clients before the end of July.  I have had the same 2 clients for the last 5 years.  This is one of the main reasons that I don’t do this for a living.  Not enough people know about me, and I haven’t done enough to change that.  I need to get 2 new consulting clients and begin work for them on or before April 1.

    Time worked: 0 units

    Evaluation: The clock is ticking.  It’s time to make some business cards and hit the bricks.
  • Release 2 unique software products this year:

    Product 1:  A project management application based on the Pomodoro Technique.  This will be a web app with a Windows Client.  Data Synchronization will be handled by a web service.  Eventually I hope to roll out mobile apps for Windows Phone 7, then iPhone and Android.

     Product 2: As of yet undetermined

    Time worked:  0 units

    Evaluation: Does thinking count?  I have actually given this a little thought this past week, but no concrete plan has materialized.  In fact, that description of Product 1 above is my current spec… as well as the only thing that I’ve actually written about it.

  • Continue development of my dream project, the details of which I don’t yet feel comfortable disclosing.Time worked:

    0 units
    Evaluation: This is an eventual goal.  I don’t feel like it’s as time-sensitive as many of my other projects.

  • Register my business in my home state.  Create a bank account for the business.  Incorporate (LLC) by the end of the year

    Time worked: 2 units
    Evaluation: I am registered in my state.  I am waiting for tax forms to show up in the mail.  I think I did pretty well this week.  I still need to set up a bank account and incorporate.
I feel like this list is much better, and more targeted than the original, and I’m not afraid to admit it.  I think I did a pretty decent job of fixing most of what was wrong in the original.  I have an item that will probably make its way into the list next week:  AWS.  That’s Amazon Web Services.  I never really looked at what it was, but when I saw that I could get a year for free I immediately signed up.  I’ve spent several hours this week looking it over and going through the particulars.  I hope to have some test web apps up and running in a few months.  Eventually, I can see myself having an entire website (a real one, not just a blog) up and running on their services.  Well, that’s my week.  Until next time… toodles!
Edited 2/9/2012: Fixed some formatting and addressed my wife’s concerns.
Leave a comment

Week One, What was done?

Last week I started this blog, turned 30, and set several goals for myself.  I’m having a hard time remembering just what those were, so how about we have a look?

  • At least 52 posts a year.  I will write a post every week, and they will not be weak.  These will be posts philosophizing, teaching, or updating the internet on the progress I’ve made.
  • Get this blog looking decent over the course of the next few months.
  • Quit my current hardware support job on or before July 25, 2012.
  • Find more consulting work, so that I might sustain this new business.
  • Release 2, yes 2 unique software products this year.
  • Continue development of my super secret undercover project that I will someday finish.
  • Create my company and register it… all that good stuff.

Wow!  That’s quite a list for an unorganized guy like me to tackle.  This very concept dawned on me very early last week, and so I set out to find a way to get myself organized.  There are a lot of different techniques, products, self-help books, etc. out there, and each one of them claims they will turn you into the organized person you always wanted to be.  Personally, I have tried several throughout my twenties, and the only one that ever seemed doable to me was the Pomodoro Technique.  It’s free, approachable, and altogether simple.  You just list the tasks you would like to work on for the day, and then you attack them in 25 minute units with plenty of breaks.  Every time you complete 25 minutes, you immediately stop, take a short break, then return for the next 25 minute unit.  After 4 of those, you take a long break.  There are a few more guidelines and tracking suggestions, all of which can be read about at the official site.  I tried the technique about 6 months ago, and jumped right off of it after about 5 days.  Why?  Because I’m lazy.

Well, now I’m 30, a grown up man with goals and such, so I had to find a way to work this technique.  To do that, I was going to have to take what little hassle existed out of the picture.  I needed software to do most of the work for me, so that I could more easily stick with it until it became a real habit.  I did a quick bit of research and settled on Pomodoro Helper, a webapp that offers everything I want in a simple package, with project/time tracking features and some options left completely up to me (like making my short breaks long enough to sneak in a cigarette break).  This webapp even lets me view my history, which I can use to keep myself honest about the progress I’ve made toward my goals.  So, with no further ado, my weekly progress:

  • At least 52 posts a year.  I will write a post every week, and they will not be weak.  These will be posts philosophizing, teaching, or updating the internet on the progress I’ve made.
    Time worked:  2 units and some change (only the units count, so 50 minutes)
    Evaluation: Satisfactory–Assuming that I finish this post today
  • Get this blog looking decent over the course of the next few months.
    Time worked: 0
    Evaluation: Satisfactory–meaning I haven’t done anything yet, but I have time.
  • Quit my current hardware support job on or before July 25, 2012.
    Time worked: 0
    Evaluation: Unsatisfactory–I need to start making progress on this if I will meet my goal.
  • Find more consulting work, so that I might sustain this new business.
    Time worked: 0
    Evaluation: This is not a goal… I need to add metrics, which I will have for my next weekly update.
  • Release 2, yes 2 unique software products this year.
    Time worked:  6 units– 2hours, 30 minutes
    Evaluation: Excellent.  This is the type of progress I should be making on all of my goals
  • Continue development of my super secret undercover project that I will someday finish.
    Time worked: 0
    Evaluation: Mediocre–It’s an ongoing project, which deserves at least some of my time every week.  I will have to work harder on this if it’s ever to release
  • Create my company and register it… all that good stuff.
    Time worked: 0
    Evaluation: Another non-goal.  I will have metrics next week.

Well, there you have it… I worked a total of less than hours on my goals.  Overall I give myself a newfangled elementary school grade of N–Needs Improvement.  ”Rev shows a genuine interest in achieving his goals, but he’s not spending enough time working on them.”  I could come up with a great deal of excuses for why less than four hours of my time has gone toward achieving my goals, but I won’t.  Instead, I will work harder and longer, and then I’ll tell you all about it, next week.

Leave a comment

Becoming a Better Imposter

Here I am.  January 24, 2012.  I probably won’t get around to posting this until sometime tomorrow, at which point I will have turned 30.  That will be a milestone for me.  Not the kind of good milestone that people generally speak of, but a marker–a sign on the road of my life, and on it in big bold letters is written, “Last Exit.”  I don’t know why, but it feels like if I don’t change direction now, at 30, then I never will.  I will continue to serve the same master, wage-slaving for a fraction of what my talents merit, as the glue dries on this concept that I have nothing interesting to offer the world.  Indeed, that exit ramp is coming up quick, and I’m here to say that I’m taking it.  Will it take me where I want to go?  Maybe, maybe not.  One thing is certain; my current trajectory will never get me there.

So, that’s it.  I’m going to bet on me, and if you’re reading this then you’re in the passenger seat (or maybe the back… are you over 4’6?).  I am going to develop an application.  I’m going to put my all into it, and I’m not going to stop.  I will develop, I will test, and most of all I will release!  This is it.  Am I quitting my day job?  No!  Are you crazy?  I have kids.  I will have to start by doing this in my spare time, in between work and consulting and doctors and dance recitals and robots and video games and… yea.  I will find time, and if i can’t then I will make time.

You might be thinking to yourself, “Okay… so what does all of this have to do with becoming a better imposter?”  Well, I’m glad you asked, because otherwise I might have forgotten to mention it.  Becoming a better imposter is what this is all about.  I am not a guy who has his shit together, but I’m going to have to pretend to be that guy.  I will have to pretend to be the guy who eats right, exercises (some), gets enough sleep, gets his work done, spends time with his family, and turns into a mad coding scientist the minute he sits in front of a computer.  This is the part I’ve been playing for years now, but I’ve never done a very good job.  I must get better if I’m ever going to suspend my own disbelief.  Also, Scott Hanselman and Jon Skeet had a nice little talk about Impostor Syndrome on Hanselminutes… I was listening to that and identifying with what they saying in the car today, so I thought, “Why not?”

Anyhow, becoming a better imposter will not be easy.  I’m going to have to look even smarter (and I already look smarter than I am).  That will involve being more organized and motivated, learning more, and using what I learn a lot more.  So, I’m going to take this opportunity to set a few goals here in view of the public.  If you happen to read this, then be a dear and let me know how I’m doing when you get a chance:

  • At least 52 posts a year.  I will write a post every week, and they will not be weak.  These will be posts philosophizing, teaching, or updating the internet on the progress I’ve made.
  • Get this blog looking decent over the course of the next few months.
  • Quit my current hardware support job on or before July 25, 2012.
  • Find more consulting work, so that I might sustain this new business.
  • Release 2, yes 2 unique software products this year.
  • Continue development of my super secret undercover project that I will someday finish.
  • Create my company and register it… all that good stuff.

I think that should be sufficient for now.  How about we check on my progress in say… 3 months?  Yea.  Sounds good.  We will check up on that on or before April 25, 2012.  Progress will be made.  It starts today.

Thanks for hearing me out internet.  I will have something interesting to add next week, I promise.  I wouldn’t lie to you internet.

Follow

Get every new post delivered to your Inbox.