Pages

Friday, July 24, 2009

Metrics -Agile development

Every project needs to be measured its progress and readiness for meeting deadline. This also mandates to understand the quality of deliverables and efficiency and ability of a team. This makes us to look at some measuring data during a project execution which helps us to project them to all stake holders.
In my experience I found that we could choose on what metrics we need and what we don't need depends on engagement and product ownership.

I would like to put all these metrics under these categories

  1. Operational Metrics
  2. Delivery metrics
  3. Quality metrics
  4. Team ability or efficiency metrics
While choosing metrics, there is always a debate or discussions with senior management. In my decision I always interested to look at delivery metrics and quality metrics as mandatory. These are core metrics would help to judge product readiness and quality.
Other 2 metrics explains team's work, efficency and ability. These are not really required in agile development as we agree that each individual is self disciplined and talented. But it is up to scrum master or manager discretion.

Wednesday, April 08, 2009

Physical Architecture and Reverse Proxy role

Reverse proxy is used for
1. Forwarding
2. Reverse
3. Defleting
4. Caching and others

This a very component to be used after load balance in any secured network.

Links expalins more details
http://www.apachetutor.org/admin/reverseproxies
http://www.serverwatch.com/tutorials/article.php/3290851

Thursday, March 19, 2009

Unit testing model for SOA applications

SOA Applications must have a very good automation test suite to make sure all services on intact and works as per intended. While doing unit testing these are the things we must take care to ensure proper integrity and very intact business functionality with each service.
1. Testing developed functionality, in other words, Business logic testing
2. It must be able to test Servlets, EJB and POJO which in turn test through business logic and entities
3. Framework must have clear separation about initial data set creation and teardown of data for each test case
4. It must help to test application integration through app test suite. In other words, it must be able to find if any broken functionality because of new additions
5. It must be able to provide preliminary testing of memory leaks and performance
6. Should be able to execute while building either through simple ant build or continuous integration tools like Cruise control. In other words, it must run out of container
7. When this runs against any development DB, it should not spoil existing data setup.
8. Able to run entire test suite for integration testing
9. Able to run single class testing to test business logic
10. It should allow to automate all my business, edge, negative, positive, and integration test cases to avoid tedious process of manual testing
11. Framework should trigger the resource to get much clarity in understanding complete requirement. It means framework really questions what is all needed before he starts writing test cases
12. Should have build in mock objects like session objects and others
13. It must provide code coverage at package, class, method level
14. Should have facility to identify unreachable code and refactor the code to have better and clean quality code
15. The flexibility and easiness of framework should encourage to go for implementing TDD

Wednesday, December 31, 2008

Happy new year

Nature is really beautiful and cares for us. Isn’t it?

It is giving us another 365 days to dream, achieve and enjoy the life. Are we ready for this?

I am sure we are. We are so lucky; our mother nature always opens up a day or year afresh.

We just need to dream and put a plan to execute and enjoy fruits.
Don’t we get our subconscious mind reminds us very often the old saying “you reap, what you sow”?

It’s time again to sow new seeds in our mind and grow them deep rooted to harvest very often.

I am sure you are ready with such seeds for your future.

Wish you a happy and prosperous new year.

Let’s create happiness and prosperity by being innovative and having fun.

Monday, December 29, 2008

Defining and predicting the project success

Of-course the project success depends on many factors like skills, tools, process, scope and timelines.
When it comes to resources, project success predictability can be measured by resources competency, process adherence and metrics collected over the process.
Metrics which are being collected must be useful in determining the project health in terms of the following
1. Is there any risk in the project?
2. Is there any risk at resources capacities?
3. Is there any risk of meeting delivery time lines?
4. Is all stakes holders getting right information during project execution?
5. Is project in predictable state?


This makes the leaders to have right environment to develop and use factors of competency, process and metrics based on process.

In this lines, I have come up with a program or tool to use and improve competency, productivity and predictability. I called this as mentoring program to make everyone powerful and able contribute on proactive manner.

My mentoring program is concentrated on the following items
1. Increasing Technical capability
2. Defining and adhering to suitable process as per the project environment
3. Leadership
1. thinking as whole release or project
2. building trust
3. Ownership or entrepreneurship
4. maintaining relationship

I will talk about these details in next blog

Thursday, December 18, 2008

Importance of code reivew in agile development

Code review is essentially vital part for agile development and it must be done along with our code coverage.
Code review has a great potential to reduces bugs count and increases the productivity on long run.
It provides quality code in terms of
1. following coding standard to make sure everyone understands your coding.
2. identifying bugs development stage reduces the number cycles between dev, qa or even from production to development.
3. catching performance bottle necks like loops, memory leaks, reducing unnecessary costly calls to db and so on

Code review will really gives you more learning and it multiplies your knowledge as you become aware on how other person think and code.
You must feel great to get your code reviewed to make sure you're strong in your delivery by using another pair of eye to catch any unwanted things that you don't want to put in to code base.
When you get comments on your code, your confidence level on your coding style increases and you become quality coder.

Sunday, October 26, 2008

SAAS : Challenges

  1. Data security
  2. Scalability for growing customer base
  3. Customer specific demands
  4. Customer support on functional and technical
  5. Changing customer needs
  6. Dynamism in the market
  7. Performance

SAAS Design principles

SAAS Design Principles

  1. Meta data driven
  2. Configurable
  3. Multi-tenant
  4. extendable design to suit to changing markets
  5. Internationalization
  6. Service Oriention architecture
  7. Asychronus request
  8. Data handling - archiving and purging data
  9. Easy to integrate with other applications
  10. Scalablity
  11. Availablity and reliablity
  12. Security
  13. Performance
  14. Monitoring and auditing
  15. Techincal and business support

Tuesday, October 21, 2008

SAAS

Necessity makes any thing. Information Technology has become prominent across industries as it has been reducing lot of opertional cost. It made the turnaround time for any activity to become very less. It has been more effective in tracking and monitoring business. Productivity increased and companies have been growing healthy.

There is no limit for human mind to think beyond umimaginable thoughts to provide a change in industry. Industry is in such a situation where lot of money is going on operational cost of IT enabled services. This invloves initial purchasing of software solutions and its supporting hardware. Apart from initial investment there has been always a maintance cost. This has become more than anticipated. Other side ever changing requriments and new technologies also put companies on trememdous pressure to keep them upto date.

Once the IT services were more of boon to reduce operational cost and now IT services maintanence has become a gaint expenditure. Problem alwasy demands a solution. It is to put IT industry in new dimentions with more creative and innovate ideas. Here came a concept SAAS to reduce IT operatoinal and maintainance cost.

SAAS denotes software as a service. Another name for this is on demand. Concept is not very new in terms of application, but it is new interms of using it for the benifit of consumers.

This makes the IT enabled software provided as servie and consumers just subscribe it and start using it. It removes all hurdles of initial purchasing of hardware, software and its operational cost. It has become a great boon across industry as they don't need to commit for unforseen benefits for future. Now IT services is available as service, try it and if you like to continue you can subscribe for required period. As there was no commitment of procuring all hardware and maintiance setup, It is easy to either discontinue or continue with service. There is no lump some investment. It is steady investment year after year. It is very easy for customer to move on to next generation products based on changing market needs.

In next blog we will see design principles of SAAS and other supporting information for SAAS

Saturday, October 18, 2008

Focus

Focus is the right tool for our achievement.

I strongly believe that every one has value. It is just that they need to focus on what they are doing. If a person focus is on building muscles, he certainly spend more hours in exercise hall. It makes him happy and finally he achieves a great shape of muscles body structure. Similarly, if he focuses on what is he working on, he certainly achieves it irrespective of any problems.

Focus builds capacity
Focus builds capability
Focus creates concentration
Focus motivates for achievement
Focus creates interest
Focus generates unusual results

If focus is only on output, you certainly work on outcome irrespective of how you did it.

If focus is on output, but you need quality out put, then out come is quality output

Tuesday, September 02, 2008

Situational leaders

Regrettably, we are all accustomed to do what the leader says. That is good, but sometimes that leader may already overburdened and tired for a while. Or, leader may not have clear idea about someting is good to do but not understand how to execute it. That time, anyone in the team can come forward and lead the team in right direction in that situation. This type leaders are called situational leaders. There is good example for this is birds migration. While birds migrating from one place to another place, they form a parbolic and fly to desintatin. This shape is somethig to address aerodynamics. The bird which at front faces more force and it decreases while going down the parabloic path on either side. Here, the bird flying infront is the leader and it leads for a while and becomes tired. Then, it moves back to last and next bird will take the incharge of leading. The cycle rotates till they reach the destination.Everything is came from nature. One should learn things from nature. All inventions and theories are advocated based on their concentration and observations in nature.

Thursday, July 19, 2007

Creativity workshop

I and another colleague thought to conduct a workshop for our company employees. We discussed to choose a topic. As I had been thinking to take a session on creativity and it kept on postphoned, I suggested to have workshop on crativity. We dicussed to have some activity for this. My colleague came up with some activity which would make eveyone thinks. The plan was drafted about how to conduct and what to talk during workshop. We planned to have an activity of making eggs fly. After the activity, we thought that we would collect the information about how they would arrive at ideas and others. Thereafter, I would talk about creativity. On the very day of executing the plan, we called eveyone in the office and we told them about the activity. We gave all neccessary items that would help them to make eggs fly. We asked them to get the working solution. We divided them all into different teams and took care not dominate any person in the group by putting all senior guys in a single team.

We asked all teams to go to different locations, so that they would not have any influence from any other team. After the given time elapsed, we called all teams to demo their activity. After demo was over and we asked them to answer few questions. We have collected all information and took over the procedings to discuss on the topic. I starated discussions with an intention to tell everyone was creative. I explained about what is creativity and how everyone was creative in the give activity. I talked about advantages of crativity and how to improve crativity.

Wednesday, June 06, 2007

Handling a angry customer

When I went to coruier service center to collect my receipt, I observed a hostile customer asking the shop keeper why his courier didnot delivered yet. Shop owner was not there, but his boy answering him. The boy asked him he would have complained about it. He got angry and siad if he could follow it up, why he sould give it to a service and pay money for it. The boy didnot understand what to say and immediatly he called his owner. I thought the owner was on the way to shop. As soon as the owner came, he just asked the details and tried calling customer service to find the problem. The samething the boy also did it. But the way they handled the situation was different. Owner didn't say anyword, he just asked the details of addressee and sender details and noted down. He kept trying for customer service, but the phone was not answered. After a little time, it customer became calm and said to shop owner to find it out and inform him on his mobile.

Later owner was telling to his boy. First, he should calm the custmor down and then say anything. The boy said, he was not allowed to say any word and kept shouting. The owner asked to understand how he handled the customer.

As an observer over there, I found only difference between them was one responded and the other listened and divereted him to give answers to his questions. Asking for information related to issue diverted the customer to be away from hostility. Other thing owner did was lapsing the time. I observed that first time the phone was connected to service center, but, I could guess, he intentionally cut it. It is very obvious that after little amount of time everything becomes ease if there is no reciprocation from other side.

Saturday, March 03, 2007

Life

Security is mostly a superstition. It does not exist in nature,
nor do the children of men as a whole experience it.
Avoiding danger is no safer in the long run than outright exposure.
Life is either a daring adventure, or nothing.
To keep our faces toward change and behave like free spirits
in the presence of fate is strength undefeatable.

- Helen Keller

Monday, February 05, 2007

Essense for life

It is not what we eat
but what we digest
that makes us strong;
not what we gain
but what we save
that makes us rich;
not what we read
but what we remember
that makes us learned;
and not what we profess
but what we practice
that gives us integrity.

Monday, January 15, 2007

Let's push the procastination out of reach for achieving goals

Procrastination is the theif of time. Oh..procrastination is such beautifull word and is loved by many of us. Who the hell related with theif. I guess this is the only word loved by a feild worker to god. Everyone atleast procrastinate a hour or minute. This is quite common, isn't it? Does anyone say no to this? I dont think so.

But, for the people who want to create a history every second counts. I guess when our genesis was created god might have counted every second. Of-course, later he got into sleep, but wakes up on invocation. Friends, everysecond counts in terms of your preparation to achieve a bigger dream or vision or goal. Believe me, you really count on seconds when you have a certain goal in your mind to be fulfilled. I bet if some one doesn't count on seconds means he didn't take his goal or dream,or vision seriously.

Let's make money grow on trees

Money doesn't grow on trees. I love to see it does grow on trees, so that I could pluck as much I want. Isn't it sounds good to have more money? So that we don't need to work to get money. But our dreams never come true by themselves, unless we make them true. Can we think of creating a seed which grows and gives us money? So that we just need to pluck it based on the availability and our need. Friends, think about it. Our elders said that Money doesn't grow on trees to spend on our wants. Let's try to create a big tree with a proper seed and nurturing it continuously. So that we don't need to tell our descendents that money doesn't grow on trees. we could say them I have planted a great seed and nurtured that to become a big enough tree for you. It is now your turn to nurture and keep it growing further and pluck only neccessary money and hand it over to your descendents. This became true with many people. Look at the Indian context, we have a handfull of examples for this approach starting from Tatas, Birlas, Amabanies, Mittals, and many others.

Wednesday, January 10, 2007

Quatations


People may fail many times, but they become failures only when they begin to blame someone else.

Happiness grows at our own firesides, and is not to be picked in strangers' gardens.





"We have much to do together. Let us do it in wisdom and love and joy. Let us make this the human experience."

"We don't know who we are until we see what we can do." Forgiveness does not change the past, but it does enlarge the future.


Believe while others are doubting.
Plan while others are playing.
Study while others are sleeping.
Decide while others are delaying.
Prepare while others are daydreaming.
Begin while others are procrastinating.
Work while others are wishing.
Save while others are wasting.
Listen while others are talking.
Smile while others are frowning.
Commend while others are criticizing.
Persist while others are quitting.


Smiling Is Infectious

Smiling is infectious,you catch it like the flu,When someone smiled at me today,I started smiling too.
I passed around the cornerand someone saw my grin.When he smiled I realizedI'd passed it on to him.
I thought about that smile,then I realized its worth.A single smile, just like minecould travel round the earth.
So, if you feel a smile begin,don't leave it undetected.Let's start an epidemic quick,and get the world infected!



We can throw stones, complain about them, stumble on them, climb over them, or build with them.

The two things I did learn were that you are as powerful and strong as you allow yourself to be, and that the most difficult part of any endeavor is taking the first step, making the first decision.


Instead of looking for a miracle in your life, look to see if you are the miracle in someone else's life.
Vitality shows in not only the ability to persist but the ability to start over.

If you wouldn't write it and sign it, don't say it.

If you concentrate on finding whatever is good in every situation, you will discover that your life will suddenly be filled with gratitude, a feeling that nurtures the soul.

Everything in this world can be seen as you wish to. Good or Bad; Simple or Complicated; Easy or Difficult.
Its not how things are; its about how you look up to them. .and how you look up to them is all up to you.


The difference between great people and everyone else is that great people create their lives actively, while everyone else is created by their lives, passively waiting to see where life takes them next. The difference between the two is the difference between living fully and just existing.

The key that unlocks energy is desire. It's also the key to a long and interesting life. If we expect to create any drive, any real force within ourselves, we have to get excited.


Our greatest weakness lies in giving up. The most certain way to succeed is always to try just one more time.


Before you speak, listen.
Before you write, think.
Before you spend, earn.
Before you invest, investigate.
Before you criticize, wait.
Before you pray, forgive.
Before you quit, try.
Before you retire, save.
Before you die, give.