Tuesday, July 12, 2016

Leh Trip 2016 : details

Follow the below links to the pages explaining the topics.

Thought Process

Day 1

Day 2

Tuesday, April 26, 2011

Agile is Fun


Whenever I ask any person in an interview or in normal discussion, “What is Agile and what are your thoughts on it?” The Answer I always get is, “There is no Documentation in Agile and we have a morning meet every day.” Is that Agile all about?

What I feel, Agile is about “Inspect and Adapt”, “Continuous Feedback”, “Collaboration” etc.
My first “Sprint Planning”. Before we began the actual Sprint planning, we declared the available number of days of each of us and that gave the Scrum master the estimate amount of Man hours he has for the present Sprint. We used to consider 6.5hr productive for a resource in a day and estimations were done considering the same hours. The participants in the planning were, Solution Architect, Senior members, BA team, UI team, Scrum master, Development, and QA. Sometimes the Product Owner also joined use in the planning. Each one of us was given cards bearing numbers 1 to 10 and a question card. Decided list of PBI’s are shown to the team and the BA explains all the items to the team so that all have the insight and scope of each PBI. On declaring a PBI by the scrum master, all the Dev raised a card declaring that if he has to do the task he will take this many hours, if the task is of Dev. Two members, having the highest number of hours and the lowest number of hours then justify why they think it will take their selected amount of time. It’s quite possible both of them overlooked few things or underestimated/overestimated the task. After the discussion, the cards are raised again by whole team and a mutual agreed estimate is noted down by repeating the above exercise. It takes almost a day for Sprint Planning but it’s worth it considering the whole sprint.

In Normal circumstances when a person says I am “Done” with a particular task, what does he mean by the term done? E.g. he was given a task to write a test case for a particular module, and he is “done”. This means he has written the test case? He got it reviewed by someone? He got the coverage calculated?. What do you mean by “DONE”? Here comes the other best thing we used to do is “Definition of DONE”. When a developer says I am done with this task and he moves the card from Dev to Dev-Review what are the things he should have done to call it DONE or move the card?
E.g.
1. Written the code to meet the requirements
2. Written the Unit testing for all procedures and functions
3. Written proper comments
4. Verified the UI matches the standards etc.

Once he does all the things, he will call it “Done”. The most important thing is, in the “Sprint Planning” the estimate was done based on the steps you define in the “Definition of Done”.

Why should we have “SCRUM”?. We say the following things in the morning scrum.
1.       I was doing this yesterday: This ‘in a way’ was my commitment to my team for yesterday. Did I do it? Yes-Great. No-why?
2.       I will be doing this today: This is my commitment. I will do it. I like when someone says, “Hey don’t do it, I did some portion of it yesterday in my part of work, and you can reuse that bit”
3.       Impediments: I am facing this issue. Anyone knows the solution? Mr. X, I need you to finish that code today as I am waiting for it to do my job (and it was planned and estimated so). OR I am waiting for the feedback on this PBI from BA/Scrum Master. Once I get it I will start working on it.
It is required that the team understands the reason why this is important. The idea is not to monitor any person and grill him, but being positive and trying to find out what the problem is and take care that those things are considered too in the next Sprint Planning meeting. This way we get good collection of points which needs to be addressed in the Sprint Retrospective meetings too. Believe me SCRUM helps and being positive in SCRUM helps more.

The best practice we followed after SCRUM was to update the “Task board”. This gives the whole team what is going good/bad/worst just by a glimpse of the board. Even people know what task is coming up next. The members come to know the Review’s coming up for the day and discuss who will pick up review of what. It’s easy. (The Code review roaster also helped a lot in this case)


We also used to update the “Burndown Chart” on day to day basis. It was not decided in the Sprint planning that who is going to work on a particular task until the new task is completely dependent on the previous one. Updating the Burndown chart also allowed the team members to pick a new task by themselves, without anyone telling him. This is flexibility and collaboration helps at this stage. Burndown chart allows the Scrum master and the Team also, to monitor them against the Planned Tasks VS Time for that particular Sprint. This raises early flags or alarms if you will, in the team to take precautionary measures (If possible) to move the team back on track. This helps to find out the Team velocity, which leads to accurate Sprint planning’s at the later stage.

One of the activities done at the end of the sprint is “Spring Review”. This activity was interesting as the person who developed/tested a particular bit of functionality, proudly demonstrated that to the client and receive instant feedback. The whole team used to sit in a room with the client may be physically present in the room, or over live meetings and do the presentation. Normally Sprint review and Sprint retrospective are done on the same day.

Sprint Retrospectives” was held at the end of each sprint. The motto is to discuss among the team members what went right, wrong, worst in the sprint. I still remember the host of the Sprint Retrospective asking a person who didn’t look happy for the sprint, “Mr. X what do you have to say about this sprint?” The reply was “This sprint sucks”. On asking “Why?” he had a legitimate list of points. The points were discussed and Action points were noted which were followed by all team members. The next sprint Mr. X was certainly happier. Again, the aim of the retrospective is to discuss such points in more matured and professional manner. This is “Inspect and Adapt

According to me, these terms and methodologies we followed were very adequate and at the end of the day everyone used to be satisfied. There is a thinking that, just do your work with any kind of process you need, and as far as it works for us, the terms or the rules doesn’t matter. This is like “Customizing the Customizations”. Would you allow yourself being called by other name? Stick to things which have been proven and studied upon.

For Indian friends like me, the only thing I want to point out is, it’s in our blood that we cannot listen to criticism, feedback in a positive manner. It’s not always true that when someone tells you to improve in a particular area means he is pointing at you, but take it positively and try to improve on it. Learn from the criticism and take it in a constructive manner. Try to work with more collaboration and ownership. Communicate more with people and share the knowledge. I am also learning.

Disclaimer: May be I am not good at writing the things, but just sharing my thoughts from the learning in my past experience.

Friday, December 31, 2010

Cannot find object xxx or you dont have permissions - SP in SQL 2005

One of my colleague wrote a stored procedure in which he was just truncating a table. On calling that SP from a BO developed in .Net 4.0 we got a message as below

"Cannot find object \"xxx\" or you dont have permissions"

The fun part was when we started the SQL Profiler it showed us that it has ran the SP without any errors. There was no error in EVENTVWR too.

On trying multiple options, I ended up giving OWNER rights to NETWORKSERVICE (the login which our service was hosted with) and it worked properly.

Friday, September 24, 2010

TestPartner 6.0 (23 July 2007)

(I wrote this blog when I was with Conchango and I was assigned to evaluate various automation tools and prepare a comparison report. I wrote this blog at that time and thought to add it out in this blog too.)

TestPartner 6.0

TestPartner 6.0 is a regression testing tool. It is a product of Compuware Corporation.

In my course of evaluation of regression testing tools I evaluated Rational Robot 2007 and TestPartner. As I have worked earlier on Rational Robot 2003 in one of my projects in my previous company, I was pretty much confident on it, so I evaluated it and prepared few nice scripts which helped in smoke testing of a project. Then I switched over to TestPartner.

The best thing I found was it was self explanatory. First thing I came across was Visual Test. In the first 2 hours of evaluation I was able to parametize and add verification points without any hassles which is rare in any tool without any help from any document. If you click on any of the steps it highlights the control on which the particular action is taken. All the logic that helps us to enter various business rules to make automated testing easy and actually functional were just a wizard away. Select the steps you need to repeat, open the wizard, mention the condition of stopping the repetition and that’s it.

All the things can be done through Visual Tests but there can be cases where we require test scripting. The scripting is done in VBA. As a result unlike Rational Robot, (SQA Basic Scripting) TestPartner has IntelliSense. (Feels like a boon ) Now we are just a dot (.) away from what we require. This I reckon is the biggest advantage against Rational according to me.

Sometimes it is really necessary to make functions, procedures etc. All can be made in a Test Script and can be called from a Visual test as and when required. (And that is just a right click away)

Then I got a chance to attend a 2 day workshop on TestPartner in Bangalore arranged by Compuware. It was a great opportunity to uncover and discover all the hidden functionalities which TestPartner has.

In the workshop I met existing users of TestPartner 5.6. (This doesn’t have Visual Test) I got a chance to talk to them regarding the ease and use of TestPartner in actual projects. (So that we don’t feel like guinea pigs) And expectedly they were in favor of TestPartner. They were quite enthusiastic in telling me how TestPartner has made their life easy. They also were quite happy with the kind of support they receive in case they are stuck at some point in time. I am seriously concerned about the support part of any tool. As this is the major thing which is required once we buy the product. I was thinking hopefully they are speaking the truth. Ironically after coming back to Vadodara I was stuck at some place and I mailed Compuware guys to help me out with the problem. Believe me within 10 minutes I am receiving a call from Bangalore to troubleshoot my problem, which was helpful.

The tool has inbuilt version management system which reduces our cost of buying an external tool to manage and maintain test scripts.

I automated many of the functionalities of the project I was working on which reduced the smoke testing time almost by half. Initially we required 6 man days. After implementing the scripts it took only 2½ man days.

To conclude, the tool is very intuitive. Visual test is a major advantage of using this tool. Support is also very good. It is really easy to implement it in any project. So, looking forward to use TestPartner in future projects.

Click here for original blog

Tuesday, January 5, 2010

The setup failed to read IIsMimeMap table. The error code is -2147023550.

I've been facing issues with installation of Reporting service 2005 and making it run but for the first time I faced an issue while uninstalling it. On trying to uninstall I got the following error
"The setup failed to read IIsMimeMap table. The error code is -2147023550"
Solution:
1. Stop IIS Admin service
2. Stop IIS
3. Uninstall Reporting service.
Result:
Successfully uninstalled Reporting service 2005

ASP .Net Service account appears blank

Its been time I got a chance to trouble shoot a Reporting Service Problem, and this time it was on Windows 7. Actually I faced this issue once before and I managed to skip trouble shooting that.
Reading the initial "Program incompatible message" on running the setup of SQL 2005 I came to know that its necessary to install SP3 for SQL 2005 to run on Windows 7. I downloaded it and installed successfully.
On opening (my favorite) Reporting service Configuration tool, I observed that the "ASP .Net Service Account" appeared blank and because of that I was not able to change the Application pool to ReportServer (which is created by default)
Reading few blogs I changed the Application Pool to Reportserver (from DefaultAppPool) using IIS-> Advanced Settings
But still the problem of the ASP .Net service account was lingering.
I ran the following command to get the service account appear in the configuration tool.
aspnet_regiis -ga "NT Authority\NetworkService"

Wednesday, August 12, 2009

Change in PC name, stops Reporting Service 2005

I deployed few reports on my Test Machine with TestMachine. As we wanted to implement a format of PC names, we happened to change the name of the Machine to e.g CompanyTestMachine
Before the rename happened, our system as well as the reports were working properly. Once the name was changed, we started getting error Report Server database not found.
Then I thought to redo the settings of Reporting service so as to change the required settings. On following the steps, I came across a error
User CompanyTestMachine\ASPNet not found
I then tried repairing the Microsoft Framework which didnt help. I ran the aspnet_regiis.exe /i command which also didn't help. I read many blogs but couldn't find a way out so I ended up renaming the machine to its original name.
I am still searching for a solution to this problem, if someone reading this has one I would appreciate if you could share it with me.