Category Archives: ramblings

My current reading list

After a really long time, I just took a break from constant coding and read The Kingkiller Chronicles Day 1 (The Name of the Wind) and Day 2 (The Wise Man’s Fear) back to back. Enjoyed it although felt both were rushed toward the end as if the author wanted to finish the book under 900 pages. Local library is a great place to borrow books and now with Kindle lending this should be even better.

Here is the list of books in the queue

1. Sencha Touch in Action by Jesus Garcia and Anthony DeMoss

2. Node.js in Action by Mike Cantelon and TJ Holowaychuk

3. HTML5: Up and Running by Mark Pilgrim

4. Programming Razor by Jess Chadwick

5. jQuery Mobile: Up and Running by Maximiliano Firtman

6. Pragmatic guide to Sass by Hampton Catlin and Michael Lintorn Catlin

7. CoffeeScript Accelerated Javascript Development by Tervor Burnham

8. Meaningful Use and Beyond A Guide to IT Staff in Health Care by Fred Trotter and David Uhlman

9. The Way of Shadows (The Night Angel Trilogy) by Brent Weeks

10. Wired by Douglas E. Richards

11. The Frozen Sky by Jeff Carlson

WOW! not sure how I am going to find time to read them all.


It takes guts to do Agile scrum

The latest in software engineering practice is Agile,  scrum,  XP etc, etc.  Everyone seems to be doing it. Everywhere you look, this new trend seems to be in rage. Don’t get me wrong. This post is not dissing the practice. If done right and pragmatically, Agile is the way to go. The theory is good. No not just good, but great! The issue is practice. It is one thing to come up with a good idea, but without execution, that’s what it is – a good idea. End of story.

In my opinion,  agile scrum does not work. Having made that provocative statement, let me qualify it. Agile does not work if the team practicing it does not have guts. You need passionate, self-motivated people to make agile a success.  Else, all you are doing is going fast nowhere and telling stories. Scott Hanselman‘s team is an example of a team that can successfully do agile.

Here are some of the tenets of running an Agile team

1. An agile team may not have a team lead
In theory this is good. If everyone is equally motivated and smart, you dont need a task assigner or team leader. The team understands the needs and just gets it done. Team members look at the scrum board, pull tasks, swarm around blocks and keep moving the stones up the pyramids. Great things are accomplished by great teams. However, there are only so many good people. The minute you put more than 2 mediocre people, you bring in politics.  People start finding all kinds of excuses to why something cannot or could not be done. For mediocre people only sticks work.

2. Every team member is accountable to the team. Everyone is empowered.
Again, a great idea. If everyone is honest, no one will feel threatened. Smart people treat one another with respect. To use the cliche, with empowerment comes responsibility. Most agile teams start out to have daily stand-up meetings. However these meetings pretty soon devolve into status meetings which waste everyone’s time. Everyone shows up. Blurts out what they did yesterday, what they might do today and there never is any block. None whatsoever. No one questions anything. Just get it over with. When it’s everyones responsibility to be accountable and call out, it becomes no one’s responsibility. You scratch my back and I’ll scratch yours. This is why you need gutsy team members. Team members who have the guts to call out others and team  members who have the guts to take critisism.

3. An agile process will weed out weak players because process shines the light on such players
For this to really work, you need honest, motivated people. Put together a bunch of mediocre people, and you will get what you  measure. Everyone will start working toward satisfying the measurements. The manager uses a magic formula to deem that a team of 5 people can deliver X number of story points. Weak teams will tell stories that magically add up to X. Writing a Hello World program will magically get an “8” and you add 8 more such story points, you already exceed X. Now you are looking awesome. Because mediocre team players are good at playing politics, everyone scratches everyone’s back. Dissenting voices will be frowned upon and soon those disenting will become demotivated and maybe more on. Everyone wins.

4. 5-6 is the ideal number for the team size
This one size fits all teams in a large project is not fair. Some team members work well and some don’t. Human dynamics and interactions are complex expecially when survival is at stake as is the case with mediocre team members. So for some teams, 3 may be the optimal size where as 6 may work better with another. Teams are supposed to be dynamic in constitution but that will work only if we have a bunch of top-notch folks

So, do you have the guts to do agile? I hope so. And, good luck.

Amex, come on. It’s security 101

I did not expect this from Amex. Managing numerous userid/paswords is hard and as was bound to happen, I could not recollect my password for the Amex site. Ok, no big deal. I’ll just reset it. Take a look at Amex’s password reset screen.

Amex Password Reset

The password needs be between 6 and 8 characters. So why the heck do you even let me enter 9 characters? No special characters? Oh, come on! You are a financial institution for crying out loud!!

Had it not been for the fact that Amex was the first credit card company that was willing to overlook my lack of credit history in the US and issue me a credit card, and that Amex is the only credit card accepted at Costco, I would have immediately cancelled it.