Friday, June 29, 2012

The falling tree

I am currently going through a phase to decide to find a new tree where I can build my nest. The new tree is far away back in another continent.

So My nine year told me. Dad you see the tree you are sitting the branches are dried and people are cutting it down. Some one is cutting it main stem too. Do you think this tree is safe and your nest is safe  on it.  You should move. Build the nest even it is far away. She is willing to fly with me.

Wow that was piece of advice I ever had from her.

I was refreshing the book and video "Who moved my cheese". I know what to do next. 

Tuesday, June 26, 2012

Clean Architecture.

I was listening to Clean Architecture Presentation by Robert C Martin.  http://vimeo.com/43612849

The last project I was working we had attempted to have an Architecture where delivery mechanism was plugged in. It started well.  But on the way lot of crap and delivery mechanism got mixed up.  We had to do a lot of the refactoring to improve the stuff. But still there is lot of mess we are working on it.

The challenges we faced  were

1) Interface Model (Request and Response Model) had dependencies with the Entity model.  (Root cause of the issue directory structure for the project was not correct)
2) Business Services (Interactors) and Delivery mechanism got mixed up.
3) Security was the at delivery layer only. Authentication at the Interactors were costing for the performance and turned off.  The Interactors had to trust the Delivery layer for the security.
4) Delivery layers were stateless REST calls.  Although mess it was something we could still manage.
5) Couldn't get the correct directory layout this created lot of confusions.


The good things were 


1) UI is completely plugged in to the system. No dependency. So it had complete different lifecycles
2) Good amount of Unit testing which finished fast.  We did achieve this with lot of refactoring.
3) Framework code was extracted so could changes the frameworks often.


The following is extract of chat we had in our dev chat we had some time back.

***************
Team member A:  Uncle Bob's latest post about the DB and beer: http://blog.8thlight.com/uncle-bob/2012/05/15/NODB.html
Team member B: From a hands-on approach, some arguments in the opposite direction: http://saucelabs.com/blog/index.php/2012/05/goodbye-couchdb/
Team member B: I am not saying that any of them is right, I am just saying that we can find arguments for both sides of the question
Team member C: but Uncle Bob's point is that the database should not be the central, most important part of the database - no matter what it is, whereas the second article is arguing one db over another
Team Member E:  This are non-controversial issue: 1) The use cases are the central driver for the architecture, not the DB.  2) Most apps do need a DB, so which on to take?
Team Member A: challenging Uncle Bob on NODB: http://www.techdarkside.com/dear-uncle-bob-please-please-show-me-the-code
Team Member A: and his response: http://cleancoder.posterous.com/aldos-response
******************







Thursday, June 21, 2012

Measuring success of your life.

I was reading the article of the Clayton M Christensen how to measure your life.  http://hbr.org/2010/07/how-will-you-measure-your-life/ar/1 

The deviation from your values happens slowly and suddenly you realize that you are in deep shit. 

It is good time for me to recollect the book " The innovators Dialemma".  I was part of the internal innovation program at my company to generate new opportunities. And we just failed.

It all started with me joining a  idea selection team to short list six product ideas.  Then we prototyped these ideas in two months in remote location.  Everything went well till then.

To take the prototype to product was next steps.  We set up an R&D organization in europe where people will "fly in and fly out" this location every alternate week. They work remotely one week and work together next week. Was this designed to failure.  Six months we toiled like this.  We couldn't make our products into better shape.  They stayed more like the prototypes.

Then management realized that we should have it one location.  We shortlisted one location and moved the people there.  Time was running out and money was getting harder.  Then one fine morning management decide to kill the program. 

Why it failed. They are my perspectives 

1) It started smoothly.  But in productization phase company culture killed it. 
2) Used the companies sales channel.  Sales guys were excited about the new products. But couldn't sell it because it has new business model of revenue sharing.
3) Team lost focus. Lost trust in leadership and lot cultural and people issues affected.
4) Management support was lacking. Due to change in the senior management they lost intrest in this program. 

Now at the end the following are outcome.
1) Company lost millions of money and time
2) Some of best people in the company are jobless. They are  packing the bags to home countries from a foreign land with out a Job.

The mistake I did. I could feel it was going wrong. Shouldn't have brought the family to it by moving them to foreign land.  Now it is time to go back. 

But it was a great learning experience.  I should say loud next time when I sense some thing  is going wrong. Don't flow with the crowd.



Wednesday, June 20, 2012

Anxiety of what next.

When your life depends on few decision taken by others and you fee that you dont any control over your life. You do everything what you can do and then wait for others.   It is like smooth of flowing river get disrupted with a dam and the dam is going to break  at any moment. Lot of times you don't know that dam is going to break. For me atleast it very clear.

What will you do as water  now. Your free flow is compromised. You are in comfort state inside the dam. It just waits for decision for others.

How do I overcome this.  What is the water afraid of... To flow again? The force it flows when the dam breaks? It will take also lot of others life's also with it. Or water is searching for some smooth escape route.

This is the anxiety I am in.

Thursday, June 14, 2012

Who knows?

Change is the only constant thing in life. It all started with a phone call from a friend.  Created some great products. Relocated to a new place.  Lot of ups and down. While you were thinking everything was going smooth it just collapsed.

But I really enjoyed the stuff I was doing for last 2-3 years.  That is what all that matters. 

And now there is a reality of what to do next. Now I feel what ever happened it is good thing and the current one too.  This chinese story was shared to me my chinese friend today.  http://www.naute.com/inspiration/luck.phtml
Just looking forward for the next change. Who knows what is it have for me?