July 9, 2010

Challenges in performance testing of mobile applications

With mobile web growing at such an unprecedented rate, could performance testing for mobile applications do real wonders? The answer is -- Yes. I have created a video presentation and posted at YouTube



This video highlights performance bottlenecks, various challenges and their possible solutions

December 3, 2008

Download Scrum Summarized eBook for FREE

Scrum Summarized will introduce readers to the Agile software development methodology - Scrum. It is written for anyone and everyone who wish to understand and adopt Scrum. In this book, I have used my experience and knowledge of Scrum to describe the key concepts to get readers started on using Scrum. If you think that this book is worth a read, please feel free to share it with your colleagues and friends.

Download Scrum Summarized eBook for FREE at: http://rapidshare.com/files/170065207/Scrum_Summarized_by_SachinMehra.pdf

You may buy the print version of the book at: http://www.pothi.com/pothi/book/sachin-mehra-scrum-summarized

COST: $5 (Rs 230/- INR) + shipping charges

December 2, 2008

Published my second book titled "Scrum Summarized"

Published my second book titled "Scrum Summarized", here is its cover with intro. You may buy the book at: http://www.pothi.com/pothi/book/sachin-mehra-scrum-summarized

December 1, 2008

Google Code Adds Gadget - MarkMail

MarkMail is a free service for searching mailing list archives, with huge advantages over traditional search engines. It is powered by MarkLogic Server: Each email is stored internally as an XML document, and accessed using XQuery. All searches, faceted navigation, analytic calculations, and HTML page renderings are performed by a small MarkLogic Server cluster running against millions of messages.

Use it first and share your experience. http://markmail.org/

November 25, 2008

Importance of instant messengers (IM) for Agile teams

We need to have good, clear and continuous communication to be able to effectively collaborate with our team in any engagement. The selection of method and tools for enabling the smooth communication depends on the type of information, intended recipient, and project needs. In Agile teams, the importance of tools which enable to communicate is no less than any other teams.

 

Agile teams should be collocated, however if they are not Instant messengers (IM) enable Agile teams to communicate with each other instantaneously in groups and one-to-one communication. IMs are the most popular tools for Agile teams who wish to stay in touch and share stuff.

 

I use Yahoo and Google messengers. Yahoo is particularly beneficial to share files, etc because it uses LAN to transfer files which makes it faster and more effective. GTalk is better for light and speedy talks. You should choose the IM as per your needs and team’s comfort. Most messengers comes with features to save the conversation, this enables to track what was decided and when. Voice chat feature is useful if teams are split across the globe or they do not have a phone on their desk.

 

At the end, I would say that IMs are more effective for small/quick chats. Longer/complex conversation should be done in person or using video conferencing or over the phone (in that order).

 

 

 

 

November 18, 2008

Has Agile failed? I guess not

Today, I read an article “James Shore: The Decline and Fall of Agile” posted by Chris Sims at http://www.infoq.com/news/2008/11/decline-of-agile.

 

I really liked this part “James thinks it's not all the fault of Scrum, however, as each team must take responsible for its own success or failure. Many are choosing to adopt only the superficial, and easy, parts of Scrum such as short development sprints and daily stand-up meetings, while ignoring harder, yet critical practices such as reflecting and improving. Via this process, teams are empowered to identify and adopt the engineering practices that they need to deliver shippable software every iteration. Unfortunately, many teams fail to take this step.”.

 

I absolutely agree that team must take responsibility of their actions and results. To take this inference further, good team members (self-organizing types) will produce good results wherever they work. We can only create agile teams to the extent of resource allocation, their passion is their own and it cannot be forced to act in a specific way. Taking the Agile route we can enable those who want to (and can) perform.

 

It is not the decline and fall of Agile, but of those who are unable to understand the methodology. Those people practice what they believe to be Agile and when they fail, they blame Agile for it.

 

I have failed with Agile several times, however I learned something new every time. The only learning I pass on is that “you cannot go by the book”, that’s what Agile is all about. Also, Agile has to be XP and Scrum together, one without other leads to failures.

 

Agile is not one size fits all. I am of the opinion that Agile have a lot of good practices which have to be practiced and improved with experience. Methodologies have evolved over decades, the good things don’t vanish, they just change names and evolve for betterment.

Is Agile for real?

This weekend (Saturday, 15th Nov, 08) I attended Agile Expert Series at Impetus Noida facility. The event was organized by Xebia. Sanjiv Augustine, President LitheSpeed, world renowned & leading agile thought leader was the speaker on the topic Agile Project Management Overview. Luckily for me, I got seating in the front row and was only project manager for the first 30 minutes of the 1hr presentation; this gave me an opportunity to interact with Sanjiv on issues/questions.

During this interaction Sanjiv over-emphasized (or maybe I paid much attention) to the aspect of self organizing teams. He gave an example of developer becoming a designer. In this example, after becoming designer the team member felt superior than others which reduces the communication/interaction within team. My question is, how would this be any different in Agile team (I mean the designer has an attitude problem, not the development/project management methodology problem).

After the presentation, I was thinking about the critical success factors (as per my understanding) of Agile:
<![if !supportLists]>·         <![endif]>Self-organizing teams who abide by their commitments (to customers)
<![if !supportLists]>·         <![endif]>Customer having enough time to spend with the team

The question is: If we live in a perfect world, who needs Agile (Scrum to be specific)?

On Sunday, I spent most of my time looking for more instances of success of Agile with normal teams (not the ones who are self-organizing) and/or normal customer (the one who is available during kick-off, requirements and UAT phase of the project, and maybe on notice of 3-5 days too). Well, disappointed at the results, I went back to my book shelf to look for “Managing Agile Projects”, the most wonderful book on agile project management to look for answers. Well, I am not yet done with re-reading this book. Will post once I find something really interesting. If you wish to read the book buy Managing Agile Projects from Amazon.com





November 6, 2008

ArgoUML 0.24 released in Oct 2008

For those who don’t know, ArgoUML is a Java based CASE tool. And open source too J

 

 

Feature list

·         Platform Independent: Java 1.4

·         Standard UML 1.3 Meta-Model

·         8 out of 9 Diagrams supported

·         XMI-Support

·         Export Diagrams as GIF, PS, EPS, PGML and SVG

·         Internationalization EN, DE, ES, RU, FR, NB

·         Advanced diagram editing and Zoom

·         OCL Support

·         Forward Engineering

·         Reverse Engineering / Jar/class file Import

·         Cognitive Support

·         Reflection-in-action

·         Design Critics

·         Corrective Automations (partially implemented)

·         "To Do" List

·         User model (partially implemented)

·         Opportunistic Design

·         "To Do" List

·         Checklists

·         Comprehension and Problem Solving

·         Explorer Perspectives

·         Multiple, Overlapping Views

·         Alternative Design Representations: Graphs, Text, or Table, media size, resolution, and so forth.

 

 

Download: http://argouml.tigris.org/

November 1, 2008

Thinking of writing a book on Scrum

I had a very good time writing my first ever book on any subject. I have been writing sine my collage days but never used Scrum at that time. I enjoyed using Agile principles while writing the book. I am highly inspired by the results and am thinking about writing a “Summarized” series book on Scrum too.

Wish me luck :)

October 31, 2008

Published my book "Project Communication Management Summarized"

Today I published my book "Project Communication Management Summarized". I had promised my wife in July that I’ll work late nights if required to publish this book on her birthday, and I did accomplish what I said.

Cover pages of my book:

Here is the preface of my book:

The genesis of this book dates back to 2003. While working for a small startup, I was asked to help the executives create and execute the organizational growth plans. The executives wanted me to research tools and methodologies that would help them manage project efficiently.

Seeing the problems faced by project managers, I felt that software project management must be the toughest job on the earth. And managing the communication with various stakeholders like client, end-users, team, etc was toughest of all the activities.

Over the past 6 years, I have realized that the situation is not quite that hopeless. By using sound project communication management processes, project managers can successfully execute projects.

I have used my experience and knowledge of software project management to cull out and describe in this book the key project communication management practices that can be used to successfully execute project after project.

The beauty of these practices is that despite being highly effective, they are not complex; rather, they are grounded in common sense and are supported by simple measurements and analyses.

The book is written primarily for existing project managers so that they can improve their communication skills. This book is equally helpful for wannabe project managers, by using the methods described in this book they can systematically improve the communication management of their projects. PMP aspirants can also use this book to understand the art of project communication management in simplest way.

Many people helped to make this book a reality. I would like to express my gratitude to my present and past employers, where I earned my knowledge and experience to make this book possible. My sincere thanks to all the people who shared their experiences with me and inspired me to write this book. My special thanks to Anand Rajan for his guidance, insight, and common sense to project management.

October 18, 2008

Use strategic agility to face the economic downturn/slowdown

The world is in a global economic downturn/slowdown. The retail industry can see signs of a sharp pullback in consumer spending habits. We read and hear about bad news from morning till evening. Every day the newspaper talks about pink slips and bailout issues. I don’t want to list the bad news in my blog, however you may go to any news website for that kind of information.

Most companies are looking for cost cutting measures to stay afloat during this time and wait for things to get better. Most companies have shelved their growth plans. The problem is nobody can predict a trend and hence corporate planning has gone for a toss. The current downtrend may go on like this for another 3,6 or 10 months, or maybe for another 1,5, or 10 years... who knows!

So the question is what do the corporate do when they don’t know what to do? Do they wait for the eventuality to happen? Would cost cutting help them survive…forever?

I think it’s time to use strategic agility to face the economic downturn/slowdown:

  1. Plan and go for long term growth.
  2. Be agile in your approach. Be proactive (not reactive) to the economic indicators and market trends.

Let me illustrate an example from our real life:

  1. Let’s say we are to party with our friends at the beach and grab some beer (this is a business objective to make profits and grow).
  2. We reach the beach and park the car. We don’t know where our friends are on this huge beach so we call them for directions (this is the economic indicators and market trends).
  3. Our friends are on the move looking for a good spot to settle down (this is the changing market trends).
  4. We have two options,
First, to wait till they settle down and then go meet them, but that might be too late (half the beer may finish by the time we reach there). Second, to find the current location of our friends and start moving in their direction (we have to walk anyways). Proactively calling them to find the new current location to alter our course and meet them sooner (than the first option).

What I suggest is to take the second option in this period of economic slowdown. Don’t let this recession ruin your business, think about the opportunities, follow the market trends and invest in the right growth plan. This will enable you to come out as a winner when the dust settles down and you’ll be much ahead of your competition.

October 3, 2008

Project Communications Planning

In order to successfully manage a project, the Project Manager must have in place all processes required to ensure timely and appropriate generation, collection, dissemination, storage and ultimate disposition of project information.

Communication management plan, which is created by the Project Manager, is an output of communication planning process. It determines the type and format of information and communication needs of all the stakeholders. It also defines the frequency/time, creator and recipients of the information.

As per A Guide to the PMBOK®, communications planning process determines the information and communications needs of the stakeholders; for example, who needs what information, when they will need it, how it will be given to them, and by whom. While all projects share the need to communicate project information, the informational needs and methods of distribution vary widely. Identifying the informational needs of the stakeholders and determining a suitable means of meeting those needs is an important factor for project success.

Note: Organizational structure has the greatest effect on the project's communication requirements.

Something that you planned for today might become obsolete in the future. It is good to review the communication plan periodically with the stakeholders.

Inputs to communications planning

  1. Enterprise Environmental Factors
  2. Organizational Process Assets
  3. Project Scope Statement
  4. Constraints and assumptions from the Project Management Plan

Tools and techniques for communications planning

  1. Communications requirements analysis
  2. Communications technology

Output of communications planning

  1. Communications management plan (part of project management plan)

Content of communications management plan

  1. What information will be collected?
  2. How the information will be collected
  3. How and to whom the information will be distributed
  4. When the information will be communicated
  5. How to obtain information between regular communications
  6. How the Communications Plan will be updated through the project

How a project manager can help in effective project team communications

  1. Be an effective communicator
  2. Be a communications expeditor
  3. Avoid communications blockers
  4. Use a tight matrix
  5. Have a project war room
  6. Make meetings effective

Note: This is an extract from my book “Project Communication Management Summarized”, you may read the book for complete context and content.

September 6, 2008

Project Communications - Manage Stakeholders

A stakeholder is anyone whose interests may be positively or negatively impacted by the project. Stakeholder management is the process of controlling communications to adjust as per the needs of the stakeholders.

 

Inputs to manage stakeholders

1.    Communications management plan (part of project management plan)

2.     Organizational process assets

 

Tools and techniques for manage stakeholders

1.    Communications methods

2.     Issue logs

 

Output of manage stakeholders

1.    Resolved issues

2.     Approved change request

3.     Approved corrective action

4.     Organizational process assets (updates)

5.     Project management plan (updates)

 

Exam spotlight

 

  • Most important characteristic for a project manager is ability to work well with others.
  • Major cause of conflict with functional managers is schedules.
  • Most difficult conflict to deal with is personality conflicts.
  • Face-to-face meetings are the most effective means for communicating and resolving issues.

 

 

 

Note: This is an extract from my book “Project Communication Management Summarized”, you may read the book for complete context and content.

 

September 5, 2008

Project Communications - Performance Reporting

The project may be doing great or maybe it is already screwed-up, the only way to find out is by looking at the baseline data of scope, efforts, cost, quality, etc and then matching it with the actual to find out the progress made.  Stakeholders look for such information, hence it is project managers duty to do performance reporting as per the information needs documented in the communication plan.

 

Inputs to performance reporting

1.    Work performance information

2.     Performance measurements

3.     Forecasted completion

4.     Quality control measurements

5.     Project management plan

6.     Approved change request

7.     Deliverables

 

Tools and techniques for performance reporting

1.    Information presentation tool

2.     Performance information gathering and compilation

3.     Status review meetings

4.     Time reporting system

5.     Cost reporting system

 

Output of performance reporting

1.    Performance reports

2.     Forecasts

3.     Requested changes

4.     Recommended corrective action

5.     Organizational process assets (updates)

 

Exam spotlight

 

Variance analysis

Comparing actual project results to planned or expected results in terms of cost, schedule, scope, quality, and risk.


Project war room

A single location for the team to get together for any purpose.  It provides a repository for project artifacts, records, and up-to-date schedules and status reports.  It gives an identity to the project team.

 

 

 

Note: This is an extract from my book “Project Communication Management Summarized”, you may read the book for complete context and content.

 

September 4, 2008

Project Communications - Information Distribution

Everything you do, you do for a reason, and communicating should be no different. We need to share the project information with the stakeholders in a timely manner to be able to utilize the information. Information distribution is the execution of communication management plan plus handling ad-hoc information needs.

Inputs to information distribution

1.    Communications management plan (part of project management plan)

 

Tools and techniques for information distribution

1.    Communications skills

2.     Information gathering and retrieval system

3.     Information distribution methods

4.     Lessons learned process

 

Output of information distribution

1.    Organizational process assets (updates)

2.     Requested changes

 

 

 

Note: This is an extract from my book “Project Communication Management Summarized”, you may read the book for complete context and content.

 

August 26, 2008

Blog to Podcast solution

I found this wonderful web tool that provides service of converting the blogs to podcast. Now readers of my blog have an option to listen to my blog.

Odiogo (http://www.odiogo.com/) is compatible with all blog engines that publish RSS feeds such as Typepad, Blogger, WordPress or Overblog. The generated MP3 files are stored on their servers. Weblog owner does not need to worry about technical integration tasks or bandwidth.

Not only is Odiogo free, it may be able to generate advertising revenues. Once your listenership reaches a significant level, you may qualify for a share of ad income!

August 22, 2008

Barriers to Communications

Barriers to Communications

1.     Physical – noise, distance, time, environment, physical medium

2.     Cultural - ethnic, religious, and social differences

3.     Perceptional - viewing what is said from your own mindset

4.     Words - we assign a meaning to a word often because of culture, experience, etc reasons which results in improper encoding of message

5.     Experiential - lack of similar experience

6.     Emotional - personal feelings at the moment or doing other things besides listening

7.     Linguistic - different languages or vocabulary

8.     Non-verbal - non-word messages

9.     Gestures - misunderstood gestures are a major barrier

10.  Variations in language - accent, dialect

 

Note: The most likely outcome of communication blocker and miscommunication are conflicts.

 

Any of the above barriers to communications can create interferences or disturbances and impact the effectiveness of the communication. Project Manager should look for such barriers and try to minimize (or better still, eliminate) the source/cause.

 

 

 

Note: This is an extract from my book “Project Communication Management Summarized”, you may read the book for complete context and content.

 

August 11, 2008

Linux solution to use exchange mail which works like outlook on windows

I have been looking for a Linux based solution to use exchange mail which can work as Outlook would on Windows environment. We need something that can fetch mails, lookup contact on the server, show calendar items as is and does not crash too often.

I tried to look for MS specific APIs to see if something can be built, however no solution yet. If you know of a solution, please do let me know. This could mean a new open source software with wraps the MS APIs to work on Linux environment.

Any ideas???

July 24, 2008

Understanding communication model and channels

Communication Model

In communication, there is always a sender and a receiver (maybe more than one in some cases). Both parties have their own experiences, their perceptions, their ideas, etc, hence they may experience, perceive, and interpret things differently. The same event will always be perceived a little different by each party.

A simple communication model in Figure 1 shows how the information travels from sender to receiver.

comm_process

Figure 1

1.     Sender – Is an information source, who wants to initiate communication.

2.     Encode – Information is encoded into a message. Sender should make sure that he truly provides understandable information to another project team member. This means that sender must attempt to take the perspective and knowledge of the receiver into consideration and create and present a message that he or she is likely to interpret in the way intended.

3.     Medium – Messages may be sent using traditional mail, email, phone call, face-to-face or using gestures alone. Medium is the communication method used to transmit the message.

4.     Decode – Message is decoded to understand the information sent by sender. Sender uses his knowledge and understanding of the subject matter to decode this message, hence extra caution is required to interpret the message in right context (sender’s context).

5.     Receiver – The person to who the information is sent to.

6.     Feedback – Receiver sends a feedback to sender to acknowledge that the information is received and understood. Sender may have to act further to ensure that the receiver understood the message by eliciting feedback that helps sender to assess whether receiver interpreted the message as intended.

Sender may use symbols, signs, behavior, speech, writing, or signals to transfer the information in the message. The purpose is to ensure that both parties understand the perspective.

 

Communication channels

Communication will always involve more than one person. In the figure below, we can see the number of communication channels required to communicate with 5 team members in a team of 6.

comm_channel

Figure 2

The formula to calculate the total number of communication channels is: (n2- n)/2 or n (n-1)/2

n = total number of team members

Lets calculate the total number of communication channels for the figure above,

n = 6

6 (6 – 1)/2

6 (5)/2

30/2

Hence, there shall be 15 communication channels on this project of 6 people.