Automate SSIS 2012 Project Deployment and Configuration Management using PowerShell – Part 2

Continuing Automate SSIS 2012 Project Deployment and Configuration Management using PowerShell – Part 1

Download SSISProject containing:

  1. DeploymentDemo SSIS Project
  2. SimpleSSISDeploy.ps1

Step 2: Add Parameters.xml to the SSIS Project

Before SQL Server 2012, configuration data for SSIS package such as server names, database names, and SMTP servers can be stored in XML files, environment variables, or a separate configuration database. With the new Parameters feature of SSIS catalog, managing configuration data across your environments has never been so intuitive. Instead of  updating a database or a cryptic XML file, someone could simply login to the SSIS catalog via SSMS and configure parameter values manually. Although configuring an SSIS project directly in Production may seem convenient and give anyone a demi-God feeling, it is, however, very risky and is prone to human error.

To continuously integrate our SSIS project, we can automate the task of updating parameter values after the *.ispac is successfully deployed. To do that, we will use an input file, Parameters.xml, to tell our PowerShell script what value to set each parameters with depending on which environment it is deploying to. We will add this file within the SSIS Project itself, so that

  1. It is under source control
  2. Developers will be reminded to prepare it before deployment and
  3. We have all the information we need to execute our SSIS project in one location

Enough of the intro, here’s exactly what you need to do:

  1. Create a Parameters.xml file under the SSIS Project root folder (same folder as *.dtproj file). Paste the code below:
    
    <SSIS>
        <Development>
            <ProjectParameters>
                <Parameter Name="InitialCatalog">AdventureWorksDWH2012</Parameter>
                <Parameter Name="ServerName">SQLSSISDEV</Parameter>
            </ProjectParameters>
            <Packages>
                <Package Name="MainPackage.dtsx">
                    <Parameters>
                        <Parameter Name="SourceFolderRelativePath">\\Source\Folder\RelativePath</Parameter>
                        <Parameter Name="LogFileName">MainPackage.log</Parameter>
                    </Parameters>
                </Package>
            </Packages>
        </Development>
        <Acceptance>
          <ProjectParameters>
            <Parameter Name="InitialCatalog">AdventureWorksDWH2012</Parameter>
            <Parameter Name="ServerName">SQLSSISACC</Parameter>
          </ProjectParameters>
          <Packages>
            <Package Name="MainPackage.dtsx">
              <Parameters>
                <Parameter Name="SourceFolderRelativePath">\\Source\Folder\RelativePath</Parameter>
                <Parameter Name="LogFileName">MainPackage.log</Parameter>
              </Parameters>
            </Package>
          </Packages>
        </Acceptance>
        <Production>
          <ProjectParameters>
            <Parameter Name="InitialCatalog">AdventureWorksDWH2012</Parameter>
            <Parameter Name="ServerName">SQLSSISPRD</Parameter>
          </ProjectParameters>
          <Packages>
            <Package Name="MainPackage.dtsx">
              <Parameters>
                <Parameter Name="SourceFolderRelativePath">\\Source\Folder\RelativePath</Parameter>
                <Parameter Name="LogFileName">MainPackage.log</Parameter>
              </Parameters>
            </Package>
          </Packages>
        </Production>
    </SSIS>
    
    
  2. Add Parameters.xml file as an existing item to the SSIS Project. It will automatically be placed under Miscellaneous folder.

    Parameters

Next: Automate SSIS 2012 Project Deployment and Configuration Management using PowerShell – Part 3

2015 Book 5: How Google Works

IMG_5022

by Eric Schmidt and Jonathan Rosenberg with Alan Eagle

For starters, How Google Works is a management book. In fact, I stumbled upon it in the business section of the bookstore. It was written by two leaders reflecting on how their company hires, value its employees, come up with important decisions, builds its portfolio, and define the company culture among others.

You would want to read this book if you are a manager or desire to be one someday. If you are one of the brave and fortunate enough to set up her own business (within the IT industry or not), you will sure to find gems of advise and inspiration among the pages of this book. If you have reached a decision-making position, then this book can give you insights on what may or many not work for a company in the Internet Century. Finally, if you are simply one who enjoys thought-provoking materials then having a peek inside one of the world’s best companies is time well spent.

How Google Works is close to my heart not only because I believe that Google is great a company in many ways I can argue but also that my profession belongs to the same industry. I will then take this review as an opportunity to add anecdotes and dimensions to some points raised in the book based on my own experiences working in Corporate IT. I’m writing from a perspective of someone who has only played technical roles and has worked in several multi-national companies in Singapore and the Philippines, so consider that as my vantage point.

Finally, I tried not to in my previous reviews, but I will drop some quotes from this book for a change. I will indent and italicized them so spoiler-haters like me can opt and easily identify which lines to skip. What I am really trying to say for the past n paragraphs is that this post will be relatively long so go get your popcorn or drop out now, otherwise, let’s get started. 🙂

On Smart Creatives

The book had me at “smart creative”, a term they use to call the kind of people who work for them and the kind they search to join their company. Modesty aside, the section describing a smart creative feels like a song dedicated to professionals like me. I could put a melody on it and sing it to myself over and over again. I could print it out, put in a frame, and hang it on my wall. The point is not to say that Google should hire me (I was given that chance, and obviously I didn’t make it), but that a female with communication skills can also be the same person a team depends on for technical expertise. The section was also a reminder that staying late in office doesn’t always mean inefficiency, but can also show how much time a person is willing to dedicate to her craft. Here are my favorite quotes from that section:

“She is driven to be great, and that doesn’t happen 9-to-5”

..because no matter how hard you try, you can’t tell people like that how to think. If you can’t tell someone how to think then you have to learn to manage the environment  where they think. And make it a place where they want to come every day.”

On Culture

Google promotes a culture of Fun and Yes. A culture where teams are organized around people who matters and contribute the most. The chapter on culture also introduced me to the word knave – which by definition means “a dishonest or unscrupulous man”. Knaves are people who make their co-workers lives’ miserable and great contributors to why smart creatives leave a company. Knaves are people who we usually call with the A* and the B* words. The problem with the A* and B* words is that I can’t use them with my family, and to simply call a knave “a man or a woman in office” does not seem to justify the amount of evil this person do.

On Gangs of Knaves

Divas, the lesser evil cousin of knaves are also mentioned in the book, but instead of talking about them, I would like to add a third social persona – Gangs. A gang is a group of knaves, soon-to-be knaves and knaves wannabes within a team. Gang members support each other and only each other and put its members growth first before the rest of the team. Gangs are more toxic than individual knaves because their collective evil is stronger than the individual good of other team members. It is also worth noting that gangs only exist when there is NO meritocracy in the company. This absence is the air gangs breathe. The unfortunate truth is that they exist and even evolve. If you are not in the position to dissolve these gangs, the best thing you can do is stay as far away from them as possible. On the brighter side, I have met leaders who are smart enough to identify and break up gangs; those are the leaders you want to associate yourself with.

On Talent – Hiring and Keeping Them

Google illustrates in the book how much effort it gives in hiring the best people it can find and how it tries as a company to make them stay. The reality is: identifying good employees through a series of interviews and exams requires an investment of time and creativity not all company is willing to give. And getting good people in is just a beginning. A company needs to define career paths, evaluation criteria, training plans and other devices to manage its worker pool. These responsibilities do not directly generate money and obviously incur costs. A trending workaround to this dilemma is outsourcing. Outsourcing works by getting people work for a company via a third-party without the associated Human Resources cost. There are pros and cons of outsourcing that is out of the scope of this article, but I would like to point out a disadvantage related to talent.

Because of the lack or worse absence of proper evaluation on external personnel, the company may overlook smart creatives already working under them. This is more problematic when the company has gone beyond outsourcing operational personnel into outsourcing investment activities that is supposed to serve as the company’s competitive advantage. A smart creative in her right senses will not settle in an environment where all her efforts go into a black hole. And when she leaves she takes her expertise, efficiency, ideas, and mentoring experiences with her. She will leave footprints too big for those she left behind to fill.

Let me end this topic by a quote below from the book:

“While A’s tend to hire A’s, B’s hire not just B’s, but C’s and D’s too. So if you compromise standards or make a mistake and hire a B, pretty soon you’ll have B’s, C’s, and even D’s in your company.” 

What else is there?

The 2nd half of the book focused on decision-making, communication and innovation aspects of a business. Instead of expanding on these topics, I would like to encourage the leader readers of this review and hopefully of the book to take a step back and re-assess his or her own company’s leadership style.

It is easier to be on defensive side and say that Google can afford to work the way described in the book because it is Google. Perhaps it would be more helpful to think that Google is Google because of the way it works.

Will I recommend this book to a friend? I think you already know the answer. 🙂

Human-Centered Design and The Wallet Project

https://www.flickr.com/photos/55674398@N06/15956779184/
*leather wallets from Chinatown Singapore, photo taken by yours truly

What comes to your mind when you hear the word design? Color, shape, packaging? In many industries, design is often misinterpreted as the visual layer of a product. The fact that aesthetics is the most obvious aspect end-users see in a product is perhaps the reason why product teams give it more attention. Indeed, how something looks like is part of design, but the functions, why and how those functions are made available to end-users are equally important aspects that are less discussed in many product design process.

Continue reading “Human-Centered Design and The Wallet Project”