Thursday, March 2, 2017

The Incredible Huge Shrinking World

http://www.natgeocreative.com/photography/620970
Photographer: JAMES L. STANFIELD/National Geographic Creative

This image is one of the images in the National Geographic Iconic collection.  It was in an issue published in the late 60's or early 70s, if I remember correctly.  This image made a huge impact on a small, south east Texas girl.  I remember looking at her and thinking how beautiful this girl was.  I loved her dark eyes and hair.  I loved her complexion, I loved her jewelry and her clothes.  I wondered what she was like and what her life was like.  I really wanted to meet her.  Sadly, I was a small girl in a small south east Texas town, and I had never met anyone from India and I was pretty much certain that I never would.  The world was so huge, distances between us were enormous, and I thought "Why on Earth would someone from a place as wondrous as India want to come to south east Texas?" 

Today, I still think of this girl.  I think of how amazing a turn this old planet has taken and how it has become so small.  I think of this girl and wonder if she has been one of the thousands of her fellow Indians who have come to the United States.  I wonder if I may have already met her, and never even known I did.  I live in such a small world now.  I have met and come to know people from all over the world, places that I never thought of as a small girl, let alone seen an image of a native of that country.  I have worked with folks from Europe, the Middle East, Asia, far east Asia, the Pacific Islands, Australia, South America.  I am amazed at how different the world is today from the one I lived in as that small girl.  I love that I live in a city that is incredibly multicultural.  Houston is home to hundreds of nationalities and we all seem to get along.  Sure, we have our problems, but they seem to be much smaller than our commonalities.  

As a business analyst in I.T., I am perfectly positioned to work with diverse people from a wide range of cultures.  It is one of the best parts of my job.  Diversity in the workplace has brought us an amazing range of talent, perspectives, and capabilities.  It has also brought challenges.  Each side of the multicultural equation has had to work hard to come to understand and value each other.  It has taken some time, but now, in my workplace especially, I think we have come to a wonderful balance.  We understand each other's cultures and perspectives, we have learned to celebrate our differences and love our commonalities.  

Working as a BA today, the challenges are more of a person to person nature, rather than a culture to culture.  We are all now working on an even footing.  This is an age of wonder for our society and our business cultures.  It invites us to use the best from all of us and learn how to live as a single community, working toward our common goals.  This is exciting to me.  This is wondrous to me.  In many ways, I am still that small girl in south east Texas.  

Monday, September 12, 2016

If You Want to Be a B.A., You’ve Gotta Love Data

I am frequently surprised when I meet Business Analysts who don’t have much knowledge about databases, why they’re structured in different ways for different purposes, or even how to write a select statement.  I think as analysts, we have to take some of the blame for this happening, but I also think that non-IT businesses who have an IT group often pigeon hole business analysts firmly in business and don’t foster in their BAs a need to understand data, database architecture, or any other data skills.  That’s a shame.

As Business Analysts, we work with the business teams to understand the business, the conceptual objects that are created by our business and the processes that affect them.  We also should understand how the data in the business is used today and have some ideas of how that data could be used to greater advantage in the future.  As we work on a project, we do discovery on what elements of information are needed to complete a business task.  We should understand how those information elements relate to each other and how they are comprised of various attributes.  Working through analysis on a human resources project will almost invariably ask you to create an object to represent a person.  How that person is related to an employer, other employees, benefits packages, payrolls, etc. is the stuff that data design is made for. 

Most IT shops have DBAs who will assist with the creation of tables, relationships, indexes, and all else that goes into creating the data infrastructure that supports a product.  As BAs, we are not likely to be asked to do that work ourselves.  I put it to you, however, that you must know the concepts behind data design and architecture so that you can work together with your DBA in a meaningful way.  You are going to understand the nuances of information interrelations.  You will have a good idea of what elements are most important, which data will be most frequently referenced, so you have valuable insights that will help the DBA do their jobs more effectively.  As a B.A., you can definitely add value in the data design phases of any project.

During discovery and data design, you will use data modelling.  Data modelling refers to the creation of a description of how a database is or will be structured and used.  Some common models are: Flat, hierarchical, relational, and object-relational.  These models allow you to quickly and efficiently convey to others how what objects are important in your business process and how they relate to each other.    Entity-relationship models are a very useful means to communicate those relationships.  You should also be aware that individual items of data have their own properties.  Is it a numeric field?  Is it a text field?  Is the value stored in this field always one of a predetermined set of answers?  If you don’t have a sound background in data modelling, there are many wonderful ways to learn about them, from taking a class in person to participating in a class online.  You can also find many, many websites on the topic as well as books. Please look at the end of this article for some links and suggestions.

Once you’ve conquered the art of working on the design of a database, you need to be able to work with the information.  You need to be able to recover it and manipulate it.  You need to be able to pull out pertinent information from several tables and combine the results.  For this, you need SQL.  As a BA, you need to at least be able to construct a select statement and give it criteria upon which to select and a way to sort the data.  Ultimately, it would be handy for you to know how to create a complex selection between several tables and store the results into a temporary table.  You should also understand how to update, add, and remove records.  These basic skills are relatively easy to do, once you know the ins and outs of data and relationships.  SQL script is relatively natural and easy to work with.  It just takes time and practice.  You also need a data base that you can completely muck up and not cause a problem.  If you can do that, you will be able to help your team test your software, set up specific scenarios for “what if” testing and create reports that will benefit your stakeholders.

Again, there are tons of resources out there that are free or moderately priced.  Go out and find a book about SQL. Don’t get paralyzed in choosing which “flavor” of SQL to use.  Your employer has probably chosen their database technology, go with it.  Or, you can use an open sourced database manager and learn from it.  SQL for Oracle is not drastically different from SQL for Microsoft or an open sourced system.  Making the effort to learn and being rewarded by the warm glow of learning will reinforce your effort.

You may have noticed that I haven’t even started a rant about understanding data flow within and between systems.  That’s a whole other article.  Be prepared.  Until then, happy modeling.

Resources
Coursera is a wonderful source of learning.  Courses are developed and delivered by major universities.  There is little to no charge to learn.  Visit www.coursera.org to learn more. 

EdEx is another free to low cost option for folks looking to learn about many different topics.  Visit www.edex.org and search for topics to get started.

SQLcourse.com offers an interactive SQL learning environment.  It’s pretty nifty in that you can actually interact with a SQL interpreter to do your practical work.  www.sqlcourse.com

Microsoft Virtual Academy has free on-demand courses for beginners to advanced folks.  They’re set up so that you can create lesson plans for yourself and they feed in to MS certification, if you want to go that far.  Here’s a link to the English SQL Server Courses: https://mva.microsoft.com/product-training/sql-server#!index=2&lang=1033

A great choice is the “For Dummies” series.  Do not discount these books for learning.  Amazon.com has almost every version you would want.   You can also get these books on Google Play.


The O’Reilly series of books (the ones with the interesting animals on the front) are consistently well written and very useful for different levels of users.  Amazon and Google Play are good sources.

Friday, August 19, 2016

Conflict, Growth, and Turning Pain into Growth


A co-worker of mine has a phrase up on his whiteboard.  “There is no growth without conflict.”  He loves that quote and works with the people in his influence to get them to embrace conflict as a healthy thing.  We’re not talking knock-down, drag-out fights, we are talking rational debate and maybe a bit of passion for the work.  My friend has embraced conflict, but so many of us spend time trying to avoid it in our work lives and in our private lives.  As a result, we may be restricting our own growth as employees and as human beings.

It is very natural to want to avoid “pain’.  Even non-physical conflict can result in painful feelings.  We get that twist in our gut, that headache, that tension in the back.  We all know those feelings, but we may have not put them to work for ourselves.  We may not have recognized those feelings as an invitation to be open and honest about why we are feeling those things and openly and honestly working through them internally or with the people with whom you are in conflict.  Because we gloss over those feelings, they can stay with us, festering and building up until you just can’t take it anymore and a really big painful event erupts to throw things completely off kilter.  You may have experienced this in your work-life, when you’ve flown off the handle after some seemingly small point of contention sends you over the edge.  We have all felt this happen in our personal lives, I’m sure as well.  Instead of avoiding that pain and paying dearly for its cathartic release, I suggest letting it trickle out as it comes up.  Speak your mind and communicate with compassion and honesty in every setting, even at work.

When you fail to express your disagreement during your work-life, you are generally giving in to someone, like your boss or a team member.  When you fail to rationally express your disagreement, you are hurting yourself, the team, and the company.  What if your idea really is better?  What if both your ideas stink, but there is a better one out there that you can find together?  You’ll never know, if you don’t express yourself.  Innovation definitely will not happen if you keep things to yourself.
In the business world when we are developing solutions to problems, whether they be in people or electronic processes, it’s very, very important to speak out if you don’t agree with things that are being accepted as true or if you disagree with a solution.  Even if you are on the business side and you’re disagreeing with a technical resource or a superior in your organization, your disagreement is important.  There is a reason you are feeling “pain”.  It may be that you see a fault in their logic.  It may be that you know how the people in the field work and the proposed solution will cause too much disruption and not enough value for the company to invest in it.  You may have a better idea, you may have a worse idea, but you will never know unless you bring it up.
Tension between the business and technology implementation teams is inevitable.  We’ve probably all seen instances where our business sponsors have asked for a warp capable starship level product but have given you the timeline for building a canoe.  (Hyperbole for fun and illustrative purposes).  That is frustrating and aggravating, if we are honest.  Maybe the timeline is there, but the budget for R&D isn’t.  Whatever the conflict, it is up to the technical team to speak out about it.  The business may not be aware of the complexities of what they’re asking for.  It’s just a warp drive starship.  It’s just a website.  They may not understand that the security behind the site and authorization model for the different roles is going to take a long time to work out and to program and test. You as a technical team member must make sure they understand the pain point.  If they do, then they can rationally think things through and perhaps change the budget, give you more time, or start scaling back on their initial expectations.  They may be fine with a canoe at the outset.  They may be fine with the reduced, minimal feature set to start out with.  You won’t know if you don’t tell them your pain and explain why you’re experiencing it.

As a business analyst, I have frequently come to development teams with the business’ requirements only to be told that can’t happen or that what the business is asking for is silly or not needed.  Talk about a pain.  As the representative of the business, it’s extremely important that I understand the pain points that are driving the technology request and the value that is behind those requests.  I need to understand what is essential and what is negotiable.  I need to be able to articulate that to the development team and work with them to relieve the pain they’re feeling so that we can come to an agreement on the solution, given the needs, resources, time, and technical architecture we must work within.  All that discussion, all that conflict will cause us to re-examine things, ask tough questions and generally come up with an innovative solution that will benefit everyone involved.  You won’t get that innovation if you don’t speak up for the business.  You won’t get that if you fail to speak up for the technical team.  Rational, open, and honest conflict will pay off.
Do you notice how I’m always using the words rational, open, and honest?  These three features define a healthy debate.  Being rational is essential.  The word, rational, is defined as “being based upon or in accordance with reason or logic”.  Rational conflict does not become personal.  It is not about you or them.  Rational conflict looks at the facts, the requirements, the environment and all the other factors that surround a project.  There may be some gut feelings involved from time to time, but in general, that conflict and gut feeling are based upon what is known and what the future state must be in order to realize value from the work you will be putting in. 

Open and honest debate means that you are open to other ideas and express your ideas in ways that allow for debate, allow for you to be wrong, and allow for the middle ground.  Being open means you put all your ideas, concerns, and solutions on the table.  It also means being vulnerable.  Learning cannot happen unless you open yourself to the idea that you may be wrong, the other guy may be right or there is a better solution somewhere in between.  You may take a hit on your personal pride, if your reasoning is flawed or you’re basing your argument on a fallacious assumption, but how can you find out if you’re wrong and grow as a result of learning if you don’t allow yourself to be open to that possibility?  Sure, it will sting for a while, but you will get over it.  Other people will forgive you for speaking your mind and being wrong, especially if you’re open to saying “Oh, I’m wrong.  I didn’t think about that.”  In fact, your “street cred” will likely go up as people gain respect for you.  You will also be reinforcing an environment where people can be open about their conflicts and therefore encouraging personal and team growth.  Honesty is crucial here as well.  As business analysts and as human beings, we should never play games to make a political or personal point.  Being honest about a disagreement allows that pain and conflict to come to light and be addressed.  Being dishonest and creating conflict is definitely a path to destruction but being dishonest to avoid conflict is also a short road to an even bigger conflict down the road.  If you know something is wrong, if you see a flaw in logic, even if the gut feel is wrong, you should express yourself openly, honestly and rationally so that everything can be worked out.  Innovation is going to happen in that working out of the conflict.  Growth will happen when you realize that you were both a little wrong and you find the way to make each of you all right.


I’d like to close with a personal story about learning to embrace change.  I have worked on projects where everything seems to be going fine.  You’re chugging along and suddenly, something fundamental to the project changes.  More often than not, the timeline contracts.  Sometimes resources are diverted to other, hotter projects.  Whatever the reason, things are suddenly up in the air.  I used to waste time griping and wailing about the change.  I’d be sullen and quiet about all my concerns about it. I would start to feel awful about my workplace and my fellow co-workers because I blamed them for the pain of the upheaval.  Sometimes I got to say I told you so, when things went wrong, but that was a hollow victory.  When I learned to speak up an say my piece and take my ego out of the equation, I found that I had a lot less pain, a lot more respect for myself and others and I really believe that I and my coworkers started to benefit from my speaking out.  Now, I still have to coach myself to speak up in some situations, but it is much easier now.  I know that my rational, open, honest feedback will serve a purpose and build value for me, my team and my company. 

I swiped the image at the start of this article from Tim Rettig's excellent post about what to do when a team is in conflict.  He gives excellent advice on how you can rationally come to a solution.  Read that one at http://timrettig.net/7-steps-to-take-when-there-is-conflict-in-the-team/