For whatever small amount of experience I have gained, I consider myself blessed enough that all my employers gave me enough opportunities for interviewing people. That’s a fun activity to participate in. And what did I got out of it?
1. Confidence and openness to go and start interacting with a complete stranger.
2. Experience in understanding what exactly person is after and where possible, a little insight towards the psyche of the person.
No wonder it was a great boost to what I have learnt over the course of last eight years. And one thing it has helped me a lot is looking under the skin of problem and to understand who is saying what and why. And that’s where it starts bending towards a business advantage !
But one can be terribly wrong to conclude that conducting interviews is nothing but a “templatized” course of action – with a little variation for Job Interviews and for Business Requirements gathering. No, they are not!
And here’s why I say that when I mention for Business Requirement Gathering interviews:
1. Don’t think you’re too smart, but be curious.
If you hear "Sorry, what’s the question again?" then that probably is a sign you are wrong track. Keep them short, and open ended. Pick at any interview published in a good magazine and you will notice, questions are one-liner and answers runs into Para’s. Keep it that ways and listen attentively. Also, don’t get into that "observe it all and truth will surface" syndrome. You aren’t a detective and the person in front of you isn’t a criminal. If you receive conflicting information, you always have a chance to clarify, keep it as an requirement gathering interview, not a cross-examination !
2. Converse honestly
Ask honest questions. Don’t pretend you are one among the "know-it-all" lot. You are there to know things in detail, and not "validate", so talk accordingly. Recording the meetings might not be the best idea as there are many times people mention for it to be kept off-the-record – and hence it breaches the whole idea of the honest conversation.
3. Leave the ego out of the room
There are many times when the client member you are interviewing is half your age. And it might be other way round as well. When you are interviewing, your key job is to listen attentively and keeping your presumptions and prejudices out of the picture. Use body language and verbal clues or gestures to encourage interviewees and express. Your attitude and approach as an interviewer are more important than the tactical and logistical concerns of setting up and conducting the sessions. your interest.
4. Don’t judge
Concentrate on interviewee’s job and not if it’s right or wrong! If all goes well, DW/BI will address the issue anyways. Avoid jumping onto conclusions just on hearing a one-liner for a process, listen and find, there might be some genuine reasons for the way things are.
Especially, if you are going towards DW/BI or any large scale data application (e.g. Cloud Solutions) business requirements gathering, you might want to consider these as well:
- Its always best to have a lead in place with clear objectives and experience on the topic. Have a lead requirements analyst with the right tools, confidence and coupled with the right knowledge on business acumen and DW/BI’s potential. You don’t want somebody who himself is questioning if it really will reap the benefits as it "sounds". And this “lead” should own to clearly define the beginning and closure of specific stages of the project.
- Involve the right business representatives representing BOTH vertical (cross-management ranks) and horizontal (cross-department) perspectives. Don’t rely solely on the input from a lone power analyst who’s a pseudo-IT professional. Yes, the power dynamics is a key topic in management, and it might help you in getting a deal signed but it surely wont help in getting it executed successfully !
- Don’t presume you already know what the business wants just because you’ve supported them for the past decade. No business are same, and so is true for their requirements as well.
- Be explicit at what you will be delivering against. We have always learnt in Software Engineering that there is something called Explicit and Implicit requirements. See each "implicit" requirement as a loop hole where someone has a chance to bring you down to your knees. Convert them so they are explicit and then sign off as appropriate.
- Your delivered product and your mode of delivery are two separate pieces, and shall be addressed separately. The problem with long running engagements (as likes of DW/BI) is that we are so much lost in actual product that we loose concentration on modes of delivery. If not right away, ensure you have space defined to capture modes / frequencies / mechanics of deliveries as well.
- If yourself feel comfortable to see your doctor in person, then same will be true for your clients too. Get face-to-face with business representatives (or at least voice-to-voice, but that too once you have rapport built up). There are many other modes of gathering requirements, and though they might be okay to find where your team wants to party, but that’s not enough to know where your clients want to reach.
- Be prepared, and try your best to impart some knowledge before you actually start with catching requirements. Prepare interviewees in advance so you don’t have to spend the time recursively at conceptually explaining "what’s DW/BI (or something similar and basic).
Corporate Responsibilities, Social Responsibilities et all are deemed to be very heavy terms. You speak of them and all of sudden the air is heavy, and everybody seems serious. It’s a sense of corporate self-control built into a business model over a period of time. A fair deal of documentation can be referenced here if you like.
And then, there’s The Art of Living. Relaxed, without much of worries, and with a sense of detachment. Though one thing that Art of Living doesn’t teach is to walk away from the trouble and challenging times, and specifically of blaming others for your problems. But sadly Indian Corporate system is seeing a mess of senses of Corporate Social Responsibilities and that of the Art of Living. Am talking of Kingfisher Airlines and Mallya’s here.
The name “Mallya” indeed has now become a synonym to likes of: luxury, lavishness, loud (in good way), swanky life style etc. The name brings to you images of ultra-mod ladies as Flight Stewards and Calendar portraits, theme parties on just every occasion, Tipu Sultan’s Sword, Formula One Racing, glamour studded IPL matches, expensive bars and what not.
And think of Kingfisher Airlines now. Think of its Pilots, Support and ground staff who might not have received salaries for some time by now. Think of their suppliers who might be in trouble for their long dues on the Airliner – not just Fuel suppliers, banks, Air Traffic Controllers etc – but also likes of spare, transporter and food suppliers, who are very small to put any sort of pressure on an “air liner”. Image is indeed dull and uninspiring as of now. Almost every single Government body is after Kingfisher for its dues. And don’t forget the Aircrafts its using are on lease / rent, not purchased.
Every business (just like an individual) can have a low and high. But amidst of all this, what surprises is the fact that someone as rich as like Vijay Mallya is not doing much about it but blaming others. Pick up every single of his last few statements on the topic and you will find accusations on Air Traffic Controllers, Banks, Fuel Prices, Income Tax etc. Why? If one is responsible enough, he would pay taxes on time. If one has planned well, he would keep some buffers in the costing and would settle out dues in orderly manner. Talk of competition, but is the “price” only weapon to compete. For example, Kingfisher isn’t among the one considered to be very cheap – yet people preferred it many times. True story, I once travelled back from Chennai to Delhi in large size Air India flight, with hardly 25 passengers !
Still, imagine you have a loan of say INR 30Lacs and you go to bank saying you cant pay interest for next one year or more for any reason. Chances are bank will kick you first, then slash a NPA on you, and might even set up your loan to Auction for recovery. That’s when you are paying all dues on time and have a dependent family. But Banks are generous enough to large corporations like Kingfisher. They are at brink of losing their lending to Kingfisher, and now deciding to lend more so that the bad news can be deferred or delayed for some time. I think what Income Tax Department has done recently is very right. If you haven’t paid in past, without any intimation, then one has all right to doubt you for future as well.
Indeed the Air Traffic Industry is not in very good state. But when companies like Air India and Kingfisher Airlines demand for Government bail outs, they basically are asking for money that Income Tax Payers have paid. Basically, you think we should first pay for our travel so you are profitable, and then pay to keep you afloat just because you couldn’t manage the “variables” in your business. How about Kingfisher and Air India offering discounts to general masses in lieu of the funds received despite being a NPA now !?
Well, if you really want to settle this out, this is how you do it – you work for it. Start skipping the parties, and concentrate on your business. Your socializing is good enough only till the time you are King of Good Times. If no body is getting seen along side with you in your troubled times, then that’s a strong sign. World might not be too difficult to live if we don’t have Kingfisher Airlines or Air India in it, but this jolt might act against the other businesses too. Accept that, and try again to be what we (at least I) have always admired you for – own it up and deliver. Try to understand the true Art of Living. Corporate Social Responsibilities are part of it and not otherwise !
So what all did you promised while selling that hefty Data Warehousing solution? And was it just a promise, or over-promise?
Its not uncommon for people to say "We will ensure you have..":
- Rolling operational results mapped to the general ledger (GL)
- An effective compliance for the end-to-end system
- Key performance indicators (KPIs) are identified and implemented as needed by client facing departments like Sales, Marketing, Finance etc. And more importantly, they will all go "into" performance dashboards
- All the customer facing operational processes integrated into one single application / screen (and by the way, this mostly goes unimplemented!).
- All backend, frontend and operations tools will be brought under single licensing control to ease off the licensing procedures
- Server virtualization will be implemented for the DW/BI system. And this new system will be "green." (and both, are seldom understood clearly in DW/BI context)
- Storage management for the DW/BI system made completely automated (auto-extension, auto-allocation, auto-archival and what not!).
- Security rules, roles and responsibilities clearly identified and implemented (and then admin’s made capable of peeking into every single record).
- Long term archiving and recovery requirements for data looking forward 20 years.
If you look at any of the DW books/ toolkits, they talk about the processes and workflow which comprise likes of requirement gathering, designing, delivery, validations etc. But its pivotal to understand that they all are done with a manual intervention and that’s where art (and problem) creeps in. Watch out for what you commit. And remember that principle at every single phase of your delivery.
Reasons for Windows Crash
Your Windows system / server can crash due to:
- memory access violation,
- kernel subsystem inconsistencies
- driver operational (e.g. USB, display) inconsistencies
One might argue that Widows might as well (in some cases) isolate the hardware and continue operations, but chances are that it might (generally does) lead to memory space inconsistencies, and hence Windows follows a "fail fast" policy attempting to prevent corruption in RAM from spreading to disk.
The Blue Screen
Could be any reason, but actual function responsible for (managing?) system crash is KeBugCheckEx. It makes use of a "stop code" and four parameters which are interpreted on a per-stop basis. This function then switches resolution to VGA mode with blue background and some comments on what user shall do next. It then calls for KeRegisterBugCheckCallback function allowing drivers opportunity to stop. It then calls KeRegisterCheckBugReasonCallback so drivers can append data to the crash dump.
KeCheckBugEx -> paints the screen blue -> KeRegisterCheckBugCallback -> KeRegisterCheckBugReasonCallback.
In rare occurrences, even the blue screen display stage isn’t reached and server crashes before that.
Since our childhood days (pun intended), we have learnt our ancestors telling us that a Database (or any Data-heavy computing layer) should be hosted independent of others. That is, host Database Servers on one/more servers, and don’t share the same servers for other application/web computing. SQL Server® for some reasons, kept the same standard best practice as a recommendation, but at same time rolled out SOAP/HTTP endpoint in SQL Server 2005. But finally, Microsoft® has finally realized for the issue (or it not being adopted much) and has decided to drop off SOAP/HTTP endpoint in SQL Server 2012 (Denali).
To me, SOAP/HTTP has always been a confusing decision (though now, the response for its rollback is equally confusing). You have a .NET based environment and generally accompanied with .NET / WCF Application servers where you could develop full fledged web services. For pure reporting functions, you had SQL Server Reporting Services. So as a Data Architect, it was always difficult to draw the line on where exactly we go about SOAP/HTTP (and I admit, I recommended my teams to keep presentation or decision logic to be on App/Web layers, and keeping Data masking/handling/filtering/logic etc. at Data layer; recommending a clear demarcation among each layer). Not to mention, clear limitations of SOAP/HTTP were also key contributors to the decision. The only viable use that it offered (in my view) was that you could SP directly wrapped within a webmethod directly – but really how many are such cases where you would want that !?
So, am glad a decision has finally been reached to end this confusion. With SQL Server mainstream (for quite some time now in fact), its pivotal to have clear vision and to have efforts spent on right spots, and getting rid of what’s nothing but dead weight. SQL Server Reporting Services is already a robust piece, but yet a lot lacking if we look at other Reporting Tools available in the market. Those who had the understanding / rule of thumb on keeping application functions segregated, I think they shall continue to remember what they already know, and should try forgetting SOAP/HTTP (from within SQL Server).
While I was walking out today morning to catch my office cab, I noticed the usual mendicant-young-boy. He doesn’t match with usual beggars or anything like that; he walks with some ingenuity, dignity, seldom talks, and mostly talks of either good doings and/or gods. I have seen him growing, have seen him visiting our streets several times.
What’s so special about it?
I didn’t noticed it much, but this guy doesn’t come along every now and then. He comes on specific days, only on days which hold some mythological values (in India) and when its “said” to be among good values to donate some eatables or household items on those days. This guy calls out importance of these days, and what all is generally guided to be donated on those specific days. He comes almost very early in the morning, I don’t think I have ever seen him around beyond 9 or 10AM.
Now, this guy’s chances of carrying full bags are way much higher than other’s (and he carries a large bag). And simple reason, he spends time to identify what’s the right day and time, and he is around at that time ! And his USP (unique selling proposition) is the information he repeatedly calls out at different common points in a street (and information is mostly re-validated to be always correct by the elder one’s in our family). He is prepared (like many other’s of his kind), but key differentiator is that he tries to be at right place at right time !
There are so many other cases where a person or product has reached great heights just for the reason that it hit right place at right time. There’s a book named Outliers which circumvent around similar idea (though at different intellectual levels obviously!). So, how would one know what’s the right time and right place ? Well, we are far from a formula (at least for now). Till then, follow your heart, be always prepared and look for patterns that you can make use of. Chances are that you too would know the right time and place which is right for your success !
Everybody talks of Industry been through tough and challenging times recently, and progressing into another slow down. But that’s too vast a situation. But I believe in thinking individually. You either have a job at hand or don’t. And you either enjoy the job at hand or don’t. Statistics and percentages are for Government, and they are never out of their paying job !
Problems also creep in when you are doing something “un-enjoyable” for a long slot. Chances are you wont do your best, with peers and/or leads being unhappy about it. Now, that’s too challenging / rough times in a way – you being into something that you don’t like, and which you don’t have much control upon !
What do you do then? Start saying no to everything that comes your way (that you don’t want)? Or, Switch? Well here’s the news. Switch doesn’t happen over-night. And with you saying no, chances are you would soon be shown the way out, or worst, be put on to PIP (performance improvement plan).
From aforementioned context, seems odds are all lined up against you (or who-so-ever been in such state). Well; no, that’s not the case. You have some good options which you can try:
1. Remind yourself that its just a patch and will sooner or later be over. As an employee you always have an option to quit, but real joy is in succeeding against all the odds ! Think about the fact what you would have done if you owned the “task” as its real owner.
2. Remind yourself that what you are delivering is probably not your best. And that, there are people who would be ready to do the same job, and yet it will be an upgrade for them (in some cases at least).
3. Talk about the situation with someone who can do something about it. Don’t warm up your phone receivers, or spill coffee in the corridors cribbing about what you are doing and how bad it is. They can’t do anything about it ! And believe me, same message would be something else when it eventually reaches someone who should have been approached in the first instance.
4. Take some time out, at least weekly if not daily. Go over your “wow” moments from the past. Remind yourself that people did appreciated you and your work. And if that happened, chances are that it happened because you took interest in what you were doing. And importantly, remember that if you can “fake” your interest to yourself, you would be back bang-on.
5. Dont miss out any opportunity to take time off, not deliberate or sick-time-off’s (unless genuine obviously). Enjoy your time. Its generally being said (but hardest to follow), keep your love-life and work-life separate. That’s a really good thing if you can manage for that, atleast attempt at it (its another story though that am till struggling for this last statement). Spend time with your loved one’s. Spend time with someone who appreciates your time – be it from family or at any charity. You will cherish such moments, I can really tell you that !
Now, I am not a Psychologist or an HR pro talking about it. Am talking from my own experiences (Yes, am open to admit that I had some challenging times too, am sure everyone had). And am sure there are more good things that people (i.e. You) would have tried themselves. I will be obliged if you have anything to add to the listing.