RSS

Tag Archives: Project Management

Why can’t the software industry survive without project managers’ help?


SoftwareWhat do project managers do? What are they good for, anyways? I am sure, if you have worked in the software industry, then you must have asked this question multiple times to yourselves. I don’t blame you either, since most of the time project managers are not that technical, and sometimes they don’t understand very specific details of an engineering problem. But that doesn’t mean that they are not important at all. Project managers often bring lot of skill-sets, which an engineer or engineering manager might not have. Thus, in this blog post I am going to educate all of you engineers on the specifics of what exactly project managers do, and why they are an irreplaceable part of the software development life cycle.

Provides the focus: Software development is a creative work, and hence, sometimes engineers can’t constrain themselves to focus on the priorities (or project scope). For example: If you don’t know how big is the space in your kitchen, how can you buy a refrigerator that can fix in your house? Even if you find an ideal refrigerator, which satisfies all of your needs, but if it is slightly bigger than the space in the kitchen, then it won’t work out for your house. Project managers resolve these kind of issues by project planning, project monitoring, and helping the team to deliver what the customer wants. For an engineer, it’s easy to get sidetracked during a project, since they might come up with better solutions or additional problems to solve, which usually cost more, take longer, and can potentially kill the project with overruns. Re-arranging your pantry while preparing food for a dinner party could result in hungry guests. A project manager will avoid these kind of disastrous situations by looking at the big picture, and prioritizing all the tasks.

Provides planning: Some software projects grow up too quickly, and become too complex within a short period of time. Due to this changing scope, without a clear-cut plan, engineers can’t concentrate on one thing at a time, and they can get pulled in every direction. When you look at the big picture, you will realize that the needs of a marketing department is different from the needs of the sales team, while these needs might not even connect to the reality in any form or shape. Sales team can sell a dream software, which might be unbuildable, or it might require constant changes to the existing product to deliver that dream software. Project managers make these tasks easier by scheduling, planning, budgeting and controlling all the tasks associated with the product. They also uncover most of the needs and issues up front, and if changes do occur during the software development life cycle, they change the project plan to  make it easier to adjust the course of the project.

Though it is desirable to hire a technical savvy project manager, it is not practical to do so every time. Finding a project manager with management and software development skills is hard to get. And hence, sometimes your project manager might not understand the specifics of your software development issue, but that doesn’t mean that they are good for nothing. Project managers are, and always will, be the critical part of the software development life cycle.

So, next time when you think that your project managers don’t understand your engineering issues, then try to educate them, instead of blaming them to be dumb and stupid.

Thanks – Bhavin Gandhi

 
Leave a comment

Posted by on January 22, 2014 in 21st Century, Leadership, Management

 

Tags: , , , , , , , , , , ,

How to keep your team motivated in the crunch time?


I am sure, as a manager, you must have encountered a situation where your team has been working very hard for past few months to get that next product out of the door. And due to this situation, everyone in your team feels under-appreciated and overworked. And you don’t know how to keep your team motivated. Does this sound familiar?……..Through this blog, I would try to give you some tips through which you can keep your employees motivated during this crunch time.

Provide feedback: As far as feeling under-appreciated goes, this has to be the #1 killer of team’s motivation. During the crunch time, our focus is so much on the end result that we forget to provide feedback to our team. Sometimes it is very crucial to provide constant feedback to your team on how they are doing. This behavior not only conveys the message that you care for your team, but it also gives you the opportunity to correct any mistakes in your current process.

Communicate purpose: The second biggest killer of self-motivation is negativity. When we set personal expectations at a level that are unattainable, we start to invent reasons for why we are not achieving our goals. We start thinking about past failures that have not gone our way and weak points in our character or at least in our working style. This causes us to come up with all the reasons that we can’t succeed. Hence, to keep your team motivated, you not only need to accept that the timeline given for the project was too aggressive, but you need to also provide them with the reason of ‘why we are doing, what we are doing’. This will provide your team with some background on why you are having these aggressive deadlines, and how it will impact the business, if you don’t meet those deadlines. Also, (if possible) you need to provide them with some blueprint of the plan, so that this doesn’t happen again.

Positive reinforcement: During these tough times, I would recommend you to remember old success stories, and recognize it for what it was. The power of this kind of positive reinforcement and positive feedback can’t be underestimated. Make sure that your team is getting the positive feedback from you that they need. Always make sure to restate your team’s and individual achievements during your team meetings and one-on-one meetings with your team members. This will encourage your team to keep going.

I hope these tips will help you to keep your team motivated in the crunch time. What would you do in this situation? How will you keep your team motivated?

Thanks. – Bhavin Gandhi.

 
5 Comments

Posted by on August 19, 2012 in 21st Century, Leadership, Management

 

Tags: , , , , , , , , , , , , , , , , , ,

How to clearly define the scope of your project?


ProjectScopeHave you ever wondered about …… What exactly does the ‘scope of a project’ mean? …..I have…. I kept on hearing this term from the time when I started my career. Though I have learned its meaning over the years; people around me still describe the term vaguely. Thus, I am  going to provide you with some simple tips, which can help you to clearly define the scope for your project.

The deliverables: Let’s say, you are one of those project managers whose projects are very complex, and you don’t know where exactly to start for defining the scope of your project. If you are not sure about how to move forward with this process then you should at least try to define the deliverables of the project. Don’t stress yourself too much. Ask your customers to provide you with tangible (I mean tangible) deliverables that they would like to see at the end of the project. Once, you figure out the final deliverables of the project, you can then go ahead and try to define the interim project deliverables. These defined deliverables will tremendously help you to better understand the project.

Project boundaries: Once you got some handle on how the project should look like through its deliverables, you should now define how it shouldn’t be looking. For example: Chris is going to look for a software third-party provider within the US. In this case, third-party software providers from China are out of scope. If Chris was considering the needs of the entire global company, this would not have been a good boundary statement since he could not have stated a good out-of-scope statement.

Project Features: Once you have described the deliverables and the boundaries, you have completed high-level scope. Now, it’s time to describe the physical characteristics of the deliverables, called features. If you were building a software framework, for instance, most of the functionalities would count as features. These might include the number of GUIs (graphical user interface), number of APIs (application interface), etc. So, follow the top-down approach and start defining project’s features from its well defined deliverables.

Project Functions: Once you finished describing project’s features, now you need to describe how people interact with a deliverable and how a deliverable interacts with other deliverables. For example, if you need to change invoicing and billing transactions, most of the requirements could end up being process oriented. This would include how billing transactions move from orders to invoicing to accounts receivable. Basically you are defining the information flow in this phase. Thus, make sure to involve all the stakeholders, who will be affected by this information.

I hope these simple tips will help you to better define the scope of your project. Let me know, if you have any other ideas through which you can make this process simpler. Thanks. – Bhavin Gandhi.

 
1 Comment

Posted by on July 2, 2012 in 21st Century, Leadership, Management

 

Tags: , , , , , , , , , , , , , , ,

How to design an internship program that works for you and not for the intern?


InternshipHave you ever been in a situation, where you have invested so much time and money in hiring the cream interns, but they never chose to work for you after graduation? This is not true in today’s economy, where students are thankful to have any job. But still……..I am sure, most of you must have seen a situation where your intern accepted a job offer somewhere else, and your time invested in him/her didn’t pay off for you. Through this blog post, I will provide you some high level ideas through which you can design your internship program to help YOU.

Summer Interns: Don’t get me wrong, but I am a huge fan of pay offs when it comes to business. I understand that you want to help your interns to grow his skillsets. But at the end of the day, you should also be benefited from this relationship. After all, you are investing your time and money to train this intern. Thus, to take the best work out of a summer intern, I would advise you to provide him with few smaller standalone projects. For example: projects related to testing, nice to have projects, bug fixes, etc. This practice will ensure that your work gets done, while giving you an idea of work ethics, self-sustainability, and leadership skills of your intern. I would also go further by saying…..you should hire only those students, who have only one semester to go. This will give you an opportunity to hire that candidate without disrupting your work flow too much.

Full time Interns: Most of the companies don’t offer this program. But I would highly recommend to include this program in your internship. This kind of internship means…..hiring someone part-time, probably 20 hours a week, while he goes to school. I would prefer to hire a local candidates over out-of-state candidates for this kind of internship. This will not only improve your relationships with local Universities and help you to get better full time candidates in the future, but this will also give you an opportunity to get out of paying unnecessary relocation costs. For this kind of internship, I would hire anyone from senior to about to graduate. Since, their working hours need to flexible due to their school schedule, I would assign them projects which require minimal supervision and are of lower priority.

CO-Ops: This kind of program is neither famous nor talked about. But this is my favorite internship program. CO-OP, formally known as cooperative education program, gives an opportunity to the employee to hire someone for an entire year to work for full time. In short, this is like hiring an inexperienced contractor for an entire year. I would mostly hire this kind of interns for a specific projects, which requires medium supervision, and which can be done within a year, OR some manual effort like testing, data entry, etc. I would recommend you to target those schools, where they offer online classes. Thus, if you really like this person during his contract period, you can then keep him as your full time resource, while he simultaneously finishes his school. Try to hire a Master level candidate who is about to finish his school in the next semester. In this way, you will get a resource who is mature but flexible.

I hope these tips will help you in making your internship program work for you instead of working just for your interns. Let me know, if you have any other ideas through which you can improve your internship program, so that you have a reasonable pay-back on your investments. Thanks. – Bhavin Gandhi

 

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , ,

New manager’s guide for the inventory check


Have you ever taken over a completely new team? Have you ever had a hard time in finding out what your team has to offer? Well…. in this blog I am going to talk about how to assess your team’s inventory as a new Manager.

Human capital: Most of the new managers always start their inventory count by assessing their tangible items first. For example: computers, machine parts, etc. I would definitely recommend against it. As a new manager and a new member of the team, one should  familiarize himself with all the team members in the group. You should identify their job description, skill sets, work history, recent projects, and major accomplishments. Find out under what circumstances your team will be given access to any additional human resources, such as outside contractors or assistance from other teams. Find out under what circumstances human resources will be drawn away from your group or reassigned to other teams.

Raw materials and office supply: Once you are done with all the human resource information, you should start assessing all the tangible items available to you. For example: computers, furniture, special equipment, office supplies, work space, hardware, software, etc. You should also identify finished products on hand, and try to get estimated values of those products (if possible). While you are going through the process, it would be nice if you can identify future inventory requirements for your current projects. This will not only help you in better forecasting your inventory needs, but it will also give you an idea of how efficiently your raw materials are used.

Shared inventory: Most of the managers fail to count their shared inventory during this process. I would recommend not to do that. Try to determine if there are any other managers who have ownership over any parts of your team’s current projects. If there are, then you can introduce yourself to these managers so that you can begin to develop good working relationships with them. Ask these other managers to explain how your roles intersect and overlap; ask them to describe what they expect you to do (and not do).

Future supply: Once you are done assessing existing supply, you need to identify any new initiatives that your team has planned for the future. What does your team plan to focus on? When do they plan to begin these new initiatives, and when do they hope to finish them? What business need are they trying to serve? Etc. This will not only help you to better predict your future inventory needs, but it will also help you to determine a roadmap for your team.

How would you access your inventory, if you took over a completely new team?

Thanks – Bhavin Gandhi

 
2 Comments

Posted by on April 30, 2012 in 21st Century, Leadership, Management

 

Tags: , , , , , , , , , , , , , , , , , , , , ,

How to reexamine your project estimates without any major changes to the project?


ProofReadHave you ever been in a situation, where you had to revisit your estimations and adjust them accordingly? I have. Few months ago, I have created a roadmap for some of my projects. However, I didn’t have the time to perform a detailed effort/cost analysis for those projects.  Thus, I estimated those projects at very high level, and thought of validating those estimates once the actual project starts. Yesterday, I ended up creating a WBS (work break down structure) for one of the projects, and I found that it might go 60% over our allocated budget. That type of increase will either not be funded at all, or the additional funding will probably require another approved project to be cancelled. Thus, I reassessed my estimations. With this blog, I would like to share my experience through which you can reassess your estimations.

Verify your estimates: Before digging up deep and cutting unnecessary costs, you should verify your estimates. I mostly use Microsoft Project or Microsoft Excel for estimating my projects. If you are using these tools, then I would recommend you to recheck all of your formulae. You should also keep an eye on your resource rates and non-labor costs. Make sure, they are reasonably accurate. If you are convinced that your math is accurate, then you might want to apply another estimating technique to see if you can get down the project cost without making any major changes to the project.

Find other alternatives: Once you are done verifying your estimates, you should then find other less expensive alternatives for all of your resources. For example: if you are counting on contract labor resources, you should see whether they could be replaced with company’s employees. Or if you are proposing new software/hardware as a part of your project, you should see whether your company already has something that will work for you. Or find out opportunities of automation, so that you can reduce the overall cost of the project without compromising on functionalities. And yeah! Make sure to take help from other experienced people in the company. Sometimes, they might come up with the solutions that you might not have thought about.

Negotiate scope of the project: Let’s say, you have tried your best to eliminate any unnecessary costs, but your project is still going over budget. What would you do then? Don’t panic. You can negotiate the scope of your project with your stakeholders. You can talk with your stakeholders, and find out activities/tasks that you can eliminate without majorly affecting project’s deliverables. I would recommend you to start this process by looking at the priority list first. If you recommend to eliminate lower priority items from the project, then your stakeholders are more likely to be in favor of your decision. You might want to defer some low priority tasks/activities, before you can get more funding. This will ensure that you can deliver similar level of functionality without compromising on quality.

I hope these tips will help you to adjust your project estimates properly. Let me know, if you have any other ideas through which you can better adjust your estimates in the project. Thanks. – Bhavin Gandhi

 
2 Comments

Posted by on January 23, 2012 in 21st Century, Leadership, Management

 

Tags: , , , , , , , , , , , , , , , ,

Become better at delegating (Part 1) – How to improve trust relationship with your employees?


OwnershipI used to be a perfectionist. I always used to think that….. if I do certain things by myself, then it would be much better than others. As I matured in my career and took on more responsibilities, it was becoming difficult. There was one time, when I found myself working over 12 hours a day, and still not be able to finish all the work I had. At that time, I was managing a team of 4-6 people, and still I was unable to delegate my work effectively. It was a complete mess and I thought to myself…….I need some help. Thus, I took few leadership classes and attended few seminars, and implemented few strategies to make my life easier. It had been few years now, and I am again on top of my game. Hence, I would like to share my experience with you through these series of blog posts. I hope it helps you to become better at delegation.

Start trusting your employees…….. I know it sounds silly when I say that. But this is the key part in delegating tasks/work. If you are a ‘Type A’ personality like me, then you would rather do everything by yourself.  And by doing so, you are not only overworking yourself but you are not allowing your employee’s to grow. You can implement following strategies to establish that trust relationship between you and your employees, before you can actually start delegating major tasks to them.

  • One-on-one lunch: Take them out for lunch and talk about their personal lives, their interests and personal establishments. If you take interest in their lives, they would definitely return the favor by helping you out in your work problems.
  • Meet for Golf: Try to find few hobbies which are common between you and your employees. It will help you to socialize with your employees more often, and it will put your employees in a state where they will feel comfortable in coming to you if there is any problem.
  • Provide training: If you don’t trust your employee’s technical abilities to do something, then provide them the needed training. But your task doesn’t end there. In order for you to be comfortable with their technical capabilities, you should develop a system where you can review their work/training on a bi-weekly or monthly basis. This mechanism will give you confidence on your employee’s technical capabilities, so that you can start delegating few challenging tasks to them.
  • Morning rounds: I don’t want you to micro manage your employees, but I want you to go to them every morning and ask…how they are doing. This will serve two purposes. It will convey a message to them that you are there, if they need you. And second……it will give you more face time with them, which will help you strengthen your working relationship.

I hope these tips will prove to be helpful in trusting your employees and becoming better at delegating tasks. If you know any other ways to become better at delegation, then please feel free to comment here. I am always looking for people’s feedback to improve my knowledge. Thanks. – Bhavin Gandhi

 
Leave a comment

Posted by on September 28, 2011 in 21st Century, Leadership, Management

 

Tags: , , , , , , , , ,

Practical solutions to reduce time barriers between your Virtual Teams


DifferentTimeZonesI have seen various virtual teams that fails to accomplish their mission due to lack of communication. Virtual teams have many challenges like culture differences, language barriers, lack of personal touch, etc. But the ‘time difference’ is one of the most important challenge that a virtual team faces. As a part of my existing job, I manage various individuals from 3 completely different locations. And I have faced similar situations while managing these individuals. Through my experience, I have developed few practical solutions to resolve these challenges, and I would like to share those tips through this blog.

Define rigid working hours: I am neither a micromanager nor I believe in monitoring my people. But sometimes it is very crucial for a team to follow a strict schedule. Asynchronous communication channels like SMS and e-mails will only resolve few issues. But if you are working in a fast paced environment like me (Agile or Scrum approach), then it becomes very difficult to communicate through these asynchronous channels of communications. This approach makes it possible for me to meet with each and every individual at least 2 times a week (through video conference). From past few months, my team in China comes early every 2 days during the week and my team in USA stays late for those 2 days. This arrangement makes it easier to work with these people and it also helped me to increase my team morale.

Establish rules for e-mail communications: In the past, I have been in various situations when I will get an e-mail from my China team at around midnight in my time zone, and I won’t have any opportunity to reply to them until the day after. Thus, if you are working in a virtual team then you should be establishing few rules for your e-mail communications. For example: Tell your remote team in China to notify you regarding any urgent issues/concerns before midnight your time. Obviously, they will not be able to identify all the issues every time before you go to sleep, they might encounter few problems after you go to sleep. In that case, make sure that you always task them with some kind of other work, which is independent from that particular task. This will give them something to work on, before you can actually resolve their problem. This approach had helped me tremendously to increase the productivity of my team.

Make information go public: In most of the cases, people depend on each other for the information. Most of the professionals will take an educated decision in a given situation, if they were provided with the appropriate information. I made most of my information public in such a way that my team can have access to that information all the time. For example: during every meeting, I take meeting notes and prepare a list of action items. I started putting that information to our SharePoint site. This helped my team to have a baseline information and having the right information in their possession. This approach has reduced long chain of e-mails to get the same information that they would have got otherwise.

I hope, these tips will help you to reduce various time and communication related challenges with your virtual teams. Please feel free to comment on my blog, if you have any other suggestions for improving efficiency of your virtual teams. Thanks. – Bhavin Gandhi

 

Tags: , , , , , , , , , , , , , , , , , ,

3 Simple Tips to Effectively Manage Customer Expectations in a Project


Unfortunately, I have been a part of numerous projects, where customers change their expectations in the middle of the project. I am sure that you must have been a part of similar situation during your career. I might not have a perfect solution for this problem. But in this blog, I will provide you with 3 simple tips that will help you minimize any change in your project due to changes in customer expectations.

Identify what your customers don’t need:

In my experience, I have always found a “NOT TO DO” list very helpful. The list of things you will not deliver sets boundaries for your project, and it provides a comprehensive basis for scoping discussions with your users and customers. To define a “NOT TO DO” list, you can ask various questions to your customers, such as: What is of the least value to you? What if we don’t deliver this component? What will be an acceptable project? Trust me, this approach will go a long way in defining the actual scope of your project.

Communicate ONLY realistic expectations:

During my career, I have been a part of numerous projects where expectations were unrealistic. Manager/Client will over promise to their customers/stakeholders to gain their business/trust, and they fail to realize that they will lose their credibility when they can’t stand up to their expectations. Thus, I would suggest you to carefully define the scope of your project. If you suspect any infeasible components in your project, then investigate those issues before promising anything to your customers. If your investigation shows that something expected by your customers is probably impossible, then communicate your findings with them. In this way, you will earn their trust and gain some credibility by involving them into decision making. After all, it is always better for projects to under promise and over deliver than to do the reverse.

Revisit requirements often:

Those days are gone, when we used to have rigid requirements for our projects, which hardly ever changed. Today’s Project Management is a whole new game. Though our project might not change, the external environment will change, which will in turn change the requirements of the project. Thus, I would recommend you to implement a continuous feedback loop in your project management lifecycle, and revisit your requirements often. You can use various mechanisms to do this, such as: ongoing project discussions with your customers; demonstration of prototypes, pilots, mock-ups, and intermediate deliverables; feedback from testing; and other periodic customer interaction.

I hope, these tips will help you to manage changes in your project due to change in customer expectations. Let me know, if you have any other suggestions regarding the same. Thanks. – Bhavin Gandhi

 
 

Tags: , , , , , , , ,