Saturday, January 23, 2016

Relationships and Software Requirements

I wrote a requirements list when I was in my early 20’s.  That list was a culmination of what I had learned about myself from my boyfriends over the past ten years.  This list detailed what characteristics a future boyfriend must have.   I knew what I wanted based on my experience life to date.

Within weeks of that I met the man who would later become my husband.  He fit the requirements almost perfectly.  It was uncanny.  

Now I’m in my early 30’s and I’m wondering what I was thinking when I wrote the requirements.  I’ve found myself questioning those requirements.  Did I get it wrong?  Why didn’t I think of the bigger picture with some of those? 

For example, one requirement was that the person be driven in a career path.  I was that way and I did not feel like I could respect someone who did not have drive, specifically to be successful in career.
I underestimated how difficult it would be to be married to someone who put career as such a priority.  

The past 6 months my husband has spent more weekend hours at work than with me, canceled trips and worked months on end without a day off.  It has started to wear me down. Andy Grammer starts a song, “I know you didn’t think loving me meant so much time alone.” (Kiss You Slow).  Yeah.  I didn’t think about that when I wrote my requirements.

Recently, I’ve taken some new responsibilities in my own career where I’m working more closely with developers.  I am being challenged to gather requirements for software projects, and fix issues on projects where requirements were not gathered correctly. 

I have a very smart person giving me advice in the workplace.  No, advice is too polite, this person is pushing me out of my comfort zone with analogies, life stories, and sometimes with comments that make me mad.   He’s changing my paradigm, and at times it’s almost insulting to me. 

He told me “Nobody reads anymore.”- That rocked my world a little, people read (see my point is proven, you’re reading this). But more important to my identity, what’s the point of being a writer if nobody reads? That’s part of who I am, what I do...  That point of view contradicted my self-image. But he got my attention to make a point; a simple user experience in software is much more valuable than a well written, well laid out instructional manual.  (His example, “Do you have to read a document when you order something from Amazon?”  Well no.)

Additionally, he has told me "It’s not like it used to be.  It’s not one set of requirements and you’re done.  It’s incremental releases.  It’s continual improvement." The requirements and scope are never right the first time.  They are changing.  That’s why software developers need better processes like Agile and Extreme Programming.  It’s not about getting it done once and walking away.  It’s about baby steps, slow change, small changes that make a big difference. 

Requirements are not static.  Just because you didn’t see one really important piece in the beginning doesn’t mean you failed.  It means that you have to make an adjustment.  And you’re never going to be done.  There will always be more you can do with a SaaS product. 

So, what does this have to do with marriage?

Ironically, a lot.  Instead of throwing the project out because the requirements weren’t “right”, I see things a little differently now.  It’s not about the old requirements from almost a decade ago, it’s about the incremental changes over the years.  It’s about improvement over time, and it’s never done.

The perfectionist in me is learning to be quiet.  The writer in me is feeling slightly betrayed.  But the smart, resilient person that I am is thankful.  It’s not very often that someone is able to change your paradigm and challenge you to do things you didn’t think were possible…. And help you in your personal life without realizing it. 

I cannot tell you how important requirements are- they are vital to get any project from start to finish.  At the same time, requirements are not that important.  They are untrustworthy if any time has passed.  They are quickly obsolete.  And it’s ok to have planned obsolescion.   Getting things right once is not the goal.

So many of my friends whose marriages have fallen apart say the same thing, “people change”.   My new paradigm agrees that is a constant- people change, but so do requirements.  My requirements list from 10 years ago is obsolete.  I need to focus on some new requirements to improve my relationships. 

First new requirement:

The year 2016 will include a vacation (that doesn't get cancelled) with my husband.