Saturday, September 12, 2009
Diamond cannot be polished without friction
Me: Called you? No… Who is this?
God: This is GOD. I heard your prayers. So I thought I will chat.
Me: I do pray. Just makes me feel good. I am actually busy now. I am in the midst of something…
God: What are you busy at? Ants are busy too.
Me: Don’t know. But I can’t find free time. Life has become hectic. It’s rush hour all the time.
God: Sure. Activity gets you busy. But productivity gets you results. Activity consumes time. Productivity frees it.
Me: I understand. But I still can’t figure it out. By the way, I was not expecting YOU to buzz me on instant messaging chat.
God: Well I wanted to resolve your fight for time, by giving you some clarity. In this net era, I wanted to reach you through the medium you are comfortable with.
Me: Tell me, why has life become complicated now?
God: Stop analyzing life. Just live it. Analysis is what makes it complicated.
Me: why are we then constantly unhappy?
God: Your today is the tomorrow that you worried about yesterday. You are worrying because you are analyzing. Worrying has become your habit. That’s why you are not happy.
Me: But how can we not worry when there is so much uncertainty?
God: Uncertainty is inevitable, but worrying is optional.
Me: But then, there is so much pain due to uncertainty..
God: Pain is inevitable, but suffering is optional.
Me: If suffering is optional, why do good people always suffer?
God: Diamond cannot be polished without friction. Gold cannot be purified without fire. Good people go through trials, but don’t suffer. With that experience their life becomes better not bitter.
Me: You mean to say such experience is useful?
God: Yes. In every term, Experience is a hard teacher. She gives the test first and the lessons afterwards.
Me: But still, why should we go through such tests? Why can’t we be free from problems?
God: Problems are Purposeful Roadblocks Offering Beneficial Lessons (to) Enhance Mental Strength. Inner strength comes from struggle and endurance, not when you are free from problems.
Me: Frankly in the midst of so many problems, we don’t know where we are heading..
God: If you look outside you will not know where you are heading.. Look inside. Looking outside, you dream. Looking inside, you awaken. Eyes provide sight. Heart provides insight.
Me: Sometimes not succeeding fast seems to hurt more than moving in the right direction. What should I do?
God: Success is a measure as decided by others. Satisfaction is a measure as decided by you.Knowing the road ahead is more satisfying than knowing you rode ahead. You work with the compass. Let others work with the clock.
Me: In tough times, how do you stay motivated?
God: Always look at how far you have come rather than how far you have to go. Always count your blessing, not what you are missing.
Me: What surprises you about people?
God: when they suffer they ask, "why me?" When they prosper, they never ask "Why me". Everyone wishes to have truth on their side, but few want to be on the side of the truth.
Me: Sometimes I ask, who am I, why am I here. I can’t get the answer.
God: Seek not to find who you are, but to determine who you want to be. Stop looking for a purpose as to why you are here. Create it. Life is not a process of discovery but a process of creation.
Me: How can I get the best out of life?
God: Face your past without regret. Handle your present with confidence. Prepare for the future without fear.
Me: One last question. Sometimes I feel my prayers are not answered.
God: There are no unanswered prayers. At times the answer is NO.
Me: Thank you for this wonderful chat. I am so happy to start the New Day with a new sense of inspiration.
God: Well. Keep the faith and drop the fear. Don’t believe your doubts and doubt your beliefs. Life is a mystery to solve, not a problem to resolve.
Fostering a spirit of teamwork is critical in times of change
There is a wonderful story from the play, "Some Folks Feel the Rain; Others Just Get Wet"; it's worth sharing again to shed some light on how people think about teamwork...
A man was lost while driving through the country. As he tried to reach for the map, he accidentally drove off the road into a ditch. Though he wasn't injured, his car was stuck deep in the mud. So the man walked to a nearby farm to ask for help.
"Warwick can get you out of that ditch," said the farmer, pointing to an old mule standing in a field. The man looked at the decrepit old mule and looked at the farmer who just stood there repeating, "Yep, old Warwick can do the job." The man figured he had nothing to lose. The two men and the mule made their way back to the ditch. The farmer hitched the mule to the car. With a snap of the reins, he shouted, "Pull, Fred! Pull, Jack! Pull, Ted! Pull, Warwick!"
And the mule pulled that car right out of the ditch.
The man was amazed. He thanked the farmer, patted the mule, and asked, "Why did you call out all of those names before you called Warwick?"
The farmer grinned and said, "Old Warwick is just about blind. As long as he believes he's part of a team, he doesn't mind pulling."
At times we are compelled to push harder and see ourselves get out of a troubling problem just by a pull by our own team mates. We are able to strive harder and do the impossible only because we feel motivated and belonged…that’s indirectly what a team works to achieve. Together Efficiently Achieve More! Grow with a motivated team!
The key element is trust- trust in the leader and trust in each other
Thursday, March 5, 2009
Extreme Programing
A Discipline of software development that follows a specific structure that is designed to simplify and expedite the process of developing new software. Kent Beck developed Extreme Programming to be used with small teams of developers who need to develop software quickly in an environment of rapidly-changing requirements.
XP teams design software for specific functionalities without adding any functionalities that are not specifically requested that may slow down the process, keeping the development course simple through systematic and regular testing and design improvements.
Extreme Programming is based on 12 principles:
- The Planning Process : The desired features of the software, which are communicated by the customer, are combined with cost estimates provided by the programmers to determine what the most important factors of the software are. This stage is sometimes called the Planning Game.
- Small Releases: The software is developed in small stages that are updated frequently, typically every two weeks.
- Metaphor; All members on an XP team use common names and descriptions to guide development and communicate on common terms.
- Simple Design: The software should include only the code that is necessary to achieve the desired results communicated by the customer at each stage in the process. The emphasis is not on building for future versions of the product.
- Testing : Testing is done consistently throughout the process. Programmers design the tests first and then write the software to fulfill the requirements of the test. The customer also provides acceptance tests at each stage to ensure the desired results are achieved.
- Refactoring: XP programmers improve the design of the software through every stage of development instead of waiting until the end of the development and going back to correct flaws.
- Pair Programming: All code is written by a pair of programmers working at the same machine.
- Collective Ownership: Every line of code belongs to every programmer working on the project, so there are no issues of proprietary authorship to slow the project down. Code is changed when it needs to be changed without delay.
- Continuous Integration: The XP team integrates and builds the software system multiple times per day to keep all the programmers at the same stage of the development process at once.
- 40-Hour Week: The XP team does not work excessive overtime to ensure that the team remains well-rested, alert and effective.
- On-Site Customer : The XP project is directed by the customer who is available all the time to answer questions, set priorities and determine requirements of the project.
- Coding Standard; The programmers all write code in the same way. This allows them to work in pairs and to share ownership of the code.
RUP
- Inception: Here the project business case is stated and the team deciedes if the project is worth doing or if it is even possible. It is important to the process to first formulate the scope of the project and also determine what resource will be needed
- Elaboration: In this stage, the developer take a closer look at the project to deterimine it architecture foundation and to evaluate the architecture in relation to the project. This stage is important to the RUP because it is here that the developers analyze the risks associated with changing the scope of the project or adding new techonolgies along the way.
- Construction: In this stage the development of the project is completed. The application design is finished and the source code is written. It is in this stage that the software is tested to determins if the project has met its goal laid out in the inception phase.
- Transit: In this stage any fine tuning is performed and final adjustments can be done based on users feedback, usability or installation issue.
RUP is similear in cocept to Extreme Programming in that only what is useful and required is produced and the development plan is updated throughtout the process. Both methods seek to develop a system of best practices in software development.
