Check it out here...
"Being a Working Mom can (sometimes) have its perks"
Ideas from Project Management, that can apply to life inside and outside of projects. This doesn't have too much to do with the Critical Chain, but I really liked that title.
Friday, October 31, 2008
Saturday, October 25, 2008
The best project specs I've seen so far -- by Dunkin Hines

I'm lousy when it comes to cooking & baking. I won't go into the stories of muffins gone wrong, chicken not cooked right, even hard boiled eggs not really hard. Thankfully my husband does the cooking and he's great at it. I'm the one who builds the furniture, deals with home repairs/renovations (not always so well), and smashes front 'yard' concrete with a sledgehammer so that we can make way for a little garden (should have seen the neighbors galk when I was pregnant and working the hammer!).
But anyway, I'm not much of a cook. But, when it came to making cupcakes for my daughters little party, I felt like it was my duty as a mom to make them for her. We bought the Dunkin Hines Devil's Food mix and with the instructions from the back of the box right in front of me, I nervously get started. I always get tripped up with the variations between baking temperatures for glass & metal vs dark or coated pans. But, since this time I was making cupcakes my situation was a little different.
Since these days I often find myself relating something I'm doing to something about managing software projects, I suddenly was thinking of project specifications. I was the lone programmer working on part of an application, and there was no project manager or information architect to answer my questions that came up...
- How do I treat the pan if its a cupcake pan and not a cake pan? Do I grease it, just put the little paper cups in, or put grease in the paper cups?
- How much batter do I put in each little cup? How many cupcakes should this make?
- What if I don't have vegetable oil, will another type of oil do?
Those of you bakers out there are probably laughing at my silly questions, but because of my bad history I really am a very timid baker. Fortunately, I had wonderful specs to work with. The back of the cake mix box had very clear instructions and color pictures showing exactly what I needed to do. There were accurate illustrations of each of the ingredients needed in addition to the mix, and each of the three main steps were broken into smaller steps with clear bold red headings. There was a little table at the bottom that showed what baking time is needed for different size pan and even my own (yes!) 24 cupcakes. If I had a question about something that seemed to be outside the realm of the normal baking process, in most cases the answer was there on the box.
I'm reading "Rapid Development: Taming Wild Software Schedules" by Steve McConnell right now, and am always impressed when I see the charts plotting out recommended times to be spent on each area of the project. In this and all other books I've been reading lately, there is always more time devoted to design and specification for the project than on coding. This seems consistent regardless of the Lifecycle model used (unless its the "Code and Fix" lifecycle). The general theme is that when enough time is put 'upstream' into planning through how things should work, both with interface, technical functionality, etc...then less time will be spent later 'downstream' with rework, bug fixing, or worse...cancelling the project all-together.
Did I have to cancel my cupcake project? Definitely not, they came out fine...a little lumpy but definitely edible.
Did I have to do any rework later on? A bit, I was a little too conservative with my batter amounts in the beginning so I had to go back and add more to the small cups at the end.
Was there any bug-fixing? Nope, I had all the right ingredients in there and the correct amounts of them.
All thanks to an excellent specifications document.. thank you Dunkan Hines!
Wednesday, October 15, 2008
Life in the slow lane... (for toddlers and team members)
This reminded me of something that seems so crucially important with software developers, designers, QA, anyone involved with the project...which is getting the opportunity to 'slow down' and learn something new. Seems like everyone in this industry is getting pushed along and constantly pressured to get as much work done in as little time as possible, since that is what appears to be the most 'productive' way. After reading Peopleware: Productive Projects and Teams and Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency I completely see and understand how pushing people to their limits can have the reverse effect on productivity and actually cause more harm then good. Not to say that it didn't seem obvious before, but those books helped put some numbers behond the theories.
I've heard that Google programmers are all encouraged to pick up a side code project, try something new, research something, or build something that's never been built before. Sometimes the end result becomes part of one of their applications, sometimes it doesn't. But, even if it doesn't directly contribute to one of their applications, it can have an incredibly positive effect on programmers morale, creativity, loyalty to the company and productivity while they are doing their other work.
If we get past the idea that we need to make sure people are working 100% of the time and give them some time slow down and learn something new, I'm sure the payback will be totally worth it!
Labels:
multitasking,
priorities,
project schedule,
toddlers
Monday, October 6, 2008
The last step in dropping the "a"...
When we announced the name to our friends most people said "Layla! What a beautiful name!" (think the Eric Clapton song). So, immediately we realized we had a problem. We didn't want our daughter going through life having people mispronounce her name all of the time. My husband was especially sensitive to this, since he was one of very few Garfinkels in Indiana and people always got his name wrong!
As time went by, I decided I didn't think it was such a big deal, but my husband still insisted on getting the name spelling changed. I told him that if he wanted to do it then he needs to do it soon, the older she gets the more documents are in her name (she already has a facebook account, a gmail address, etc.). Seriously though, I wanted to make sure the change was done before it came time to fill out preschool applications, which would be this year.
So, my husband committed to getting the process done this past summer. He downloaded the application, filled it out and got it notorized, then went to the civil court and waited in line to get it accepted. He then was given a date to go back and appear before a judge.
The last part of the process is to 'publicize' the name change, and this is where it gets funny. We must pay for an ad in the "Irish Echo" newspaper (apparently is has a circulation of 26,000 which qualifies it as a large enough audience) and announce that our almost 2-year old daughter is now "Lila Ruth" and not "Laila Ruth". I know that all of her friends who read the Irish Echo will appreciate that we reached out to them. Nothing against the Irish readers of the paper, but I don't understand how this will help us get the word out to the people it matters to.
In these days of super high technology and super fast communications, it seems so silly to put an add in a newspaper about a toddler's name change. There's so many other much more interesting and effective ways to spread the word. I see people announce their pregnancy on facebook, or watch their status changed from 'dating' to 'single' (hopefully not the same person who announced their pregnancy). I learned of someone's divorce through my newsfeed....that was wierd. I can easily post a question to tens of thousands of project managers on any number of social networking websites. I'm on a Brooklyn parents listserv of several thousand that's so active that I don't have the time to sift through even the daily digest version of the notices. Lately I've been pretty hooked on Twittermoms, what a wonderful way to connect with people!
So, how else could I tell the world that Laila is now Lila? Well, I could post on my facebook status ( I don't have 26,000 friends, but if I made my profile public for the day then more people might see the news). I could send an email with the news to everyone I know and ask them to forward the email to 20 of their friends. I could post the note to the neighborhood listserv, and easily get 7000 and probably some people who might actually know Lila! I could tell all the project managers in my networking group or all the mommies on Twittermoms, and add a note to twitter just to top it off. All of these things would not only get the word out faster, but to more people who might have an interest in our news.
Oh yes, and of course...my blog!
Saturday, September 27, 2008
Getting my priorities straight (both with project team members and potty-coaching)
She was finishing up, and I found myself nagging her with different tasks:
"Pull up your panties"
"Put the seat cover down"
"Wash your hands!"
"Flush the toilet!"
All those things she knows to do, but since I was in there I felt like I had to coach. I was so busy giving her more stuff to do, I didn't stop to think that I might have been confusing her with all these different tasks, that were actually not in logical order. She stopped for a moment and looked up at me with this look of such total confusion, so I slowed down and started over, this time being careful to be more patient and take it one step at a time.
I find myself in the same position both at home and at work, when I am given several tasks and told that they are all equally important. I don't know what to do first, what needs to be done when, and how to properly manage my time to make sure the important stuff gets completed at the right time. When I saw the way my daughter looked at me, I knew exactly what she was thinking and I've been through it enough times myself.
Fortunately I am not involved in potty training any of my project team members, I trust that they are all fully competant in that area. But, I do occasionally find myself sending over one email after another with this task or that, sometimes related sometimes not at all. I have to remember to stop and think that this puts my team members into that same position of frustration that both my daughter and I were in. I've been good lately, I sift through that list of tasks and send out another note (or even walk over to the person and discuss with them face-to-face...imagine, so low tech!) that will list all of the tasks in order of priority, with any other relevant notes that will help him/her figure out how best to get it all done, without going crazy.
Having just finished and thoroughly enjoyed reading "Peopleware: Productive Projects and Teams", I know the importance of happy, comfortable and focused team members. Since I didn't have a camera handy with my at the time, I'll have to make sure to keep the mental picture of my daughter looking up at me so confused and pin it up at my desk at work, to make sure I don't put any of my team members into that same frustrating position.
Labels:
multitasking,
priorities,
toddlers
Wednesday, September 10, 2008
Maybe I'm just spoiled - my new calling in PTSTC
Maybe I'm just spoiled by all of the technology that I see and use around me, I work in the technology field after all. Words like RSS, social networking, blogs, email, text messaging, and others are a part of the daily vocabulary where I am each day. And when I get home at night, I get the time to catch up on all of the blogs, feeds, social network site activity, etc. (after the kids are asleep of course). So, now that my older daughter is beginning pre-k and we have gotten a taste of how her new school works and especially the private minibus system chosen to bring her to and from school each day, I am painfully aware of how spoiled I am with the technology I have at my fingertips.
What DO they have? Two phone lines ( I give them credit for having more than one). No voicemail, no message system to let you know if your child's bus is delayed or has forgotten you entirely (like what happened to us a few times this week). They put you on hold forever and you're stuck there waiting to see when your kid will get picked up, held completely hostage to the phone attendant lady.
What DON'T they have? No website, no email, no efficient communication system. It's hard to even find them on Yellowpages.com or Google Local, sometimes I wonder if they even exist.
What's my perfect dream scenario? The bus company sends me an email the night before reminding me that my daughter's bus pickup will be the following morning at 8:45 am. This is good to do, especially in the first week when things are hectic and the route is getting figured out. This probably won't be necessary every day of the schoolyear, maybe just reminders when the bus service isn't running, etc. Then, the morning of the pickup, I would like a text message sent to my phone to alert me if the bus is behind schedule. I would like to know approximate location, which kid is getting picked up, and how many more need to get picked up before they come for mine. I would like to be able to go to a website and see a live map with the bus on it, and each pickup pinned and the order that the bus will go to them (and it would be extra nice to have the pin label show the name of the family, so that I can call that home to introduce myself and my daughter and help start a bus-riders playgroup).
This is really not so much to ask, right? If I wasn't rushing off to get my younger daughter to daycare and then myself to work, I probably wouldn't mind sitting around dealing with all of the uncertainty of it. But, since I am... then I do. Maybe this is a new career calling - Private Transportation Service Technology Consulting (PTSTC).
Ultimately I will probably cancel the bus service and use the good 'ol MTA and the Coney Island bound F train to get my daughter to school, atleast then I will have more control over when we come and go and it will be nice to see her classmates and teachers each morning. Then I won't have to feel so much in the dark ages when working with these bus people, and guilty about demanding so much more of them.
Labels:
communication,
driving,
toddlers,
uncertainty
Thursday, August 21, 2008
Reflections on "The Sprint"
I am really enjoying reading the 'Slack' book by Tom Demarco (Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency). It's setting in enough that I am pressuring myself to not do real work right now and write something for the blog instead. He makes many great points, and ones that I've already been trying to push on my colleagues (for example, by ordering one of the support staff to not stay a minute past quitting time and "Go home!").One section I found interesting was his description of the "Sprint" at the end of a project. He describes one way of handling the sprint, where team members pull marathon weekend work shifts, taking naps on the office couch or overdose on caffeine to keep going. The team will stick it out together until Monday morning, and (hopefully) will finish victorious. Another way is to have people work regular overtime in the last weeks/days before the launch to finish everything up, rather than crashing all of the resources at the very last few days. He explains that each one of these methods has a different effect on the team morale. To do the sprint over a couple days rather than the last few weeks, although exhausting, can create a real bond and almost a 'high' for the team as they pull together their last bit of energy to bring themselves to the finish. The extended overtime will more likely lower the morale, cause stress and problems with personal life, etc.
The description of the weekend marathon sprint brought back memories of college, of the last days before my senior engineering project was due. Three other Mechanical Engineering pals and I had spent the year together designing, building and testing a small low-cost and feul efficient turbojet engine. In the last days before our project was due the engine was built to the best of our ability and we were gathering our reports, writing up our research and putting it into as presentable a thesis as possible (engineers trying to write a paper...funny). We were in and out of the engineering building at all hours of the night, taking turns sleeping and writing, and thankful for the one or two 24 hr takeout places nearby. It was an amazing bonding experience, and we did finish in the end and get our report written, nicely bound and in our advisors office by that Monday at 5pm.
I was 22 back then, and had alot more energy and the drive to do those marathon work sprints. The best I can compare it to now is the first few months after each of my daughters were born, staying up at all hours of the night to handle feeding & changing and whatever other needs they had, trying to get daddy to help with whatever he was biologically able to do, although even that was a project sometimes.
But, enough reminiscing about those wonderful sleepless nights, I started to think about the sprints I've been involved with for my software projects. Not too many I'm happy to say, and I even wonder if the ones I was involved in were very effective, especially when it comes to quality of product.
Writing, fixing, and migrating code is not exactly something you want to do when you're tired, there's way too high of a risk of error and more problems as a result. We like to joke "Hey, don't drop the database by accident" when our programmers write scripts on the database, because someone did once, by accident of course and thankfully not on the live database. Making critical decisions about a project is not something you want to do when you're tired, it's too easy to get caught up in the moment and not be able to think clearly. System test and bug checking is not something you should do when you're tired, you don't have the focus you should have and will be too quick to rush through testing because you feel so close to the finish.
The times when my project team has had to do these types of sprints to get a project done have not ended in disaster, for the most part things were ok (except for that one time years ago when we realized at 2am Monday morning that we had to roll back an entire project and months of programming work, by the time people got into the office at 9). And even though it might have been a nice bonding experience, I can't say I love doing it this way. I would like to think that in an ideal world we won't be in the situation where we have to pull marathon work shifts to get the project out in time, and I'd like to say that in the interest of quality we should avoid this all-together.
Is it possible to always avoid? Probably not. I am fortunate to have a client who allows me flexibility most of the time with my launch dates, and I guess I should just be grateful for that!
Labels:
project launch,
project schedule,
quality assurance,
sprint
Subscribe to:
Posts (Atom)