Have seen some real life fundo code and have been amazed at how this would be maintained.
It went something like this:
private static var oGlobalClassAObject = new GlobalClassAObject(new LocalClassB(olapDataClass,false),new URLLoader(new URLRequest("../local/assets/global/returnValidate.xml),false,new XMLList(result.result.data.children));
Needless to say, I was shocked, petrified, p***** off, on seeing this code. And the best part of this story was, a new "less Geeky" guy was asked to maintain this code. He read this code for the most part of the day and then called in sick for the rest of the week (my guess is he was attending interviews to escape out of this mayhem).
I would love to see a proper commented code explaining what each and every parameter of the above class constructor would lead to. A simple one liner would not hurt, would it? And if this API is tested as it is, the chances are, this object definition would end up in the automated test cases as well. So now the virus would spread from the development to quality to validation to customer.
"Always code as if, the person who would be reading it, is a psycho who knows where to catch you".
Ant's flexunit task does not run with a native FlexUnit testrunner component. You need to ensure you use the JUnitTestRunner component with task of Ant.
(I learnt it the hardway though :))
import flexunit.junit.JUnitTestRunner;
import flexunit.framework.TestSuite;
private var jUnitTestRunner:JUnitTestRunner;
private function onInit():void{
status.text = "Unit tests running";
jUnitTestRunner = new JUnitTestRunner();
jUnitTestRunner.run(suite(),onAllTestsCompleted);
}
public static function suite():TestSuite{
var _testSuite:TestSuite = new TestSuite;
_testSuite.addTestSuite(MyTestCases);
return _testSuite;
}
private function onAllTestsCompleted():void{
fscommand("quit","");
}
This makes me wonder, why is it named as Shouldn't it be ?
The one thing that can never happen is Development following SCRUM and QM following traditional project management. In this case Development and QM can never do business together. Whereas the philosophy of Agile (and SCRUM as well), is that you do not give the SRS requirements for the entire product upfront. The reason: You do not have the requirements upfront. They appear as you start working on the features of the product. However, the Waterfall model says that you should have all the requirements on the table, reviewed, signed off, etched in memory of the developers and finally on their graves as well. In this situation, this is what happens:
Dev: We have 10 requirements for this sprint to be developed.
QM: And how many to be tested?
Dev: Hmmm....we cannot be so sure now. The sprint has just started. We might reduce or increase the scope based on priorities.
QM: OK. Assume this is the end of the sprint. Then, how many requirements can we test?
Dev: Duh (Pondering what to answer)...
QM: OK forget it. When can I have the requirements
Dev: The SRS would be ready by the end of the day and the development will be starting tomorrow based on the SRS.
QM: (Looks at the SRS) But I see only 10 requirements. Is this all that you are going to be shipping till the end of the year?
Dev: (Losing his patience). Look, we are following SCRUM. We might have the overall scope items, but the SRS will evolve as we progress. We cannot have the entire requirements of month 8 right now.
QM: Then how do you expect the testing team to come up with test cases? We need the requirements to do this.
Dev: But that is what I am saying, you cannot have the requirements for next sprint when we are still in sprint 1.
QM: What sprint?
Dev: What what sprint?
QM: You just said something about sprint...are you planning to run away overnight?
Dev: (Sighs and murmurs the F word) I said Sprint. SPRINT. Meaning an interation in SCRUM.
QM: Don't you dare call me a SCUM. I am not a SCUM. I am the QM of this team.
Dev: OK...Let me clarify here...what model of project are you following?
QM: What do you mean by what model?
Dev: I mean, how are you planning for your tasks?
QM: We have Microsoft Project. We have been having 2 hour meetings for the past 2 months to plan for the next 10 months. We have the qm testing phase starting in Month 6. That is followed by AT in Month 8. Then we do a regression on the reported issues in Month 8 Week 2 and a final issue consolidation on end of of week 3 of Month 8. Then on the next Monday, we start with the analysis of the AT results.........
Dev: (Has just slipped into a coma)
This immediately brought to my mind the Russel Peters video (Chinese and Indian people cannot do business together):
I was chatting with one of my many relatives the other day (I am proud to say my family has 3 generations of software engineers, starting from one who worked on punch cards :)), and this person was talking about how his organization has been working on a product release for the past 2 years. I was dumbstruck, how could somebody work on something for 2 years. When I conveyed my doubt he gave a long sigh and explained that his company focuses on the process of delivering quality products to the customer and hence has left the decision on processes with the Quality Assurance team. Every-time a new release is supposed to happen, the QA raises a red flag about some issue or the other and hence delays the release. One of the important points they like to focus on is documentation.
My idea of a software product is this.
Based on the market requirements (read this) (The product management team gets the current market requirements and defines the idea. (Not more than 2 weeks)
Development brainstorms the idea and comes up with a prototype (Max 4 weeks)
Dev showcases this to the Product Management and gets their confirmation if they are on the right track.
Product Management signs off the initial level of design, and requests Dev to proceed with the next steps.
PM shows this to the Customer and if any changes, communicates to the development at the initial stage itself.
The development continues with the iterative development and in a maximum of 4 months comes up with the final design as requested by the customer.
Then another 2 weeks of testing. (During these 4 months of development, testing would happen at the end of each month on the monthly milestones).
A total of 20 weeks (translates into 5 months), the beta is released to the customer.
Once things are on track, the dev starts with Wave 2 of the requirements.
In this way, we can be sure that we are ahead of our competitors and follow the Agile methodology to the core. We always have time for documentation, processes, standards and quality. What we need first is the confidence of the customer that his requirements are really going where they need to go and not into 50 page MRDs and PRDs which no one would be looking into anyway.
Been in this job for close to 6 years, of sending and receiving mails :), that I now know this first hand. Infact, I am one step ahead when it comes to sending and receiving, do an F9 whenever I want an updated dream. . But jokes apart, I had this sudden rush of emotion when I started blogging this one. We talk about sustainability; Save trees, save planet, save water, save electricity, save fuel, save wood, blah blah, and all that s***. We have missed out one core component, save on e-Mails. I am sure if we stop sending e-mails for one day, we could save power to make us survive for one whole day (I am not sure how environmentalists arrive at this figure but that's how it is so, just shut-up and listen).
When I say we save power through not sending mails, I am talking about all those crap mails which are sent around everyday, and which spams our inbox. And it is not from any fake site selling Viagra or Cialis, it is from our very own colleagues and it is not just the Miss World wallpapers that are sent around, it is something related to work which spams the inbox.
You might be wondering, I must be some sort of Kaam chor (work thief, meaning, person who tries to avoid work). Well not exactly. Just to highlight what I am trying to say, there was an issue a long time ago in one of my many jobs,which actually boiled over into an escalation. One person drafted and sent an e-Mail, to me, a colleague of mine, the culprit, his manager, his VP, his LOB head. Apart from that he sent my manager an FYI, (not sure why he did that).
The culprit's VP forwarded the mail to the field sales colleague who inturn forwarded the mail to the entire Sales management DL. Now this mail was then circulated back to the culprit who replied back with another colleague's contact who happened to work in Culprit's team (without cc'ing the culprit #2). The sales team replied back to the culprit #2 with "Could you please help us here". Now this culprit #2 was a dumbass. Instead of scrolling through the mail and finding out who had initiated the thread, he just picked up any damn section of the thread (in which I was involved) and replied to all. Now if you see, how many iterations the same mail (+ the delta) might have traversed, it actually did one round trip around the world and finally ended in the same team.
Now all you environment philanthropists, come up with a damn idea for making sure jackasses like the one above are punished under some PETA like law which prohibits them from clicking the "Reply All" button in Outlook.
The initial shock is over and it is now time to dismay. I, as an individual tax payer, am thoroughly disappointed with the budget. I feel the FM should have done some more groundwork/homework before proposing the budget 2009/2010.
LCD prices have been slashed 5% and would cost cheaper. But STB prices are up by 5%. Which means, what you save in LCD, you will have to shell out for Tata Sky, Airtel Digital or the infamous Sun Direct.
Excise duty on big cars (the Audis, VW, BMW etc.) has been slashed by 5% to make it uniform at Rs. 15000 per unit. But the same has not been implemented for smaller cars (which form a major part of the Indian commuting style. You cannot see any common man driving a BMW or Prosche unless he is a driver of a CEO who is working in an MNC.
Gold prices have been increased by Rs. 200 per 10 gm...which means we men can cite that as a reason for not buying gold for our women folk.
Above all, the FM has done a great job by increasing the Income tax exemption limit by Rs. 10,000. I hear some of you ignorant people say WOW...Rs. 10,000 per year amounts to Rs. 800 per month. Hold On...:) below is the breakup of how much excess you would get if the exemption limit goes up by 10000. Here is the old structure with exemption: With the new exemption (a whopping Rs. 10,000/=) here is the new tax payable per month:
So you save around Rs. 1030 PA. (TimesOfIndia published an article today which sid "The FM has ensured the tax payer gets Rs. 1030 excess at his disposal). What they have not mentioned is this amount should be divided by 12 to arrive at the monthly increase which is more important to common man than the yearly increase.
It is time for another test drive. Let's Jazz with the Honda Jazz. So Long.
Had the privilege of test driving a Hyundai i10 Sportz on last Friday. I might not have a 5000 hours of driving experience under my kitty, but I could drive around at 5th gear on ITPL road to test all the bumps and thuds this road is famous for. First of all, I would like to comment about the Hyundai customer care. These guys are as prompt as an Englishman :-). The moment I called up their customer care and fixed an appointment for a test drive the next day, I got 3 calls from them (one from Gurgaon office and 2 from the Advaith Hyundai showroom) to confirm the appointment. Kudos to them. I hope the after sales service too is as prompt (which I heard from a friend of mine, it is). I think Tata and Maruthi need to take a note of this. I have booked 3 calls with Maruthi for the Ritz Test drive, but somehow, I assume, they think I am too unimportant for them. Know what guys...I don't care. I don't need a 1.1 Ritz when I can think Kappa Buhhaaahahaha.
Then the D-Day. The sales person drove down to my office at exactly the scheduled time and we started off. 4 grown up men (3 oversized bloats :)), and me behind the wheel. Now for the real meat.
The interior has a cosy look and feel with the beige coloring frame and the beige seating. The seat is bucket styled, and good enough for a 5'5" (I am 5' 8" though and found it easy to drive). Both the front and the rear provide a wide viewing experience (thanks to the A and C pillars being of lesser width as compared to Swift). The side view mirrors are really wide and with very less blind spot.
The gear shift, mounted on a console, was as smooth as butter (I am used to doing a hard 1st shift...thanks to my Alto gear box..). I noticed a Wagon R coming up behind me and I wanted to avoid this guy overtaking me since the road ahead was empty and if I followed this guy, I might not be able to test the i10 to it's fullest. But I was a bit apprehensive, since, with the A/C running and in 2nd gear, I was of the opinion, no small hatchback would be able to get the needed thrust. But this baby was awesome. There was absolutely no difference from driving with the A/C turned off. And I whizzed ahead of the Wagon R in less than 4 seconds :) (I should have checked the look on the Wagon R driver's face .
The gear shifts were smooth and I reached 5th gear in no time (at 90 KMPH now), then I noticed the bump. I am used to scraping my Alto's bottom on this one monster a couple of times and I always make it a point to make sure I am absolutely slow while driving over it. But I wanted to test i10's ground clearance (and what the hell, it isn't my car anyway), so I thought of taking on 3rd gear over it at 30 KMPH. And lo behold, did just that like a breeze. Very impressive. The steering column is both collapsable (for safety) and tiltable (convenience) and extremely sensitive handling. I was able to negotiate a sharp turn with just one hand on the wheel (I have this bad habit of driving with just one hand and the other on the gear). Made it through a couple of pot holes too with very less thuds.
The turning radius is similar to Santro (and a bit more than Alto) at 5 mtrs. so it is better to take that slight left and then turn to the right, if you are not used to it, lest you end up doing a double turn on a busy road. The brakes are very responsive (stopped the devil in its tracks at the next bump while doing an 80.
The boot space is decent and good enough for holding luggage of a family of four. Rear seats are 60-40 folding so you get that extra space in the rear (if you want to leave you mother in law with the luggages in the rear, this is the best option hehehehee). Sportz comes with a fully integrated music system, so the rear speakers are mounted on the door. So you get that folding panel in the rear for some soft toys (unlike Alto where I have the speaker mounted on the panel and have to be careful about the stuffs I keep there).
Headlamps are nice, elongated and wide. No complaints about their performance.
Some cons though: Sportz is a bit pricy (around 30 K more than Magna), but comes with HMSL, Rear spoiler, rear defogger and a jazzy upholstry (for Red and black variants) with an integrated music system. But I think it is worth the experience you get out of it.
I am not too much into the NM and Torque and all that shit, but I can say this, on an incline with 4 decently built people, this car might just be able to make that hairpin bend which you would have scared to do in any other small car.
All in all: I would recommend this car (or magna or asta if you have some extra cash) to people who are considering their first car or are tired of their existing hatchback. Driving, braking, pickup: 4.5/5 FE: 13 KMPL (city), 19 (highways, as told) A.C.: Decent Pricing: Affordable On road (BLR): 467700 (Maybe you could bargain on the 1st year insurance waiver and Rs. 4K discount, the On road comes down to 4.49 L.) Came to know from a friend today, that they are giving some more accessories if you know how to bargain (which you would know if you are a true South Indian ;))