More servicesWindows Live
HomeHotmailSpacesOneCare
 
MSN
Sign in
 
 
Spaces home  Prakash's - Online Repos...PhotosProfileFriendsMore Tools Explore the Spaces community

Prakash J

View spaceSend a message
Occupation:
Age:
Location:
I work as Senior Project manager in Bangalore, India. I manage projects that are mostly into
Microsoft technologies.
I like reading books, listening to music and spending time with my family.

Prakash's - Online Repository

Agile Project Management, Scrum/XP, Software Architecture, Design and Managing People
July 03

5 Leadership Lessons: How the Best Get Better and Stay That Way

 
Interesting Article which talks about the five things that the most successful people do to get better and stay that way.
 
Learn to Love the Pressure. To do that you must dedicate yourself to constant self-improvement. That is made a lot easier if you learn to compete with yourself and block out the drama of those around you. It’s a choice. “Greg Searle, who won an Olympic gold medal in rowing, is often asked whether success was worth the price. He always gives the same reply: ‘I never made any sacrifices; I made choices.’” 
Fixate on the Long Term. Map out short-term goals in every area that affects your performance to make sure you meet your long-term goal. Long term success is paved with small achievements. 
Iron Sharpens Iron. “Train” with the people who will push you the hardest. “Smart companies consciously create situations in which their elite performers push one another to levels they would never reach if they were working with less-accomplished colleagues.” 
Reinvent Yourself. Once you become the benchmark, you need to keep reinventing yourself. To do this you need to develop an insatiable appetite for feedback; you need to be “hungry for advice on how to develop and progress. One word of caution, however: While it’s good to feel challenged, you need to make sure that any feedback you get is constructive. If criticism doesn’t seem helpful at first, probe to see if you can get useful insights about what’s behind the negative feedback. Get more specifics. You should be able to see concrete improvements in your performance after getting detailed coaching advice.” 
Celebrate the Victories. Think of it as constructive celebration. Otherwise it can lead to complacency. “Celebration is more than an emotional release. Done effectively, it involves a deep level of analysis and enhanced awareness. The very best performers do not move on before they have scrutinized and understood thoroughly the factors underpinning their success.”
 
Orignial URL:
July 02

How to Hire a Manager - A Time Tested Recipe

I was reading an interesting blog post in Management Craft blog on how to hire a manager - A Time Tested Recipe. The blog post talks about some of the qualities to look for while hiring a manager.
 
Some of the Qualities (Ingredients as mentioned in the blog post): Courage, Independence, Leadership, Followership, Love of Management, Takes the Initiative to Make Things Better, Honey (AKA Relationship Builder), Self-Aware, Humble, Confident
 
Its a good list. I will probably add few more to that list  "Accountability, Team Work, Transparency and Lead by example"

One of the things which the blog post talks about was "Test for fit within the culture". I guess, its one of the most important things to find out while hiring a manager. In my opinion most of the times, the hiring mistake was that "Cultural Fitness" was not tested.

"Test for fit within the culture. This is a valid job-related line of inquiry. Watch for whether te candidate seems connected to the organization's culture and mission and look for chemistry with the hiring manager. You can determine fit by observing him or her and by noticing your comfort level with this person. Do you want him or her around?"

Original URL: http://managementcraft.typepad.com/management_craft/2008/06/how-to-hire-a-m.html

June 10

Blogmarks

Emotional Engagement at work: Difficult work environments are driving people away from organizations today

Enhancing CRM: Workflow vs Plug-ins:  Plug-ins can be executed either synchronously or asynchronously.   Workflows function in an asynchronous manner.

The Synchronous operation will modify the data stream as it is being saved to the database, which can introduce a delay in the user's experience, but will provide results back to the user in a quicker fashion.

Asynchronous operations will happen shortly after the data has been saved which will not impact the user, but which may result in a slight delay between the time the user saved the record and when the value will be updated.

Update: http://blogs.msdn.com/lezamax/archive/2008/04/02/plug-in-or-workflow.aspx

It’s Software, Not a Unicorn - Why Tools Won’t Solve Organizational Dysfunction: In truth, we create the poisons that pollute our projects. We call them emergencies, business priorities, contractual requirements, customer satisfaction issues, must haves…you name it. Whatever we call them, we cannot rely on software tools to protect us from ourselves. We must rely on ourselves. The cure for what ails our projects is, quite simply, discipline. We must discipline ourselves to abide by the few guidelines that Scrum and Agile development put forth in order to be effective. Not that this is shocking news for software developers. After all, how often does the development process actually have a fairy tale ending?

Motivation and Leadership Styles: Leadership style influence level of motivation. However, throughout a lifetime, man’s motivation is influenced by changing ambitions and/or leadership style he works under or socializes with. Command-and-control leadership drains off ambition while worker responsibility increases ambition.

June 06

Refactoring Legacy Code - Part 1: Dealing with Static Cling

Sendhil has written an article in Code Project which talks about refactoring and adding tests to legacy code.
 
Expecting a series of articles from sendhil on this subject.
 
May 30

How to select RadComboBox item with WatiN

We have been struggling with the same problem for quite some time. Infact we have raised this and got the reply very recently from telerik.
 
This blog post talks about how to select RadComboBox item with WatiN.
 
 
 
May 24

Team Building and Inducting New Team members

I was discussing with a friend of mine about the problems with getting started with a new team (team building).
 
The discussion was around common problems with initial team setup and I was thinking what is that as a manager some body could do, so that the team can get started….

 

  1. Send a preparatory email to a new team member even before they get in. Give a brief overview about the kind of projects, technology etc..

 

  1. Build Trust: The first step in getting started in any relation ship is to build trust. Especially when you are building a team from scratch there will be team members from different background. Some of them could be from your company and some of them could be from different company backgrounds. Its very important as a manager to build the trust.
  2. Setup the First 1:1: I have learnt this from one of my favorite manager "Musthafa". Let the team members try to settle down things on their own for a week time, see how they are doing and setup the first 1:1. 1:1 is a great tool for managers.
    1. Share the information about Project, Group, Culture, how the team works, information about the customers etc… with the new member.
    2. Share the Vision
    3. Explain the Roles and Responsibilities and clearly define what you are expecting from the new team member.
    4. Ask the team member about his/her expectations towards the project and know more from the new member.
    5. Get the Buy-in from the Team member.
    6. Define how to follow up
  1. Have Buddy Programs where someone from the team can be a buddy for the new team member. Not everyone will be comfortable speaking to managers and there will be scenarios where the new member has to find out information about how - to do things (Especially if they are from some other place).
  2. Speak to the team members very frequently… not just during 1:1's.
  3. Provide Feedback. Team members need to know how they are doing. Setup 1:1's every month. I prefer having 1:1's with my team members every 3 weeks.
  4. Appreciate and Recognize team members.
  5. Finally, Promote Participation. Participative management always helps.

 

 

Refer to this interesting article "A Leaner Start: Reducing Team Setup Times". This article discusses the strategies to Reduce team setup times.

 

Happy Employees = Happy Customers !!!

 

Happy Team Building!!!! :)

May 22

A Microcosm of Agile Design

An interesting article by Jeremy miller. Thought of blogmarking it for future reference
 
Some of the issues which he was talking about.
 
Return on investment.  How to wrest the maximum business value out of the development effort spent in delivery.
Doing design continuously is more responsible than big upfront design.
Delaying technical complexity and decision making until the proper time.
Enabling the future by creating maintainable code rather than trying to anticipate the future
You aren't gonna need it -- YAGNI!  Why YAGNI is important and valid.  How to call YAGNI today without eliminating tomorrow's efforts.
How does continuous design as practiced by Agile teams affect the composition and roles of the development team? 
How the desire for continuous design affects our design choices
 
May 07

MS CRM Plug-in Debugger

Debugging Plug-in
During plug-in development, developer would want to test his plug-in before putting in production server to make sure it works as designed. One way to do it is to have a development environment to test plug-in which is great. However, the turn around time between deploy-test-debug-build-deploy is very significant. It would be nice if we can test plug-in locally without deploying it on CRM server. The approach I am going to show is to execute plug-in in a small EXE container. Since IPluginExecutionContext is just interface, we can mock the context in our test container.
 
 
Thanks to Sendhil for sharing this link.
May 01

Whale Done! The Power of Positive Relationships

A Book about Positive Relationships.
 
The story starts with the Shamu show in Sea world, San Diego. How can the killer whales perform a show with a series of astonishing, acrobatic leaps and dives?
 
1. Build trust
2. Accentuate the positive
3. When mistakes occur, redirect the energy

The ABC’s of performance:
A = Activator Whatever gets the performance going
B = Behavior The performance that occurs
C = Consequence Your response to the performance

4 kinds of consequences:
1. No response
2. Negative response
3. Redirection
4. Positive response
 
Redirection response:
• Describe the error or problem as soon as possible, clearly and without blame
• Show its negative impact
• If appropriate, take the blame for not making the task clear
• Go over the task in detail and make sure it is clearly understood
• Express your continuing trust and confidence in the person
 
Praise progress, it’s a moving target!
 
The Whale Done response:
• Praise people immediately
• Be specific about what they did right or almost right
• Share your positive feelings about what they did
• Encourage them to keep up the good work
GOTcha         : Catching people doing things wrong
Whale Done!   : Catching people doing thing right.

A Must Read Book for anyone who is looking for a change/improvement in behavior.
 Shamu Show.jpg
(Photo from the Shamu Show)

The Effective Software Developer’s Book List

Good one. Books list classified as Introductory, Intermediate and Professional.
 
Blogmarking it
April 16

Viewpoints on Pre Sales, Sales support at Software Service Firms

Very good article on Pre Sales. It answered most of the questions i had about Pre Sales. Must Read...

What is Pre Sales?

Pre Sales includes the entire gamut of activities involved in preparing to engage with prospects, clients and others and includes specific responses to client requests. Clients or companies that need software services and project implementations generally call for proposals or expect responses from their vendors and service providers. Although it is hard to generalize on the nature of or the contents of such proposals, most documents follow a structured framework: detailing the project, asking vendors for suggestions or solutions or proposals along with cost estimates regarding the work to be done. Typical Pre-sales support activities include:

  • Responding to client requests: Responses to clients could include informal responses, pointers to publications, colleterals or other references or take more specific forms like responses to proposals including: Request for Proposal (RFPs), Request for Information (RFI) and specific Statement of Work (SoW) or Work Orders
  • Supporting client visits: In some cases, clients or prospective clients may make a trip to offshore vendor's offices for a personal visit prior to engaging with them. This could include offshore client visits targeted at offshoring
  • Visiting clients and/or making presentations: Engaging clients for larger, complex deals involves a number of activities, including making presentations, meeting with clients to discuss specific aspects of their (client's) initiatives, to get a better understanding of the context in order to make specific recommendations in proposals. This may also include preparing proof-of-concept demonstrations and solution mockups.
  • Competitor Analysis and market scanning: This is a crucial aspect of pre-sales since many clients evaluate responses from multiple vendors, and responses should address such competitive scan. The analysis could include using online tools, subscribing and analyzing research reports, analyst studies, market research data etc.
  • Sales Support: Such activities may include supporting sales and account teams in responding to general client queries about solutions and capabilities. This could include partnering with onsite/client facing Sales or Business Development Managers to identify and convert prospects into customers.
  • Interfacing with other internal groups (within the organization) while responding to client requests. This is especially true of larger software service firms where Pre-sales people from one group/division may have to rope in Subject Matter Experts from other groups while responding to a client request or proposal
  • Marketing support: Large service firms work hard at differentiating themselves from others by formulating marketing messages and evolving Go-to-market solutions or customized offerings. This may also take a form of alliances with other software product development firms or niche vendors. Pre-sales activities may include leveraging such alliances to showcase extended capabilities to clients.

Blogmarking it for Future Reference: http://www.offshoringmanagement.com/PreSales.htm

Pre-sales support is a necessary evil: http://www.garamchai.com/mohan/ITP13Sep04.htm

 

April 15

Creating The Culture For An Agile Environment

An Interestring from the book "Becoming Agile".

Migrating to Agile is more than changing your process. It also requires a change in culture. For most companies changing culture is the most difficult part. I believe this is true for several reasons. Here are a few:

  • Whether successful or not, companies get comfortable with their processes.
  • Many people still believe requirements change because they are poorly managed. They cannot comprehend a process that embraces change.
  • Most managers have been trained to control events. Empowering the development team to deliver and own the project is not intuitive or logical.
  • Job protection. In larger companies whole groups are dedicated to regulating and overseeing projects. An Agile team has less need for these services.

Via: http://www.infoq.com/news/2008/04/smith-creating-agile-environment

Orignial URL: http://www.methodsandtools.com/archive/archive.php?id=70

 

April 11

25 Ways to Distinguish Yourself

Interesting Presentation from Rajesh Setty - Author of "Life Beyond Code".
 
I have seen this presentation some time back in 2006. Infact, i have added the book "Life Beyond Code" in my reading list only after seeing this presentation. For some reason i remembered to refer this presentation after a long time.
 
April 04

Caring for the Team

Interesting Post.

The article, What Every Baby Needs to Thrive, highlights eight steps every baby needs to thrive. For example, the first one is, "Show your love." What I have done is take this step and draw similarities to how this would apply to the success of a development team. This exercise can transcend outside of development teams to other teams, but this is a blog focused on engineering.
I have not altered the steps provided in the article. Each step and how they can be applied to a development team can be seen below.
Step 1. Show your love
How to Apply: Acknowledge them, give them praise, constructive criticism, tone of voice, genuinely care for their progress, listen to them, coach them, help them help themselves.
Step 2. Care for your child’s basic needs
How to Apply: Give them the knowledge and tools necessary to be successful, provide training opportunities for them to take advantage. Rest them, don’t just sprint them month after month without a break. A well rested employee is more productive. Reward them when they have done well, instruct them when they have not. Show them what it means to be a good developer. Provide a welcoming team atmosphere, lead the culture promoting it, and provide frequent feedback.
Step 3. Talk to your child
How to Apply: Communicate openly and frequently, listed and hear them, ask them how they are, what they are doing, learn how to help them.
Step 4. Read to your child
How to Apply: Present to them, demonstrate and show them what you know, teach them skills that they will learn to admire and achieve so they may help themselves.
Step 5. Stimulate all his senses
How to Apply: Give them a broad range of experiences, don’t just stick them in one technology or one facet of a project. Teach them all the parts of the project. See where there interests and skills develop. Groom them for future development in several areas.
Step 6. Encourage new challenges
How to Apply: Encourage them to raise their bar higher, step out of their comfort zone, teach a class, present a session, develop leadership skills. Teach them to teach others. Train the trainer.
Step 7. Take care of yourself
How to Apply: Lead by example, if you are not well rested (on top of your game), it becomes difficult to instill this sense amongst the team. Continue your education to grow and lead. Find time for yourself away from the team.
Step 8. Find good childcare
How to Apply: Develop a good team atmosphere. Who do you want your developers to emulate? Find mentors, get them training, pay for good speakers, find the right conventions. Encourage them to care for each other, to present to each other, to respect one another.

Original URL: http://elegantcode.com/2008/04/02/caring-for-the-team/


 

March 24

Uncovering Requirements with Class Diagrams

  • Uncovering Requirements With UML Class Diagrams Part 1: Discusses how to represent objects and entities from a business perspective.
  • Uncovering Requirements With UML Class Diagrams Part 2: Discusses simple relationships between objects or entities.
  • Uncovering Requirements With UML Class Diagrams Part 3: Discusses combining objects into collections and concepts.
  • Uncovering Requirements With UML Class Diagrams Part 4: Defines generalization (inheritance) and how to use it.
  • Uncovering Requirements With UML Class Diagrams Part 5: Represent straight forward business relationships in UML class diagrams
  • March 17

    Beyond Code: Learn to Distinguish Yourself in 9 Simple Steps!

    Beyond code is a self development book targeted towards IT Professionals. I had this book in my wish list. My friend Srini was reading this book last week and i grabbed it from him. Its a simple and easy to read book. I enjoyed reading this book. I am planning to get couple of copies for my team.

    This book explains tools and insights in 9 simple steps to help people to make difference in this competitive world.
    Learn: We spend most of our time in delivering projects and remaining time in learning new technology skills. Apart from this, we should invest our time to learn how to build long-term relationships, how to be congruent, and how to develop one’s strengths.
    Laugh: It is important to know how to avoid making mistakes, but is more important to know how to handle mistakes and move on by laughing at yourself. And when you can laugh at yourself, other people are more comfortable with you.
    Look: The most obvious step to differentiate yourself is to look beyond expected. Looking for associations that have never existed before, looking for  relationships that will yield maximum benefits to both parties, looking for simplicity, and looking for clarity are some of the ways to
    do something remarkable to receive the attention that you desire.
    Lasting Impression: People you meet along the way constantly reshape your life and every engagement offers you the opportunity to make the lasting impression. We can leave a lasting impression by caring for other’s problem as if it is ours, solving the right problems, by getting things done, by going beyond the call of duty, and by being resourceful.
    Love: To be successful, love what you do and do what is required. Nothing can substitute passion—not hard work, not intelligence.
    Leverage: When you apply the concept of leverage in your life, you will accomplish more in 24 hours than you can on your own. The focus should not be on saving money, it should be on saving time. Money can be earned back, but you can not get back time!
    Likeability: If we are likeable, people will often bend rules and make exceptions for us. To increase the likeability index, we need to make others feel good about themselves, be genuinely interested in other people, add measurable value in somebody’s life.
    Listen: We all know the importance of listening well. Feedback is the breakfast of champions and if there is no listening, there is no feedback. If you want to be a champion, start listening and practice this ability consistently.
    Lead: Leadership is not tied to a position. To lead, look for gaps in your organization and start filling those gaps.

    http://www.amazon.com/Beyond-Code-Distinguish-Yourself-Simple/dp/1590791029/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1205762696&sr=8-1
    http://www.adeologue.com/adeologue/2007/03/one_page_book_r_1.html


    Thanks Srini !!!.

    March 09