Pages
Friday, June 04, 2010
Work vs Responsibility
It is a fun when we are loaded with responsibilities. It makes us enjoy the work. It creates a positive stress which makes us to deal with.
Work assignment generates negative stress which makes us to run away not to deal with. See the difference. Work load is similar. But the way it is given is different. leader knows it. he gives the responsibilities and provides direction. It is a conversation which creates either positive energy or negative energy based on language we use. So leader knows right language. He creates future and righ environment.
It is very clear on how a person performance changes based on these 3 laws.
1. A person actions are perfectly correleates to how things occure to him.
2. How thing occurs to a person arises in language
3. A future based language changes how things occurs to a person.
Thursday, April 08, 2010
Transaction Demarcation
The heart of any business transactional applications is transactional manamgement. No need to specify if it a financial applications like bank applications, how important is the transaction management. There are certain ground rules laid out by our industry expert on how we must handle this. But there is always a gap, unless you put our mind there.This is a primary concern for any database application. While I was looking at the health of an application based on my earmarked points such is one Transactions managment, I got into the following. These appears as fundamental mistakes. Let see what are the mistakes
MethodA(par1, parm2....){
xxxxx.;
yyyyf...;
x.MethodB(p1, p2, ....);
delete(Object);
getTm().commit();
}
MethodB(p1,p2, ...){
xxxxx;
yyyyy;
y.MethodC(p1);
delete(object);
getTm().commit();
}
MethodC(p1){
xxxxx;
yyyyy;
delete(object);
getTm().commit();
}
MethodA was called from coarse grained method service. MethodB was called from fine grained service and as well MethodC.
What are the problems you could see here?
let's take a look at points take at architecture and design level
Architecture:
1. Layer of maintaining transactions
2. Transactions management patterns
3. programming or declarative transaction management
Design:
1. Confirming ACID properties
2. Single Unit of work
3. Considering Exceptions
4. Transaction demarcation
Monday, February 01, 2010
Communication: Is it a language or expression?
1. is it about grammar?
2. is it about what you want to get across?
3. is it about using hi-fi words, phrases and idioms?
4. is it about just talking?
5. is it about how concisely you speak the point?
6. is it about beating around the bush to speak more for simple point?
Some people give suggestions to improve communication for others. Do they understand what you're saying when they are lacking communication skills? :)
Unless you explain them what is it you identified lacking in that person, there is no use in rising improve communication skills?
Person may be good at grammar, may be lacking necessary vocabulary or the other way round. This comes under a language issue, but it doesn't come under communications skills. There are many writers or orators know less words or grammar, but impressed the public most. This comes under theoretical learning and person should learn rules and words by heart.
Persons are perfect in vocabulary and grammar, but they will not be able express their views. This is a skill needs to be developed and it is a bit practical.
It needs interactions. These interactions makes a subject under discussions. These discussions explores views from each person. Here we need to use vocabulary and grammar. So these discussions could involve simple sentences or hi-fi phrases, idioms in sentences.
If we guide a person with clear distinction of what he lacks on communications front, it is easy for that person to develop.
While speaking ,it is always good to use simple sentences rather than decorated with hi-fi phrases and idioms which will make others misunderstand actual meaning of a sentence. :)
May be while scripting, we can choose to show up capacity of our mind dictionary. :)
Wednesday, October 21, 2009
Developers and old applications
http://www.joelonsoftware.com/articles/fog0000000069.html
It is very well explained on how a developer think or responds when he must work on an exiting old application. Even many architects goes through the same pattern when dealing with old applications.
As an architect I really impressed on these points, sometimes I was also in the same dilemma. I did lot of refactoring for old code, but many times I felt I would rewrite entire stuff. Becuase of business and funding requirement, we were always doing refactoring and correcting functionality. This article is an eye opener for me to look at utilizing the experience of fast that went into the old programing as it served the business and fixed many time tested bugs.
Friday, July 24, 2009
Metrics -Agile development
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
- Operational Metrics
- Delivery metrics
- Quality metrics
- Team ability or efficiency metrics
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
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
Saturday, April 04, 2009
Thursday, March 19, 2009
Unit testing model for SOA applications
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
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 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
- Data security
- Scalability for growing customer base
- Customer specific demands
- Customer support on functional and technical
- Changing customer needs
- Dynamism in the market
- Performance
SAAS Design principles
SAAS Design Principles
- Meta data driven
- Configurable
- Multi-tenant
- extendable design to suit to changing markets
- Internationalization
- Service Oriention architecture
- Asychronus request
- Data handling - archiving and purging data
- Easy to integrate with other applications
- Scalablity
- Availablity and reliablity
- Security
- Performance
- Monitoring and auditing
- Techincal and business support
Tuesday, October 21, 2008
SAAS
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
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
Thursday, July 19, 2007
Creativity workshop
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
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
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
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.