Prakash's profilePrakash's - Online Repos...PhotosBlogLists Tools Help

Prakash J

Occupation
Location
I work as Group Program Manager in Bangalore, India.
I manage product development engagements that are into Microsoft technologies.
In my free time, i like Reading books, Listening to music and Spending time with family.

Prakash's - Online Repository

Agile Project Management, Scrum/XP, Software Architecture, Design and Managing People
September 16

SaaS: CapEx, OpEx...

If you are dealing something related to SaaS or Cloud computing, then you must have heard these terms very frequently.

I wanted to understand it better and found useful information in Wikipedia

 

Capital expenditures (CAPEX) are expenditures creating future benefits. A capital expenditure is incurred when a business spends money either to buy fixed assets or to add to the value of an existing fixed asset with a useful life that extends beyond the taxable year. Capex are used by a company to acquire or upgrade physical assets such as equipment, property, or industrial buildings.

Via: http://en.wikipedia.org/wiki/Capital_expenditure

 

An Operating expense, operating expenditure, operational expense, operational expenditure or OPEX is an on-going cost for running a product, business, or system. Its counterpart, a capital expenditure (CAPEX), is the cost of developing or providing non-consumable parts for the product or system. For example, the purchase of a photocopier is the CAPEX, and the annual paper and toner cost is the OPEX. For larger systems like businesses, OPEX may also include the cost of workers and facility expenses such as rent and utilities.

Via: http://en.wikipedia.org/wiki/Operating_expense

 

Some useful links

CAPEX/OPEX from Project's Manager point of view

CAPEX vs OPEX: What is the difference?

SaaS decisions: Cap Ex vs Op Ex

Accounting for Clouds: Stop Saying CapEx Vs. OpEx

 

Is Multi-Tenancy a prerequisite for SaaS?

I was attending a conference on cloud computing and one of the speakers said, if your application is not multi-tenant, then your application is not SaaS.

 

Let us look at the SaaS system Characteristics

1.    Availability via Web Browser

2.    On-demand availability

3.    Pay-per usage

4.    Minimal or zero IT Demands.

 

Let us look at what a multi tenant application is all about

It’s a model where multiple clients can be supported in one single software instance. This will help the SaaS Provider to support more clients on fewer hardware components; rollouts/updates will be easier.

Read this post on Multi Tenant Architecture from MSDN to know more about Multi Tenancy.

 

My point here is, it depends on the service offerings and the customizations required. Also, it’s about the way you manage your deployments. I am not disagreeing that this may provide the SaaS Provider some cost benefits, which may result in the form of lower services fees to the end users. It’s based on what is really needed.

 

I was searching in web and found a post on similar lines         

If you buy SaaS, don't get lured into multi-tenancy marketo-munjo-jumbo and concentrate on features, SLA, integration options and cost.

If you are a service provider, then, yes, multi-tenancy is a (potentially very important) internal secret sauce that you can use to augment your economy of scale (at the expense of other aspects) but it is by no means a prerequisite, the right trade-off between multi-tenancy and isolation will depend on a myriad of factors and is often unique to the situation. As mentioned in this blog in the past and in Phil's post today, virtualization can be a very successful way of achieving interesting levels of economy of scale without architecting the application for full multi-tenancy.

A high level model that served me well in the past in helping company understand whether they should go multi-tenant or not is the "cost per feature" vs. "cost per tenant" model.

 

Via: http://blogs.msdn.com/gianpaolo/archive/2008/06/20/i-can-t-believe-we-are-still-talking-about-whether-saas-multi-tenancy.aspx

 

Some useful links

http://blogs.zdnet.com/SAAS/?p=251

http://www.saasblogs.com/2009/04/24/is-multi-tenancy-more-important-than-just-cost-savings/

http://blogs.msdn.com/gianpaolo/archive/2007/01/25/cost-per-feature-vs-cost-per-tenant-or-how-to-choose-whether-to-go-multi-tenant-or-not.aspx

http://ematters.wordpress.com/2009/04/15/multi-tenant-vs-single-tenant-saas-debate-10-needs-an-upgrade/

http://blogs.atlassian.com/news/2009/04/when_it_comes_t.html

Cloud Application Architectures: Building Applications and Infrastructure in the Cloud

 

Happy Reading!!!

September 15

Cloud Computing: SaaS/PaaS/IaaS;Hybrid/Private/Public... etc... etc..

Sendhil forced me to read this book Cloud Application Architectures: Building Applications and Infrastructure in the Cloud 2 months back, which has helped me to understand the term Cloud computing.

OK, so what’s Cloud Computing?

If you don’t have the time to read and understand, then watch these videos from Youtube.com

ü  Cloud Computing Plain and Simple

ü  Cloud Computing Explained

ü  What is Cloud Computing?

 

If you like reading, then start it from the Wikipedia page on Cloud Computing

Cloud computing is a paradigm of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet. Users need not have knowledge of, expertise in, or control over the technology infrastructure in the "cloud" that supports them.

 

The concept generally incorporates combinations of the following:

ü  Infrastructure as a Service (IaaS)

ü  Platform as a Service (PaaS)

ü  Software as a Service (SaaS)

 

Infrastructure as a Service - Traditional computing resources such as servers, storage, and other forms of low level network and hardware resources offered in  a virtual, on demand fashion over the Internet. IaaS in a general sense, provides the ability to ’summon’ resources in specific configurations at will and delivers value similar to what one might find in a traditional datacenter. IaaS’ power lies in its massive on-the-fly flexibility and configurability. It can be equated to owning a magic wand that could conjure up a variety of network and server resources in zero time and occupying zero space. Examples include services like GoGrid, Amazon’s EC2 and even S3 (as a storage infrastructure play)

 

Platform as a Service - A runtime-system and application framework that presents itself as an execution environment and computing platform available over the Internet with the sole purpose of acting as a host to application software. Generally, PaaS focuses on enabling SaaS applications, so many well-expected core concepts, such as abstracting away multi-tenancy issues, are expected of any reasonable PaaS offering. Another key concept for PaaS is that it needs to run semi-arbitrary instructions. If it ain’t runnin’ code, it ain’t a platform! (Now, I’m using ‘code’ loosely here. For example, a drag and drop business process editor could be considered as living on the edge of a platform definition, but a set of marketing tools and human drive services is most definitely not a ‘SaaS Platform’) This beyond the definitions offered in some of the aforementioned articles that PaaS deals with scale issues. Examples include SaaSGrid and Google AppEngine.  There are also some higher level PaaS offerings with non-traditional IDEs and coding paradigms like Bungee or Force.com that require (IMHO, unnecessarily) new knowledge, skills, and component frameworks.

 

Software as a Service - Specialized software functionality delivered over the Internet to users who intend to use the set of delivered functionality to augment or replace real world processes. Generally speaking, users within the SaaS space are aggregated into ‘tenants’, or bodies of 1 or more categorically related users. Think Salesforce.com CRM, or SugarCRM.

Via:

http://www.saasblogs.com/2008/12/01/demystifying-the-cloud-where-do-saas-paas-and-other-acronyms-fit-in/

 

Interesting links on SaaS, PaaS and IaaS

http://www.wikinvest.com/concept/Cloud_Computing

http://www.webguild.org/2008/07/cloud-computing-basics.php

http://cloudfeed.net/2008/06/03/defining-saas-paas-iaas-etc/

http://www.zhen.org/zen20/2008/06/03/defining-saas-paas-iaas-etc/

 

Types of Clouds: Public, Private and Hybrid

Public Cloud

Public cloud or external cloud describes cloud computing in the traditional mainstream sense, whereby resources are dynamically provisioned on a fine-grained, self-service basis over the Internet, via web applications/web services, from an off-site third-party provider who shares resources and bills on a fine-grained utility computing basis.

Hybrid cloud

A hybrid cloud environment consisting of multiple internal and/or external providers"will be typical for most enterprises".

Private cloud

Private cloud and internal cloud are neologisms that some vendors have recently used to describe offerings that emulate cloud computing on private networks. These (typically virtualization automation) products claim to "deliver some benefits of cloud computing without the pitfalls", capitalizing on data security, corporate governance, and reliability concerns. They have been criticized on the basis that users "still have to buy, build, and manage them" and as such do not benefit from lower up-front capital costs and less hands-on management, essentially "[lacking] the economic model that makes cloud computing such an intriguing concept".

Via:

http://www.circleid.com/posts/20090306_cloud_computing_types_public_hybrid_private/

 

Interesting links on Public and Private Clouds

http://blogs.msdn.com/hanuk/archive/2009/06/15/public-versus-private-clouds.aspx

http://natishalom.typepad.com/nati_shaloms_blog/2008/11/private-on-premmis-public-cloud.html

 

Interoperability and Cloud Computing

http://blogs.computerworld.com/cloud_computing_interoperability

http://news.cnet.com/8301-13846_3-10344713-62.html

 

Challenges with Cloud Computing

http://java.dzone.com/articles/20-real-life-challenges-cloud-

 

Azure Services Platform

http://download.microsoft.com/download/Azure_Services_Platform.pdf

http://www.reliablesoftware.com/presentations/Introduction%20to%20Cloud%20Computing%20with%20Microsoft%20Azure.pdf

 

Happy Reading!!!

September 03

Learning Organizations? Introduction

My collection of notes on Learning Organization: Gathered from Various Sources in the Web.

 

"Organizations where people continually expand their capacity to create the results they truly desire, where new and expansive patterns of thinking are nurtured, where collective aspiration is set free, and where people are continually learning to learn together" (Peter Senge, 1990)

 

Learning organizations are those that have in place systems, mechanisms and processes, that are used to continually enhance their capabilities and those who work with it or for it, to achieve sustainable objectives - for themselves and the communities in which they participate.

 

The important points to note about this definition are that learning organizations:

·         Are adaptive to their external environment

·         Continually enhance their capability to change/adapt

·         Develop collective as well as individual learning

·         Use the results of learning to achieve better results

 

All organizations learn to one degree or another. It is simply a case of whether the learning is improving the organization or damaging the organization. In some organizations, the spiral of learning is negative: people learn how to avoid nasty managers, how to keep their jobs and how to avoid blame.

 

Software development abounds with examples of negative learning, whether it is program code that should not be touched or time estimates that are padded – or reduced – to make them more acceptable regardless of the work required. Negative learning can be considered sub-optimal because it creates other problems.

 

Positive learning occurs when people and teams are learning to improve the way in which they work in an optimal fashion. One example is the points-based work estimates used by agile teams. Over time, teams converge on an understanding of the work value of a point without any rigid definition of what a point is.

 

Both positive and negative learning can be self-reinforcing. We can think of them as spirals.

 

Negative learning tends to lead to more negative learning – problems multiply because our solutions create more problems. In a negative spiral, each badly solved problem is not completely solved. Problems are stored up for the future and, most probably, people lose motivation. Future problems come from existing solutions.

 

Positive learning, on the other hand, leads us a greater understanding and reveals further opportunities for learning and improvement. Problems are solved regularly and people learn more. New problems are uncovered and existing solutions revisited. However, with each improvement overall performance increases and people are more motivated.

 

A Learning Culture

·         Future, external orientation these organizations develop understanding of their environment; senior teams take time out to think about the future. Widespread use of external sources and advisors e.g. customers on planning teams.

·         Free exchange and flow of information - systems are in place to ensure that expertise is available where it is needed; individuals network extensively, crossing organizational boundaries to develop their knowledge and expertise.

·         Commitment to learning, personal development - support from top management; people at all levels encouraged learning regularly; learning is rewarded. Time to think and learn (understanding, exploring, reflecting, developing)

·         Valuing people - ideas, creativity and "imaginative capabilities" are stimulated, made use of and developed. Diversity is recognized as strength. Views can be challenged.

·         Climate of openness and trust - individuals are encouraged to develop ideas, to speak out, to challenge actions.

·         Learning from experience - learning from mistakes is often more powerful than learning from success. Failure is tolerated, provided lessons are learnt ("learning from fast failure" - Peters).

 

 

References:

The Learning Organization

Changing Software Development: Learning to be Agile

September 02

Dan Pink on the surprising science of motivation

Sendhil shared this interesting link with me on Motivation. Excellent Presentation.
 
I liked 2 things in this Video.
1. The Presentation Content. Which talked about the intrinsic motivational factors
2. The Presenter. The way he presented and kept the audience's interest.
 
Its a short video for 18 minutes. Do not miss it.
 
Thanks Sendhil for sharing.
 
 

Hiring the right people and scalability

We all know the importance of having the right people in the projects. We also know that it’s always a challenge to get the right people in the right time.

 

Tom Demarco, in his famous book Peopleware has given the example of hiring a juggler.

It would be ludicrous to think of hiring a juggler without first seeing him perform. That's just common sense.


Fit this with current trend: Ask the Candidate to solve a problem (write code).

 

The truth about interviews is that they are only as good as the person conducting them.

 

As a hiring manager, look for self-sufficiency. People may write code, but also ensure whether they are self-sufficient. If they are not, you may solve the current problem of hiring people, but eventually after 6 months you will have problems raised by your customers.

 

Self-sufficiency is a subjective word. Only you as a hiring manager can decide what the scale against you is are going to evaluate this. Can we generalize this? IMHO NO.

 

What if I do not look for this? I am sure; we all know what it means by drag factor and how it affects the flow of others. Eventually you will have problems with delivery. Delivery directly relates to Customer Satisfaction. Customer Satisfaction directly relates to the Business Growth (Most of the times, if they have money).

 

When you have people who are not only good at what they do, but like it, productivity soars.

Carefully filling a position with the right person also improves employee retention.

 

Every Organization wants to be a High Performing Organization. You need High Performing Teams to become a High Performing Organization. To build High Performing Teams, you need High Performing Individuals

 

HIGH-PERFORMING ORGANIZATIONS

·         Are very clear on where they want to be and the measures of success

·         Know where they have come from and respect their past

·         Understand where they are now and where they stand against their competitors

HIGH-PERFORMING TEAMS

·         Have clear and realistic objectives

·         Share a sense of purpose

·         Create an open atmosphere

·         Regularly and objectively review progress

·         Build on their experiences

·         Work through difficult times together

HIGH-PERFORMING PEOPLE

·         Feel valued and respected

·         Know what is required of them at work

·         Have the tools and resources to do their jobs well

·         Know how what they do helps the organization to be successful

·         Are nurtured and developed

Reference: Achieving High Performance (Essential Managers Series)

 

Now, if you look at the root of everything, you need good people. IT REQUIRES A VERY HIGH LEVEL OF ENERGY AND DETERMINATION TO DO THIS.

 

Some suggestions on building the right hiring process

1.     Assess the vacancy/Position what you are looking for

2.     Translate the information and get the right Job Description.

3.     Be realistic about the skills and attributes you seek

4.     Interview at least 3 times and include at least 3-5 people for interviews

5.     Focus on the future.

6.     Implement a follow-up success measurement

7.     Evaluate the process once in 6 months

Reference: Best HR Practices in 2008

 

Now lets us look at the scalability part.

We all know that how difficult it is to get good/right people in the right time (War for Talent). We may agree to all this, but in reality we also need business. If we do not have people to fill our billable positions we are losing the business. It’s a very competitive environment and an organization cannot scale.

 

How to bridge this? Some of my thoughts

  • Look for the good resources continuously whether you have open positions or not. IMHO, Just in time hiring may work for IT Giants, not for everyone.
  • Hire the good people whenever you find them. They may have to be non-billable for some time, but with good people you will always find the projects and eventually give you the results. Work to get your management’s support.
  • Do not panic. if you do not have projects for 3 months, do not start sending them home. It’s going to have a direct impact on the organization’s reputation. We Indians are not used to the word FIRING. Even today, I get the question about Job Security in most of the interviews.
  • Face the tough times and Prepare for the better future. There could be a draught period. Use this as an opportunity to train people with the skill sets you want to focus in the next 6 months to 1 year. Redo a project which you have done few years back with the latest technology. Eventually you need some kind of work to demonstrate the skill to get a new project.
  • Finally, we can build HPO’s only with good people. It’s an investment for tomorrow.

 

There are no shortcuts to any place worth going. J

 

Happy Reading!!!

 

July 31

Blogmarks

How Leaders Embed and Transmit culture?
Culture is often defined as “the way we do things around here”.
Organizational culture is the leaders’ responsibility as “culture is the shadow of the leader”.
Primary Embedding Mechanisms
What leaders pay attention to, measure, and control on a regular basis
How leaders react to critical incidents and organizational crises
How leaders allocate resources
Deliberate role modeling, teaching, and coaching
How leaders allocate rewards and status
How leaders recruit, select, promote and excommunicate

Original URL:
http://www.thepracticeofleadership.net/2009/06/15/how-leaders-embed-and-transmit-culture/

How do you identify leaders?
The need to empower natural leaders isn’t an HR pipedream, it’s a competitive imperative. But before you can empower them, you have to find them. In most companies, the formal hierarchy is a matter of public record—it’s easy to discover who’s in charge of what. By contrast, natural leaders don’t appear on any organization chart. To hunt them down, you need to know . . .
1.    Whose advice is sought most often on any particular topic?
2.    Who responds most promptly to requests from peers?
3.    Whose responses are judged most helpful?
4.    Who is most likely to reach across organizational boundaries to aid a colleague?
5.    Whose opinions are most valued, internally and externally?
6.    Who gets the most kudos from customers?
7.    Who’s the most densely connected to other employees?
8.    Who’s generating the most buzz outside the company?
9.    Who consistently demonstrates real thought leadership?
10.    Who seems truly critical to key decisions?

Original URL:
http://www.thepracticeofleadership.net/2009/06/15/gary-hamels-nine-ways-to-identify-natural-leaders/

Where do you place your best people?
“Put your best people on your biggest opportunities, not your biggest problems”
Original URL:
http://www.thepracticeofleadership.net/2009/04/05/where-do-you-place-your-best-people/

How do you get your team to do the right thing?
http://blog.softwareprojects.org/be-the-change-you-wish-to-see-1741.html

Elements of Project Leadership
http://blog.softwareprojects.org/elements-of-project-leadership-1745.html

Coping with Change on Scrum Projects
Most people do not like change. I know I don't. But one thing is certain; adopting an agile approach to software development requires considerable change in an organization, whether it is corporate culture, roles or processes. As an organization switching to Agile, you are going to have to learn how to cope with change.
Original URL:
http://www.infoq.com/articles/coping-with-change

Traits That Make a Good Development Manager
Hire People you want to work with
Don’t Micromanage
Always follow up on your promises
Have excellent business domain knowledge
Have excellent Technical Skills
Create and maintain excellent relationships
Care about an individual
Participate in Team social activities
Be a process champion
Have boundless energy    

Original URL:
http://www.noop.nl/2009/07/traits-that-make-a-good-dev-manager---a-developers-perspective.html

Tom Demarco on Software Engineering
Sendhil shared this link with me. Good one
http://www2.computer.org/cms/Computer.org/ComputingNow/homepage/2009/0709/rW_SO_Viewpoints.pdf

July 10

Blogmarks

Hiring - Where It All Begins and Ends

Sendhil shared this interesting link with me. Very interesting post and I am sure whoever is involved in hiring, would have definitely experienced this.  

Slope One Algorithm

I have browsed and purchased multiple times in amazon.com and have seen this section “Customer who bought this item has also bought”. I always thought, it’s not a very complex piece and it’s easy to find out what the other person has purchased and display it in this section. In one of the products, we are implementing this functionality and I was searching in web for reference and landed in this page.

It is not as simple as I thought. It uses a technique called collaborative filtering and there is a more specific technique to implement this (Item based collaborative filtering).

Item-based collaborative is just one form of collaborative filtering. Other alternatives include user-based collaborative filtering where relationships between users are of interest, instead. However, item-based collaborative filtering is especially scalable with respect to the number of users.

Link to the sample source code (T-SQL, C#) is also available.

Technical Debt - Definition and Resources: From Brad Appleton's Blog.

Technical Debt [a.k.a. Design Debt] is the accumulated amount/cost of rework that will be necessary to correct and/or recover from the deviation between the current design of the system, versus that which is minimally complex yet sufficiently complete to ensure correctness & consistency for timely delivery. This effort grows more than linearly over time as a system becomes bigger and more complex.



June 18

Notes from the Book: Eat That Frog. 21 Great Ways to Stop Procrastinating and Get More Done in Less Time.

 
Notes from the Book
If you are like most people today, you are overwhelmed with too much to do and too little time. As you struggle to get caught up, new tasks and responsibilities just keep rolling in, like the tides. Because of this, you will never be able to do everything you have to do. You will never be caught up. You will always be behind in some of your tasks and responsibilities, and probably in many of them.
 
For this reason, and perhaps more than ever before, your ability to select your most important task at each moment, and then to get started on that task and to get it done both quickly and well, will probably have more of an impact on your success than any other quality or skill you can develop. 
 
An average person who develops the habit of setting clear priorities and getting important tasks completed quickly will run circles around a genius who talks a lot and makes wonderful plans but who gets very little done. 
 
It has been said for many years that if the first thing you do each morning is to eat a live frog, you can go through the day with the satisfaction of knowing that that is probably the worst thing that is going to happen to you all day long.
 
Your "frog" is your biggest, most important task, the one you are most likely to procrastinate on if you don't do something about it. It is also the one task that can have the greatest positive impact on your life and results at the moment.
 
It is also been said that, "If you have to eat two frogs, eat the ugliest one first."
 
This is another way of saying that, if you have two important tasks before you, start with the biggest, hardest and most important task first. Discipline yourself to begin immediately and then to persist until the task is complete before you go on to something else. 
 
Think of it as a “test.” Treat it like a personal challenge. Resist the temptation to start with the easier task. Continually remind yourself that one of the most important decisions you make each day is your choice of what you will do immediately and what you will do later, if you do it at all.
 
There is one final observation. "If you have to eat a live frog, it doesn't pay to sit and look at it for very long."
 
The key to reaching high levels of performance and productivity is for you to develop the lifelong habit of tackling your major task first thing each morning. You must develop the routine of "Eating your frog" before you do anything else, and without taking too much time to think about it.
 
If you read the above, Its all about Common Sense. :)
 
I also found an interesting post named "You're Only as Busy as You Want Yourself to Be" on similar lines.
 
Happy Reading !!!
 
May 13

Three Dimensions of High Performance

I found this interesting blog post in Leading Answers blog.

 

To be truly effective you need ability and passion.

 

Some people use the formula:

ü  Performance = Ability * Passion

 

However, you also need time to dedicate to the work at hand; and so Availability factors in also. 

 

In the volunteer world we often say we are looking for 3 key attributes:

 

ü  Talent (Ability in some useful skill)

ü  Passion (motivation to do it)

ü  Availability (time to commit to it)

 

In other words you need to have skills, enthusiasm, and time to dedicate to something in order to be effective. (This also applies to paid work too, but because we get paid for things it is easy to mix-up motivation with payment and forget about considering if we are passionate/motivated about the work.)

 

Original URL

http://leadinganswers.typepad.com/leading_answers/2008/10/three-dimensions-of-high-performance.html

 

 

 

March 31

Ego States in Transactional Analysis

Transactional Analysis is the method for studying interactions between individuals.

In addition to the analysis of the interactions between individuals, Transactional Analysis also involves the identification of the ego states behind each and every transaction. 

 

Berne defined an ego state as "a consistent pattern of feeling and experience directly related to a corresponding consistent pattern of behavior."

 

At any given time, a person experiences and manifests their personality through a mixture of behaviors, thoughts and feelings.

 

Typically, according to Transactional Analysis, there are three ego-states that people consistently use:

 

Parent ("exteropsyche"): A taught concept of life.

Parent is a state in which people behave, feel, and think in response to an unconscious mimicking of how their parents (or other parental figures) acted, or how they interpreted their parent's actions.

For example, a person may shout at someone out of frustration because they learned from an influential figure in childhood the lesson that this seemed to be a way of relating that worked.

 

Adult ("neopsyche"): A thought concept of life.

Adult is a state of the ego which is most like a computer processing information and making predictions absent of major emotions that cloud its operation.

Learning to strengthen the Adult is a goal of Transactional Analysis. While a person is in the Adult ego state, he/she is directed towards an objective appraisal of reality.

 

Child ("archaeopsyche"): A Felt Concept of life.

Child is a state in which people behave, feel and think similarly to how they did in childhood.

For example, a person who receives a poor evaluation at work may respond by looking at the floor, and crying or pouting, as they used to when scolded as a child.

Conversely, a person who receives a good evaluation may respond with a broad smile and a joyful gesture of thanks. The Child is the source of emotions, creation, recreation, spontaneity and intimacy.

 

Summary:

Parent - taught concept

Child - felt concept

Adult - learned concept

 

References:
http://en.wikipedia.org/wiki/Transactional_analysis#The_Ego-State_.28or_Parent-Adult-Child.2C_PAC.29_model

http://www.ericberne.com/transactional_analysis_description.htm

http://transaction-analysis.blogspot.com/

 

 

March 30

The Power of Strokes

This is the second part of my notes from the book Born to Win: Transactional Analysis with Gestalt Experiments

 

Human hunger for Strokes

 

Stroking is defined as any act of recognition, verbal or nonverbal, for another.   The term comes from the physical contact which is essential to the survival of the infant child.


Everyone has the need to be touched and to be recognized by other people, and every person has the need to do something with the time between birth and death. These are biological and physiological needs that Eric Berne calls as Hungers. The hungers for touch and recognition can be appeased with strokes.

 

Stroking Hunger

Beginning from childhood and throughout their lives people needs affection, recognition and praise.

 

Infants will not grow normally without the touch of others. This need is usually met in the everyday intimate transactions of diapering, feeding, burping, powdering, fondling and caressing that nurturing parents give their babies. Something about being touched simulates an infant’s chemistry for mental and physical growth. Infants, who are neglected, ignored or for any reason do not experience enough touch, suffer mental and physical deterioration event to the point of death.

 

As a child grows older, the early primary hunger for physical touch is modified and becomes recognition hunger. A Smile, a nod, a frown, a gesture eventually replace some touch strokes. Like touch, these forms of recognition whether positive or negative, simulate the brain of the one receiving them…

 

Strokes may be positive, negative or mixed.

  • Positive strokes feel good when they are received and contribute to a person's sense of being OK. It is really required to develop emotionally healthy persons with a sense of OKness.
  • Negative strokes hurt emotionally and make us feel less OK about ourselves. In Transactional Analysis even negative strokes are regarded better than none at all.
  • There is also a difference between conditional and unconditional strokes. Conditional strokes are offered to employees if they perform correctly. Unconditional strokes are presented without any connection to behavior.
  • Managers will get better results if they give more strokes in a behavior modification framework, where the reward is contingent upon the desired activity.

 

Discounting

If a parent discounts an infant’s feelings and needs, healthy development is thwarted. A discount is either the lack of attention or negative attention that hurts emotionally or physically.

 

A Person, who is ignored, tested, diminished, humiliated, physically degraded, laughed at, called names, or ridiculed is in some way being treated as insignificant. The individual is being discounted. Discounts always carry on ulterior put-down.

 

Being discounted is always painful. It leads to unhappy human relationships or feeds into destructive or going nowhere scripts.

 

Ignoring and isolating people are well-known forms of punishment. It deprives persons of even minimal stroking and leads to intellectual, emotional and physical deterioration.

 

If a discount is delivered through negative stroking, the not-OK message is sent either openly or by implication.

 

Giving and Receiving Strokes

  • Don’t be insincere
  • Accept strokes positively from other people
  • Make a conscious effort to give strokes to other people
  • Try to recognize other people’s reaction to strokes and the frequency/kind they appear to appreciate
  • Ask for strokes when you feel you need them
  • Give yourself strokes when you feel you deserve/need them

 

March 29

What is Transactional Analysis?

  1. Transactional analysis is a theory about personality, personality development and communication
  2. Transactional analysis is a theory of personality and a systematic psychotherapy for personal growth and personal change.
  3. Transactional Analysis is a tool you can use to know yourself, to know how you relate to others and to discover the dramatic course your life is taking.
  4. As a theory of personality, TA describes how people are structured psychologically. It uses what is perhaps its best known model, the ego-state (Parent-Adult-Child) model to do this. This same model helps understand how people function and express themselves in their behaviors (Unit of personality structure is the ego state)
  5. By becoming aware of your ego states you can distinguish between your various sources of thoughts, feelings and behavior patterns. You can discover where there is discord and where there is an agreement within your personality. You can become more aware of the options available to you.
  6. As a theory of communication it extends to a method of analyzing systems and organizations.
  7. The unit of measure in interpersonal relationships is the Transaction.  By analyzing your transactions, you can gain a more conscious control of how you operate with other people and how they operate with you. You can determine when your transactions are complementary, crossed, or ulterior. You can also discover what "Games" you play.
  8. Transactional analysis is a practical frame of reference from which you can evaluate your old decisions and behavior and change what you decide is desirable for you to change.
  9. Transactional analysis is about what goes on inside people and between people.
  10. Transactional analysis is both a theory and a set of techniques for relating to and working with self and other people.

Transactional analysis is concerned with four kinds of analysis

  • Structural Analysis: The analysis of individual personality
  • Transactional Analysis: the analysis of what people do and say to one another
  • Game Analysis: the analysis of ulterior transactions leading to payoff
  • Script Analysis: the analysis of specific life dramas that person compulsively play ou 

Transactional Analysis can help in

  • Responding to a person and situation more appropriately
  • Building rapport
  • Understanding someone else’s needs
  • Deal more effectively with difficult people
  • Be assertive
  • Understand how you behave and why

 

Reference

Born to win: Transactional analysis with Gestalt experiments

http://en.wikipedia.org/wiki/Transactional_analysis

 

 

March 08

You R Who You Hire

Good leaders (managers) hire people smarter than themselves and don’t feel threatened by people who are better at given tasks.

The people you hire tell more about who you are than just your leadership style; they are a reflection of  your MAP (mindset, attitude, philosophy) and your confidence.

Originial URL: http://www.leadershipturn.com/you-r-who-you-hire/

March 01

What do i need to understand about Emotional Intelligence as a Manager?

Improving Self-Knowledge and awareness of others' reactions is the foundation of most leadership and management development programmes. Managers and Leaders must see themselves as others see them to be effective influencers to make work happen (the right work and right first time, on time).
From the Book: Emotional Intelligence by Jill Dann
February 22

Sunday Blogmarks

Top 10 Activities of the Product Owner

The Product Owner differs from that of the traditional Product Manager role in many ways. Additionally, the role the Agile PM plays may vary depending on the environment and situation at hand, but for certain there are key activities the Agile PM must perform.
The Product owner (or Agile PM) shoulders all the responsibility for Project success and is ultimately responsible to the Team, stakeholders and to the company. With so much at stake it's easy to get bogged down or revert back to old ways and the whole team suffers as a result. In order for Scrum to work the Product owner has to focus his time on activities that matter

http://agilesoftwaredevelopment.com/blog/jackmilunsky/top-10-activities-product-owner

 

Prioritizing Requirements – 3 Techniques:

Prioritize based upon the value that a set of features will bring to the business.

When we’re writing the specs for multi-customer software, the business whose value we prioritize is ours. This abstraction can be harder to address. But a given capability will be expected to have an impact on our ability to sell the software (or raise the price of the software). And it will come with an inherent cost. Leverage strategic marketing expertise to pick the right capabilities (more importantly - solve the right problems), and properly value them.

By changing the customer from them to us, we can apply the same principals for value-based prioritization.

http://tynerblain.com/blog/2006/01/18/prioritizing-requirements-three-techniques/

 

Essential Vs Non-Essential Features: When you build an application always look out for the non-essential features. Make sure they don’t make it into your v1.0. They slow down your release, they dilute your focus, they require resources that pull you away from perfecting the core of your application, and they open the door to more bugs at launch.

http://37signals.com/svn/archives2/essential_vs_nonessential.php

 

Retrospectives go beyond the Report: In short, retrospectives are agents for change, yet ultimately it comes down to the empowered team to make sure the changes really happen. Managers should give teams responsibility and, with that, the decision making authority, to help them make the changes they need to.

http://www.thekua.com/atwork/2008/05/retrospectives-go-beyond-the-report/

 

How to Handle Multiple Customers: Balancing work for multiple customers is a tough problem. You will have optimal results by optimizing resource allocation in such a way that all customers are just a little bit happy. And it is true that you should minimize the amount of task-switching between projects. If you can consolidate all maintenance work in one week per month, instead of one day per week, then do it! Likewise, aftercare in 2, 5 days of 8 hours would be much better than 10 days of 2 hours. I’m sure you get the picture.

http://www.noop.nl/2009/01/how-to-handle-multiple-customers.html

 

Target Cost Contracts:

1. Share risk fairly between Customer and Supplier

2. Give the Supplier the peace of mind of being protected from significant cost overruns

3. Offer enough flexibility to get the best out of an agile development process

4. Align goals by giving both parties an incentive to minimize scope

http://www.agilekiwi.com/target_cost_contracts.htm

February 21

Dysfunctional Attitudes: Processes are more important than people.

I landed in this interesting post while googling today and thought of blogmarking. This post was written taking an IT Scenario as example. But as mentioned in this post, this also applies to development projects and teams.

 

Summary from the Post

Implementation of processes based on frameworks and methodologies (ITIL, CMM) help standardize the way corporate IT carries out its functions. This, in most cases, is a good thing. Yet, processes aren’t the be all and end all of IT.

 

This holds not just for operational IT (like the service desk), but also for development work (i.e. projects). Trouble is, processes trump people more often than not.  When that happens, things aren’t working the way they should- processes are intended to help people, not to hinder them. This is something folks who work in corporate IT would do well to keep in mind.

 

All too often, IT management thinks of processes as a panacea for all IT ills. The way I look at it is a little different: processes are fine and good, and even necessary; but the people who are served by IT must come first. If that means making the occasional exception to a mandated process, then so be it.

 

Original URL:

http://eight2late.wordpress.com/2009/02/15/people-are-more-important-than-processes/

 

On the role of Processes in Project Management

http://eight2late.wordpress.com/2008/09/06/on-the-role-of-processes-in-project-management/

February 16

The product owner and the product-shaped hole

What the product owner needs to worry about isn’t in the product backlog?
In this post, Jeff Patton has the described the problem (most difficult roles in an agile process is the product owner or agile customer) and provided a sketch on what he sees as a mental model and some practices that product owners can use to begin to fill that skills vacuum.
 
Blogmarking it
December 19

Retrospectives - What is it and how to get started?

In his famous book "Project Retrospectives", Norman Kerth has defined retrospective as an opportunity for the participants to learn how to improve. The focus is on learning—not fault-finding.

Retrospective rituals are more than a review of the past.  They also provide a chance to look forward, to plot the next project, and to plan explicitly what will be approached differently next time

 

In their book "Agile Retrospectives, Making Good Teams great", Esther Derby and Diana Larsen has defined Retrospective as

"It's a special meeting where the team gathers after completing an increment of work to inspect and adapt their methods and teamwork. Retrospectives enable whole-team learning, act as catalysts for change, and generate action. Retrospectives go beyond checklist project audits or perfunctory project closeouts. And, in contrast to traditional postmortems or project reviews, retrospectives focus not only on the development process, but on the team and team issues. And team issues are as challenging as technical issues—if not more so."

 

What a Retrospective isn't?

It is not a postmortem.

Why we call it as a retrospective and do not call it as a Post mortem? Post Mortem is something, which is done on something dead.  We are working on projects which are live. This has to be done at regular intervals.

It is not a Ceremony

Do not do it for the sake of doing it. Identify techniques which can make it fun, so that everyone participates and the team identifies areas of improvement. 

It is not a secret

Its not a meeting where you can point fingers/blame others. The purpose is to identify where the team is lacking and how we can improve as a team. The meeting can include all kinds of stakeholders (provided understands the purpose of the meeting)

It is not session to Whine.

It is definitely not a place to Crib. Emphasis is on being constructive.

It is not a place to blame others

Emphasis is on "I/We". Its not a meeting where you blast your customer side representative or the customer takes it as an opportunity to blast the team.

 

How to run/facilitate retrospectives?

 

Before the Meeting

Setup a Meeting with Team members and all the stakeholders. Its very important that the stakeholders also attend the meeting.  Have a meeting room setup for the discussion.

If your customers are in a different location, setup WebEx/LiveMeeting, Conference (Video Conferencing will be really great. Depends on the availability and Budget :))

 

Identify a template where you will capture the events and share it with all stakeholders (It will really help if your customers are in a different place).

 

In his book "Agile Project Management with Scrum", Ken Schwaber says the meeting should be time boxed to 3 hours. My interpretation to it is defined based on 30 Days iteration.

 

In my experience, for a 2 weeks sprint with a team size of 10, the retrospective could take anywhere between 1.5 to 2.5 hours.

 

Get some Snacks/Cookies for the team. Because my customers are in a different time zone, we will do it in our evening/their morning hours. If there is a need to stay late, cookies/snacks will help the team to be energized.

 

During the Meeting

Step 1: Start with Norm Kerth's Prime Directive for Retrospective. In our meetings, the whole team (here team includes the customer side architect and other stakeholders) reading the Prime Directive loudly once.

 

"Regardless of what we discover, we understand and truly believe that everyone did the best job they could, given what they knew at the time,  their skills and abilities, the resources available, and the situation at hand"

 

Step 2: Define the Ground Rules: Our Team ground rules are something like this

1. Do not finger point or blame others

2. We all are responsible for the success or failure of this

3. Try to attack the problem and not the person

4. At the end of a project everyone knows so much more. Naturally we will discover decisions and actions we wish we could do over. This is wisdom to be celebrated, not judgment used to embarrass.                

 

Step 3: Decide the facilitator.

 

Step 4: Appreciations: Team members to appreciate/recognize other team members who have helped them in 2 weeks. It helps in bonding. Make sure, the appreciations are captured and shared with stakeholders. Team members will definitely feel happy to see their name in that. May be it’s a collection of "Whale done" or good things everyone has noticed for 2 weeks.

 

Step 5: Once you are done with appreciations, move to the actual questions section.

 

Answer the 3 questions. Purpose is to inspect how things are and adapt ourselves accordingly.

 

1.    What worked well?

2.    What needs to be improved?

3.    What should we do differently?

 

You can change the format. We call it as "Mad (Crazy), Sad (Needs improvement) and Glad (Did Well)".

 

Step 6: Identify Lessons Learnt. We try to gather this from the GLAD, SAD and MAD sections.

 

Step 7: Identify Top 1 or 2 Actions items which the team is going to work in the next 2 weeks. Identify the Theme for the Area of improvement and the Action Superstars for the Theme.

 

After the Meeting

Share the Retrospective meeting notes with all the stakeholders.

Share the progress the team has made with the action items identified in the previous sprint with all the stakeholders.

Sharing the Retrospective notes could be in email, wiki, posters or any other format. Our team sends the report in email and keeps the copy in SVN.

The Scrum Master will follow up on the Action Items Identified.

 

Challenges

1.    Making the team participate.

2.    Everyone focusing on "I/We"

3.    Continuously identify area of improvements and working on them

4.    Creating a Learning Organization/Environment. Making it as a part of the organization culture.

 

Summary                                                                                        

The purpose is to create a learning environment, where everyone in the team and as a team learns and improves continuously. If retrospectives are conducted to its true spirit, the team will identify the recurring mistakes (patterns) and will work on improving. It helps in identifying the best practices and sharing the knowledge across the organization. It helps the team to prepare for the future.

Underlying theme: What can we do better next time?

 

References

Project Retrospectives: A Handbook for Team Reviews

Agile Retrospectives: Making Good Teams Great

Sustainable Software Development: An Agile Perspective

 

http://www.retrospectives.com

http://etutorials.org/Microsoft+Products/Agile+Project+Management+with+Scrum/Appendix+A+Rules/Sprint+Retrospective+Meeting/

http://pragmaticintegration.blogspot.com/2007/01/first-scrum-sprint-retrospective.html

http://www.cs.unca.edu/~manns/RetrospectivesPresentationatOOPSLA03.ppt

What's a Manager to Do? Manager's role in self-organizing teams

Moving toward self-organizing teams--whether driven by adopting agile methods or not--doesn't mean that all the managers are out the door. There's still plenty of management work to do; it's just different work. And, for many managers, it is also more satisfying work. 

 

In this article Esther Derby describes how self-organizing teams are different from manager-led teams and lay out how that changes the manager’s role.

 

Manager-led teams are often like ski teams. Each person is selected for her individual skills and abilities as a skier. Each excels as an individual. All the members of a ski team are working for a common goal--winning the competition. Each contributes to success by making it down the hill as fast as she can, while passing through all the gates on the course. The coach's job is to improve individual performance skills. A ski team trains together, but when the meet comes, each team member is on their own. They don’t win by working together; it's the sum of the individual scores that wins the meet. 

Self-organizing teams are more like soccer teams. Each player has a position on the team based on her skills; however, the team must work together in order to win the game. In addition, each team member constantly adjusts her position and actions to create the best opportunity to score (or to prevent the opposition from scoring). If the team doesn't constantly coordinate and adjust to the current circumstances, it doesn't stand much chance of winning, even with star players on the team. Once the team is on the field, the coach can only observe and diagnose problems. He directs the team during timeouts and adjusts strategies through substitutions. Most of his work comes before the game, building individual skills. But even more importantly, he teaches team members to work together to achieve their goal.
 

 

Original URL: http://www.stickyminds.com/BetterSoftware/magazine.asp?fn=cifea

December 16

Program Management - What is it all about?

I was talking to a friend of mine (who is a project manager). He was asking me how my current role is different from a project manager's role. I discussed with him about the differences.

 

I have consolidated my notes from readings and my thoughts.

 

PMI's Standard for Program management defines it as

Program: "A group of related projects managed in a coordinated way to obtain benefits and control not available from managing them individually".

Program Management: "It is the centralized management of a program to achieve the program's strategic benefits and objectives".

 

Enterprise Programme Management: Delivering Value defines it as

"We define enterprise program management as the capability to lead and manage resources, knowledge and skills in the effective deployment of multiple projects designed collectively to deliver enhanced value"

 

Program management provides assistance to:

1.    Ensure alignment of activities across multiple projects

2.    Optimize the use of resources

3.    Communicate with and involve people, both within and outside the program

4.    Drive the achievement of strategic objectives, and the delivery of benefits.

 

Program Management System

1.    Assists in the coordination of resources, timescales and scope across project teams

2.    Facilitates the effective deployment and sharing of skills and knowledge across the program

3.    Tracks and manages issues, risks, delivery of benefits and alignment to program objectives

4.    Provides executive management with a ‘dashboard’ on programme progress

5.    Provides programme management with the information and levers that they need to effectively manage program's.

 

The Handbook of Program management defines the Role of a Program Manager as

Program manager's role varies from managing multiple projects to managing multiple projects with operational responsibilities.

Typically, a program manager is subjected to all the complexities and stresses of a project manager, plus is required to manage ongoing operations while meeting business goal targets for the month, quarter, or year. The program manager often has to strike a balance between the amount of resources spent on operations and the amount of resources spent on development and new projects.

A program manager needs to have an ingrained sense of organizational mission, must lead and have the presence of a leader, must have a vision and strategy for long-term organizational improvement, must be a relationship builder, and must have the experience and ability to assess people and situations beyond their appearances.

 

Program manager is

·         Ultimately accountable for delivery of the business objectives.

·         Accountable for profit or cost targets linked to business strategy.

·         Accountable for policies that defines how the work is accomplished as it will have an impact on the business and cost targets.

·         Accountable for establishing a culture that allows his or her project managers to be successful. The program manager must create, manage, and continually improve the culture that enables successful projects.

·         Accountable for providing clarity and clearing chaos.

Program management decisions are both tactical and strategic in nature. The strategy aspects of these decisions must consider multidimensional impacts beyond the near-term delivery dates of the project.

 

Attributes of the Effective Program Manager

·         Being a program manager requires a greater skill set and more diverse background than being a project manager.

·         The most significant difference between project manager responsibility and program manager responsibility is the requirement for the program manager to establish a culture of success.

·         Self-regulation takes time to create, but it is the ultimate definition of presence. With self-regulation, the organization acts and performs just like the program manager would want it to even if he or she is not present.

·         Leadership is based on a relationship of trust, and program managers must consistently develop and use relationship capital.

·         The ability to accomplish objectives through others is directly correlated to the strength of the relationships or the relationship capital the program manager has developed.

·         Consistency in style, management techniques, and leadership traits are important anchors for any organization and contribute to a stable work environment.

·         Effective questioning starts with being perceptive and in touch with the organization—having a feel for the organization above and beyond what charts and graphs provide.

·         As program manager you want to establish a “self-regulating” culture where your team answers your questions before you ask them.

·         Decisions should be made quickly and at the appropriate level through the establishment of clear lines of accountability and escalation processes.

·         Long-term program success is dependent on the continued growth and development of program personnel.

 

Summary: A program manager is a Business Owner who owns the profit and loss of the group/program which he/she manages. It is more of a mindset transformation from a project manager's role. He / She is responsible for the overall accountability of the management of multiple projects, deliverables and budgets

 

As a Project manager, it is very important to solve people problems. Even as a Program manager it is very important, but the responsibilities are more than that. It is very important to empower the project managers in the program/group to handle such issues so that as a program manager one can handle the prime responsibilities of a program manager.

 

The success of a project manager is defined by how one executes the project and delivers the project within the triple constraints. The program manager also is judged on these three elements but at a level that is cumulative for all the projects and operations within the program. This aggregation of responsibilities for a variety of projects and operations means the program manager must make frequent trade-offs between business targets and project/operational performance.

 

As a Program manager, one will be responsible for the successful delivery of the Projects, creating a culture which enables project managers to deliver successfully, customer satisfaction, resource management (managing resources, recruitment, retaining employees, attrition, and employee satisfaction), risk management at a program/group level, responsible for the profit and loss, business development, meeting business and cost targets.

 

Books Referenced:

·         The Handbook of program management - How to facilitate project success with optimal program management

·         Enterprise Programme Management—Delivering Value

·         The Standard for Program Management

 

November 28

Scrum Case Studies

Case studies/success stories about Scrum to prove scrum works.