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.