Another Example of Difference Between a Manager and a Leader

While reading about project management, I saw this diagram helping to illustrate the differences between management and leadership. While many people don’t understand the difference, as a person assigned the task of management you should understand the difference.

Leadership vs Management

In my earlier post of this subject, I laid out the logic that helps illustrate the difference.

A manager threatens punishment for poor behavior, and provides rewards for good behavior. A leader inspires people by telling them what can be accomplished, and helps guide them to a common goal, pushing those people to stretch their abilities so they can do great things to help the team reach that common goal. A leader lifts their followers by building on their abilities and guiding them toward the right direction.

Project Management: Cone of Uncertainty

project-management-2573125_960_720

If you are going to be any good at managing software projects, you have to learn more about what works, and what doesn’t, in project management. A research paper published by the Standish Group (available summarized here) indicates that in 2009, 44% of projects where delivered late, 24% failed, and only 32% of projects were delivered on time and within budget. The same report indicates in 1994, the average project schedule overrun was about 120% and the average cost overrun was about 100%. No doubt that to estimate a software project accurately is a challenge for all organizations.

An accurate estimate does not only help for a better budgeting, but also come with additional benefits. When referencing the book Software Estimation from Steve McConnell there are some obvious pointers you should focus on to improve your project accuracy:

  • Better planning  – A project plan is often setup based on the estimate. If the estimate is accurate and realistic, the project plan will be more useful for progress tracking.  Also you will have a more accurate view of resource availability.
  • Better task completion in terms of documentations, testings, training, etc – If the estimate is not accurate, resources and time will be used up on programming and these other tasks’ schedules will slip or even be omitted.
  • Better quality – More accurate estimate, better schedule, and less pressure to finish things within unrealistic time generate a higher quality

One thing you have to understand to provide better project management is the “Cone of Uncertainty”.

Introduction to the Cone

Early in a software project, specific details of the nature of the software to be built, details of specific requirements, details of the proposed solution, written project plan, personnel staffing including available resources, and other project variables are usually unclear. The variability in these factors contributes variability to project estimates — an accurate estimate of a variable phenomenon must include the variability in the phenomenon itself. As these sources of variabiility are further investigated and pinned down, the variability in the project diminishes, and so the variability in the project estimates can also diminish. This phenomenon is known as the “Cone of Uncertainty” which is illustrated in the following figure. As the figure suggests, significant narrowing of the Cone occur during the first 20-30% of the total calendar time for the project.

Figure 1: The Cone of Uncertainty

The horizontal axis contains common project milestones such as Initial Concept, Approved Product Definition, Requirements Complete, and so on. Because of its origins, this terminology sounds somewhat product oriented. “Product Definition” just refers to the agreed upon vision for the software, or “software concept,” and applies equally to web services, internal business systems, and most other kinds of software projects.

Continue reading “Project Management: Cone of Uncertainty”

Kanban vs. Scrum

 

If you are wondering if you should move from a traditional Waterfall development methodology to something new, but can’t pick between Kanban and Scrum, here is some information that might help you pick a new path.

Kanban

Kanban is a simple methodology that focuses on the tasks your team is currently performing. The tasks are displayed to all participants so you and your team can track the progress and easily see what tasks are currently active. A good practice is to organize your development process using a Kanban board to show the status of each task, from “to-do”, “in progress”, “testing”, “ready for release”, and finally “released”. This simple methodology gives the team more flexible planning options, a clear focus on specific tasks,  transparency on what is coming next, and a faster output by helping them focus on just a few tasks at any one time.

Continue reading “Kanban vs. Scrum”

Kanban vs. Scrum

If you are wondering if you should move from a traditional Waterfall development methodology to something new, but can’t pick between Kanban and Scrum, here is some information that might help.

Kanban

Kanban is a simple methodology that focuses on the tasks your team is currently performing. The tasks are displayed to all participants so you and your team can track the progress and easily see what tasks are currently active. A good practice is to organize your development process using a Kanban board to show the status of each task, from “to-do”, “in progress”, “testing”, “ready for release”, and finally “released”. This simple methodology gives the team more flexible planning options, a clear focus on specific tasks,  transparency on what is coming next, and a faster output by helping them focus on just a few tasks at any one time.

The team should concentrate only on the tasks which are currently emphasized by being marked as “in progress” . Once a task is done, the team moves on to the next item at the top of the backlog, marked as “to-do”. The product owner (traditionally a manager) is free to change, re-prioritize, and even re-organize the tasks in the backlog as any changes outside the current “in progress” list won’t seriously affect the project.

Team members are given the responsibility to focus on the active “in progress” tasks and are expected to work only on those tasks. The methodology works well for unexperienced personnel and even teams that have just started working together. It is flexible enough to allow teams to reassign tasks between team members or reshuffle tasks based on what each person feels like working on today.

It seems to work best when:

  • Focused on continuous delivery
  • Helps improve productivity
  • Personnel need help adapting to change
  • Shorter time between task assignment and expected results
  • New or inexperienced personnel need to be productive

Scrum

If you need a lightweight development framework to manage complex development efforts, you are probably looking for Scrum. This method is iterative and flexible strategy involves the whole team, working as a unit to significantly increase productivity. Scrum is a simple set of roles, responsibilities, and meetings. that helps helps the entire company cope with changes, provide better project estimates, and increase the quality of the solutions delivered. The work done by the development teams is performed in a series of fixed-length iterations called “sprints”.

A sprint is a period of time during which a specific work should be done and ready for preview. The duration of each sprint is fixed and agreed in advance, usually between one and four weeks. Each sprint starts with a planning meeting, and during the sprint the team must attend a short daily scrum meeting, usually at the same place and time every day.

Scrum has just three specific roles: Product Owner, Scrum Master and the Development Team. Since your scrum team is cross-functional, your development team will include include, developers, designers, testers, technical writers, and anyone else that will be involved in the sprint.

The Product Owner represents the process owner and will set the priority of the assigned tasks, sprint duration, and determine the tasks assigned to each sprint.

The Scrum Master keeps the development team working on the proper tasks and helps identify items that are slowing the team down or blocking expected results. If the Scrum Master sees something that needs attention, the Scrum Master and Product Owner meet to decide how they should resolve the problem to get the tasks done correctly and finish the sprint as planned. The development team is mostly self-organized and responsible for the completion of their assigned tasks.

It seems to work best when:

  • Experienced development team needs little or no supervision
  • Project is long and complex
  • Focused on continuous delivery
  • Business requirements are constantly changing
  • Continuous feedback to corporate management is required

 

Project Innovation

Project Management - SeniorDBA

The best way for a business to take market share is to innovate and create processes and products for their customers that their competitors just can’t offer. The best way to improve your project management ability is for your company to become innovative about how you manage projects.

Wikipedia says “Innovation is defined simply as a new idea, device, or method. However, innovation is often also viewed as the application of better solutions that meet new requirements, unarticulated needs, or existing market needs.”

Sometimes people don’t see project management as “innovative”, because it is usually a defined process that is very similar for each project. This mentality sees project management as a “cookie cutter” approach to handling each project the same way. This view of project management is often driven by an outdated view of project management as a rigid framework for strict control of a project, the management of assigned people, as well as all of the processes that are attached to project management.

Better Planning

Once you have decided what the desired outcome of the project should be, you have to plan how to take your limited resources and get the best possible product. Everyone will agree that planning is very important, and planning usually takes the most of the time of the assigned to your project.

When planning your project and attempting to be more innovative, it is important that you establish flexible goals and timelines that allow your team time to develop their ideas and incorporate those new ideas into your final product. If you don’t give the team enough time to try new methods or research new ideas, your product will lack any effort to innovate.

Flexible Implementation

Mistakes can be seen as failure, or an opportunity to try something else. If your company is going to innovate your project team has to be encouraged to try new things, and learn that failure is acceptable. If you have rigid deadlines and no flexibility in our milestones, you are killing the thinking sprit of your team, which kills true innovation.

Teach your team that failure will always be viewed as an opportunity to learn and grow. Your team should see their role as creative assets that find new solutions, not warm bodies assigned to do the same thing over and over like a factor worker.

Make sure you communicate with the entire team to let them know what is expected from each member, including management. Your team should be encouraged to share ideas and collaborate to create something truly better than anyone before.

Monitor Change

When you unleash innovation inside your company, amazing things can begin to happen. Total freedom can also breed confusion and lack of structure. Your team must maintain some perspective and understanding of the desired project outcome. Make sure the team is allowed freedom to innovate, but stick to your timelines, milestones, and desired project deliverables. 

Measure the teams success based on their ability to create results that benefit the project and the company. 

Proper Feedback

If your teams creates innovation and your project is a success, make sure management recognizes how your different approach to project management helped create the environment that made that innovation possible. You might not be successful the first time you strive for an innovative approach to project management, but you should look to improve our processes over time.

5 Tips for Dealing with Project Manager Stress

Project Management Stress - SeniorDBA

Most people know that the role of Project Manager is one of the most stressful jobs, because they are directly responsible for the success of a project and accountable for any delays. Some Project Manager actively cope with their high level of stress, but there are still someProject Managers who are ignoring the problem. Stress can impact you ability to perform at your best, and it can have a negative impact on your personal health and family life.

People might not able to alter the amount of stress a daily basis, but they can change how they deal with it.

  1. Prioritize – Determine what is truly important by creating a priority matrix and assigning every task an urgency and importance. Focus on the tasks that are urgent and important, and learn to let the little stuff go until your attention is required.
  2. Measured Reactions – Don’t react to events and allow your emotions to control your personality. If something bad happens, force your mental reaction to truly match the severity of the event. Not everything is a disaster, some events are just annoyances, and you should deal with them that way.
  3. Exercise – There are numerous studies that show exercise can help reduce your level of stress, and it has positive health benefits. Don’t look at exercise as as an option when you have time. You should schedule time to exercise just like any other project task.
  4. Stop Endless Debates – Discussing the pros and cons of an issue can be helpful it determining the best course of action or your project team. If you find yourself in an endless debate on what is best, surrender the battle and move on to the next problem. This will help lower your stress and conserve your energy to fight a different battle on another day. Know when to say when and stop fighting.
  5. Don’t “Over Think” Events – Don’t allow your mind to churn through all the “what ifs” or possible options, because that will just keep you stressing over events and worrying if you choose the best option. Focus on right now and them move on to the next issue so your mind doesn’t get stuck wondering about possible actions and building useless stress.

10 Ways Project Manager can Earn the Respect of Their Team

Project Manager - @SeniorDBA

As a project manager, you may not care if you are liked but you do care if you are respected. How do you earn the respect and trust of your team?

  1. Acknowledge Ignorance – If you don’t know the answer to a question asked by your team, don’t make up an answer.  Your team will respect you much more if you tell the truth and offer to find an answer than if you are caught lying about knowing something that later turns out to be untrue.
  2. Treat People as Adults – You team members my act childish at times, but you are not their parent. You are the project manager assigned to get business done. If you feel like someone needs some constructive feedback, treat them as you would want to be treated and show them respect.
  3. Don’t Stereotype – Don’t assume you know about someone based on prior experience or by grouping all people together as the same because of they have the same job, same skills, or same background. Nothing kills respect faster than you assuming everyone is the same and acting like you have someone figured out without getting to know the individual.
  4. Make Yourself Useful – People respect someone who adds value to the project. If all you are to the project team is someone who shows up asking for a status report, you don’t have any perceived value to the team. When meeting with the team, start by asking them about the work they are doing, what tasks they need more information about, or what you can do that will help them get their work done on time. Be someone they know they can call if they need help, someone who cares about their problems, and the person who can offer possible solutions.
  5. Allow Wasted Time – No person can work at 100% all day everyday and not burn out. If you expect your team to do that you should also expect to never hit your deadlines and have a high turnover rate. Don’t expect your team to work at 100%, except when it is absolutely required. Allow people time to think, research ideas, talk to the team about non-project items to build morale, and time to work on non-project related tasks.
  6. Solve Problems before the team is impacted – This is related to item #4, but don’t go to the team and tell them requirements have changed and we need to find a way to get the new work done on the old timeline. You, the project manager, need to have formulated a plan to get the new work done on an acceptable timeline and present the new plan to the team in a way they understand this is the best possible plan with the least impact to their tasks. They will respect you as a problem solver looking out for their best interests.
  7. Facilitate Communication – A a representative for the company and the customer’s problems, you need to bring ideas and facts to the conversation about how to handle problems or resolve team conflicts. Amplify the best solutions, bring everyone to the discussions, and embrace good alternate ideas. You shouldn’t care if you had an idea first, just who has the best idea. Give credit to the team member with the idea that solves a problem, even if you had to do most of the work to turn the idea into an actual solution.
  8. Embrace Success – If you only focus on the tasks that are late or the budget overages, the team will always have the sense that they can never be successful or will ever meet your tough expectations. Make sure you know what is going well and you communicate that success to your team and to your management. There will always be those times when things don’t go well and the team needs to do better, but don’t always focus on the bad news.
  9. Stick to Your Guns – You know what is right and what is wrong, and don’t do something wrong for the wrong reasons. Work with your team and always be looking for ways to help your team do more, but don’t allow someone to talk you into taking a shortcut that will eventually make you or the team look foolish. This includes illegal or unethical actions. The Project Manager is supposed to stand between the team and corporate management to protect the team from stupid ideas, just make sure you are fighting for the right reasons.
  10. Have Fun – Don’t forget that you need to have the ability to enjoy your job and have fun. If you are stressed and hating your job, the team will detect that unhappiness and start emulating your bad attitude. That can destroy the team and even make them not respect you.

Did I forget to put anything on the list? Let me know in the comments.

Best Practice Guidelines for Documentation

4a9aa-free2bbook2bclip2bart

Documentation can be one of the most difficult parts of a project. You might find it is difficult to get your team to spend the time required to get the documentation completed. Having an effective strategy to keep your documentation effort useful, efficient, and done on time will help you keep your project on time and focused on long-term results.

According to general best practices you should focus on:

  • Branding – Don’t be afraid to create a standard template so all your relevant documents have the same general appearance and sections. This should include a table of contents, page numbers, and corporate logos. This will also give the documents an “official” appearance which can help sell the idea that everyone should be reading and following procedures in the documents.
  • Schedule Time – Effective documentation doesn’t just happen, you have to schedule the time for the team to create the documents. Put the time on your calendar and force the team to spend the time required to write good documentation. There should also be periodic scheduled times on your calendar for allow you time to review existing documents and determine the required updates to keep the existing knowledge base useful.
  • Include Details – Write as detailed documentation as you think you will need, and summarize the data in a second version of the document if you need an executive summary. You need to determine the right level of documentation for your audience, but details are usually only available during the project and fade over time unless they are written down. Things that seem obvious today will be lost to time if they aren’t written down for future audiences.
  • Location, Location, Location – Good documentation will only be read if it can be found. Documentation is worthless if no one can find it when they need it, so make sure it can be easily located. Make sure the proper infrastructure is in place to help users access the documentation.
  • Knowledge Sharing – People generally don’t like writing documentation but find good documentation very useful. Make sure you put your documentation in a place where the people who need to read it can get to it without any issues. You might create different types of documentation (printed, electronic, Wiki, video, etc.) based on the target audience.
  • Up-to-Date – Keeping documentation current is one of the hardest thing for people to do well. Selling your team on the need to create the original version will be difficult enough, but asking them to review the documentation months or years later will be a hard sell, especially if the team already feels overworked with other projects. Using a version control will help you to manage the various versions of the documentation so you keep the latest version available and backed up.

Organize Your Day With Kanban

Kanban - @SeniorDBA

Unless you can complete the tasks on your To-Do list each day, To-Do lists may be outdated in your environment. A better solution might be a personal Kanban board. While this sounds complicated, it can be pretty easy to implement. Kanban (literally translated as “signboard” or “billboard” in Japanese) was developed in the 1940s by Taiichi Ohno at Toyota as a system to improve and maintain a high level of production.

Your personal kanban is a visual representation of work that you need to get done. You will need to create a bulletin board or whiteboard with 3 columns. You should label the first column “To-Do”, the second column “Doing”, and the last column “Done”. You then put each assigned task on a separate Post-it note, and put the new note under the “To-Do” column. The note should include a title, brief description, and maybe a due date.

As you start your day, you need to look at the “To-Do” column and move items to the “Doing” column as you actually begin work on that specific item. If you stop working on an item, it can stay in the “Doing” column or you can move it back to the “Pending” stack. At any time, you can glance at your kanban board and see what you are supposed to be working on right now, and those items still in your queue. You can also see your progress by seeing how many items are in the “Done” column.

For weekly or monthly reoccurring tasks, you can move the Post-it note from the “Done” to “Pending” column on Monday morning to restart the queue.

Rules

  1. Limit your “Doing” Column – You have a limit to how many active tasks you can work on at the same time. One of the points of the kanban is to show the pipeline of assigned tasks and visualize what you are actually working on so you can focus on specific tasks.
  2. Don’t Cheat – Don’t try to manipulate the kanban to make it look better. Be honest with yourself and wait for positive results based on actual success.
  3. Acknowledge Backlog – If a task is stuck in the “To-Do” column, you need to review why your aren’t able to start or complete the task. Maybe you are waiting on someone else to do something first? Maybe you have too many urgent requests to work on the non-urgent requests? You need to understand why you might have a large backlog and talk to your boss about ways to address the assigned workload.
  4. Adjust – If your have a more complicated environment, you may choose to add more columns or rows. More columns might allow you to track postponed or delayed items, items waiting for other people or groups, etc. The additional rows can be used to track tasks for multiple people or groups.

 

 

Creating a Collaborative Team Culture

team

Building a successful team is the greatest thing a manager can do in business. You can’t have innovation without collaboration. To have a team that collaborates you must have an environment that encourages open and honest communication, transparent leadership, and using the correct tools.

Use the Proper Tools

People fear and resist change. Don’t let fear of change in your team, department, or company disrupt progress and true innovation. Get the correct tools that allows everyone to work together and make sure everyone uses the tools, which means making sure everyone gets the proper training. You know what tools they need, and it is your job to get those tools and make them available to your entire team.

Communication is Essential

You need to encourage you team to talk amongst themselves, but also with other people. Don’t be so quick to judge them when you seem them talking in the break room while getting a cup of coffee, or joking around with their co-workers by the copier. This communication can build friendships and emotional bonds within the company that makes formal project communications easier and helps fortify trust with their co-workers.

Transparent Leadership

People distrust people who keep things secret from them, and that is just human nature. If you want people to trust you, then you have to bring them into the conversation and share as much information with them as possible. That doesn’t mean you can’t have secrets, it just means you have to trust them before they can trust you. Tell your team as much as you can, and if they ask you about something you can’t discuss with them you just have to be honest and tell them you can’t talk about that right now.

Coaching

Lead by example. Don’t ask your team to do anything you aren’t willing to do, and that includes collaborating. Be the example you people use when deciding how to collaborate. Listen to the concerns of your team and address those concerns with open and honest feedback.

How to Define Project Scope

Working with your project stakeholders to define and stay within your project scope can sometimes be the most uncomfortable and awkward experience of the project. As project manager, you will have to actually get a project completed while dealing with stakeholder assumptions. This process takes a lot of patience and knowing when to ask the correct questions during the requirements-gathering process.  

At some point in almost every project, a stakeholder will question if you are delivering what they originally asked for during the the original requirements-gathering phase. What you have to do is reduce how often that happens, and that means improving your process to deliver a solution that matches stakeholder expectations without project changes.

Ask the Correct Questions

By paying close attention during the stakeholder or client interviews, you will find it easier to understand what they are asking you to deliver, and you can also guide them to a better solution. This means asking the correct questions, and providing the correct information when they ask you questions. As a project manager you don’t just write down their requests without really understanding why they are asking for the features requested. By understanding, and not just documenting, you can easily assign importance to each feature and intelligently discuss the features if someone else wants to change the feature or eliminate the requested item because of budget constraints.

Things Change

Everything changes, and so will the requested features for your project. Business priorities change, customer interests change, technology changes, everything changes. Make sure your project sponsor and stakeholders understand you expect and can support changes, how they must request changes, and how you will manage change during the project. Make sure everyone understands the process to request a change, how a change will move through the approval process, and how everyone will be notified of requested and approved changes. You must accept that things change and never respond in a negative way if the change request is conducted in an approved manner.

Be Human

Communication is the most difficult and the most essential part of any project. The larger the project, the more difficult to communicate to the entire team. As project manager you must accept that all communication is essentially one person telling one or more other people what is happening, and that can’t always happen through printed reports and emails. Sometimes you just have to be human and talk face-to-face with another human to effectively communicate ideas and project status. You will need to understand the people involved in your project and conduct your communication using the technique and style that best meets their expectations. If you have a stakeholder that wants a daily face-to-face meeting, then expect that to be the standard status update method for that stakeholder.

Understanding Project Reports

One of the jobs of a Project Manager is reporting the status of a project to the various stakeholders. Once you get the hang of generating these four reports, you will be in a good position to accurately report the status of your projects.

1. Status Reports

Project Managers get requests for the status of their projects all the time. The Status Report is the most common project report and you’ll find yourself regularly working on them. The time period varies depending on the company expectations, project complexity, or communication requirements but the cycle is usually is daily, weekly, or monthly.

Since this report is the most common, you need to establish a template that covers the basic requirements so you can quickly update the contents on the required cycle. Some Project management tools allow for automating the reports, which can save you a lot of time on complex projects.

2. Risk Reports

The risk report includes a risk profile summary of the project. You should include the detail for the risks that have the greatest potential to create problems for your project. You should include a statement on the risks, summarizing how you are managing the risks, and prioritize the risks from greatest to lowest.

Most Risk Reports are generated monthly, and the report is normally the output that comes after a Monthly Risk Review meeting held with the project stakeholders.

3. Executive Reports

High-level reporting are tailored to the audience reading them. Executive Reports usually have less detail that the information on your Status Reports. Executives want to understand the status of your projects, they just don’t have the time to read about all the detail. Make sure you share just the information important to them, like issues needing their help, budget summary, key milestones, and overall timelines.

4. Resource Reports

The Resource Report will show the breakdown of which team members are allocated to which project tasks on specific days. This report can also be used to identify over allocation of resources, or resources that shouldn’t be assigned together for personality reasons, etc. Most software solutions offer integrated time tracking, which will save you effort in mapping resources and may even automate the reporting.

5. Budget Reports

Every project has a budget, and you should be prepared to provide a summary of the assigned budget and the amount spent to date. This will allow stakeholders to understand a summary of the spending and if you have been able to control spending.

Once you master these five main reports, you are well on your way to establishing the required minimum reporting for your projects.

Using SDLC with Legacy Programs

Communication

Most technology professionals will agree that security is an essential part of technology. Developers will frequently talk about security throughout the SDLC (software development lifecycle) process, adopting secure coding principles and performing testing to catch and fix bugs, as part of the overall development process. SDLC can be a powerful thing, and we can agree that more organizations need to adopt the mindset of a secure development environment.

So what is a large organization to do when looking at reviewing and modifying older legacy applications to meet the requirements for today’s SDLC? These older applications could have been written many years ago and the source code may not have been reviewed for many years. The people who wrote that original code may also no longer work for that organization, or the programming language used may no longer the actively supported.

Instead of trying to review and rewrite all that legacy software, the management effort should focus on:

  1. Prioritizing any organized review of legacy source code to focus on the areas with the highest risk.
  2. Improving the process for remediating vulnerabilities as they are reported.
  3. Running any new code, or any legacy code being modified, through your updated SDLC.

You can read more about an effective SDLC here.

Importance of Teamwork

We have heard about the importance of teamwork since grade school gym class. We all know that a team that works together is better than a group of people working towards their individual goals. As you look toward the impact of teamwork on businesses, the importance is usually measured in dollars. Numerous studies have been conducted to accurately measure the impact of teamwork on business profits, and the value of teamwork is well established.

More recently there have be studies as to what kinds of teams are most effective, and in this article by Denise Cummins PhD, we learn a little more about how important it is to have both males and females on an effective team. This is relevant because many technical teams are usually predominantly male. Teams that are diverse have been shown to outperform teams that are not diverse by a significant amount.

The research in this area seems to point to the following conclusions:

  • Teamwork improves output productivity and morale in work settings.
  • Gender-balanced teams routinely outperform men-only or women-only teams.
  • Both men and women devalue women’s contributions in teamwork projects.
  • Men’s careers benefit from collaborations with women because team successes are more likely to be attributed to men’s efforts, whether this is true or not.
  • In order for women to ensure that they receive fair credit for their work, women should work solo, collaborate only with other women, or ensure that their contributions are explicitly documented and acknowledged when working with men.

Properly Facilitate Project Meetings

Whenever you are starting an new project, it is best to get everyone involved in the project together to sort out the project requirements. You’ll want to meet everyone involved, making sure they know their part in the overall project, but to also make a good impression with them as well as any senior executives that may be present. Even if you already know all the people involved from past projects, you’ll want to maintain any good will you might have earned from previous work and improve your work relationships whenever possible.

With the correct guidance to your attendees, and some proper planning by you, the project meeting can be a success.

  1. Agenda – Every meeting should have a written agenda. Basically, an agenda is a list of topics you want to discuss during the scheduled meeting. If possible, you want to share the agenda as part of the meeting request. This gives everyone an opportunity to study the agenda, prepare their notes, and come to the meeting knowing what they should be prepared to discuss.
  2. Correct People – Too many cooks in the kitchen can make creating a great meal too difficult. The same can be said about meetings. Too many people in your project meetings can make it too difficult to to create a great solution. Make sure you invite only the essential people to your meeting. Having decision makers attend is a huge advantage, but sometimes you have to work with what you can get.
  3. Notes – Since it’s often impossible for you to drive the meeting and take notes at the same time, you have the option to electronically record the meeting. Sometimes a better choice is to appoint someone as official note taker, who can also take photos of any whiteboard diagrams. You also need to share these notes and images with the entire team as soon after each meeting as possible. Make it your promise to send out your meeting notes within one day of the meeting, while the information is still relevant to the team. If your company doesn’t have an internal solution for this effort, find an internet-based solution and use it from day one.
  4. Ground Rules – During that initial meeting, you need to discuss a set of criteria that all meeting participants agree to use. These rules usually include the frequency of meetings,  what is expected from each member, how to access meeting notes, what topics are allowed, etc. The group needs to discuss the options and everyone must agree to them. The group creates and agrees to the rules, you are just the enforcer of their rules.
  5. Feedback – Sometimes it can be difficult to know if everything is going well. One way to get honest feedback is to let people comment anonymously. Tell the team they can talk to you privately and you will not repeat their name, encourage them to drop anonymous notes at your desk, etc. We all prefer face to face open and honest feedback, but I’ll settle with any honest feedback if it means my project efforts will be more successful.
  6. Action – Review the meeting notes to see what actions were expected. Follow-up with the people who are responsible for those actions and verify the work is being done. Provide updates to those action items as part of the next meeting.

By understanding what it takes to facilitate and properly plan your meeting, you are more likely to gain the trust of the project team and execute your project successfully.

10 Steps to Planning a Project

Planning a project is something that people have to do get good at doing if they ever want to effectively manage projects. The secret to accurately scheduling a project, as well as projecting true project costs, it effective project planning. Use this quick guide the next time you’re looking to start a project to make sure you are thinking through all the recommended steps.

Communication

1.  Define the Scope

The first step is to question exactly what your team is being asked to complete. Once you have asked all the right questions, and you know exactly you are expected to deliver, it is time to write this down as the scope definition. This definition needs to articulate exactly what this project is expected to do, what it is not expected to do, why it is important to the business, and when it is expected to be complete. This step is important because if you have this part correct, everyone will be able to consult this document to verify if a step is or isn’t part of the project, why it might or might not be more important than other projects, and if the results of this project are worth the money being spent.

2.  Identify Your Project Sponsor

Your project must have a sponsor or at least one or more stakeholders that agree this project is important  and will help you work on the project until completion. Identify these people and get them to fund the project, influence the priority of the project, and help you keep the project moving forward when there are roadblocks.

A positive relationship with these people is important, so you will want to communicate with them on a regular basis. They need a weekly report about the positive things that have happened, but also any negative activities or delays. Their interest in the success of the project will help you get more done, as well as help remove any barriers.

3. Identify Available Resources

Now that you have identified the true scope of the overall project, and identified who is most interested in getting project done, you now need to identify who is actually going to help complete the steps required to complete the project on time on on budget. You need to specifically identify the types of skills needed, and work with the stakeholders to fill those requirements with internal or external resources.

4.  Understand the Timeline

Now you have a project scope, listed the people on your side to help you accomplish the project, and identified the people required to do the actual work. Now you need to understand the timeline required to complete the project. If is an almost irresistible impulse to determine the due date before you have competed these steps, but you must resists this urge and identify the timeline only after you know what is possible with the resources you have at your disposal.

As a simple example, lets say you are asked to build a website showing your company products and their current pricing. You decide this is fairly easy and define the project as taking two weeks. But once you define the scope, you realize the pricing changes almost every day, new items are added every week, and items can be deleted at any time. Next you identify that you need a web developer and a database developer to build the site, but your in-house database developer is unavailable for two weeks, and it will take at least a week to get a consultant identified and hired. How your two week project is more complicated that you originally thought, and you do’t have the resources you need when you need them. Sounds like your project will take longer than you originally promised and it might even be more expensive than your sponsor agreed to pay.

5.  List all the Steps

Next you need to start thinking about those activities and deliverables that are big and discrete enough to list one after another. Send some time then breaking down the big steps into smaller steps. Keep breaking dow the tasks until they are small enough for one or two people to complete in a week or two.

6.  Create your Baseline Project Plan

Now that you have the draft tasks list, you want to discuss the draft with your team. Review it with them, allowing them to offer feedback, alter the timeline and expectations, and let them know your thought process used to plan this project. They will recognize areas that you may have missed, are technically impossible, or may conflict with some other initiative that is already in progress. Once you have everyones feedback, weigh each suggestion against your experience and discretion, then develop version 1.0 of the project plan and kick-off the project.

7.  Refine the Plan Based on Reality

As progress is made on completing the tasks on the project plan, reflect and refine the plan based upon the reality of what is actually happening. Are things going well or has the team run into problems? Make adjustments to the plan and communicate the changes to the entire team, including the stakeholders and any sponsors.

8.  Monitor Progress

Progress is something that is constantly monitored on a daily basis.  You must know if issues are being addressed and resolved in a timely manner. Always communicate the truth to your team and the stakeholders. They must trust you and they will only do that if you always give them the truth. If the project is doing poorly, communicate that to the team and offer advice on how to resolve the issues, offer to adjust the schedule, investigate additional resources, or identify who can help remove the roadblocks.

9.  Document Everything

Make sure you keep up with any changes by writing down everything. Create and update your documentation to reflect reality, and this is something that must be done at least once a week. One of the worse things that can happen if for someone on your team to be working from the wrong version of a specification document or project schedule.

10.  Keep Everyone Up to Date

You must to include mechanisms in your project plan that will keep everyone updated. You do not want people wondering what is going on, or questioning your teams ability to get their work done on time. You should have a scheduled weekly communication that provides the overall status of the project, even if it is basically an “everything is perfect” message that is emailed out to the entire team. If people have to guess about what is happening on the project, they will usually guess wrong and them you have to work even harder to make sure everyone gets the corrected information.

 

Effective Communication Habits for Project Management

Communication is important to everything in your life, including your business interactions. Being effective in your communication also means your are more effective in managing your projects. The majority of time spent by a project managers is spent communicating to their project team. Effective communication is directly linked to project success, which also means that ineffective communication is directly linked to project failure.

What can you do to encourage better team communication?

  1. Clear Communication – As  a member of a project team, you have to accept that clear communication is the key ingredient for your project to be successful. That includes being transparent and open about all your communication with the team, and those people who need updates on the status of your projects..
  2. Training – Don’t be afraid to ask for training to improve the communication of your team. That might mean formal classes on public speaking or ways to improve your written communication. This might also include systems for communication like document templates, posters, printed checklists, etc. and making sure everyone knows how to use those new documents. Don’t hesitate to ask for help when it comes to improving team communication.
  3. Communication Framework – Establish a framework that states who will communicate to whom for each and every update on specific events as your project moves from task to task and from milestone to milestone. Establishing the “who, what, when, where, how” in the beginning can help reduce confusion later. This will also help reduce confusion when potentially confusing messages are transmitted by separate members for your team.
  4. Honesty – Encourage honest and open communication by never punishing the messenger. When things go wrong, you want to know as soon as possible, and you want your project team comfortable in coming to you to alert you of an issue without hesitation or worry about an adverse reaction or threat of repercussions.
  5. Listen – Ask your team questions and listen to what they say and how they say it, because listening is the best way to hear about concerns an risks to your project. You team needs to believe you are listening to them when they are voicing their concerns and that you understand their issues and want to help them improve their processes.

Building a Project Team

Communication

When you are assigned a project to manage, there are specific things you need to do to immediately make your project more successful. Project management has been going on for many years and there are specific things that have been found effective to move your project forward.

  1. Assign Project Sponsor
    The project sponsor is normally a senior-level manager that will be the project’s champion, helping you move the project tasks forward, helping get budgets and timelines approved, and are there to help you make sure the project is successful.
  2. Identify Team Members
    Since you can’t do all the work yourself, you have to identify and acquire the people that will be assigned to your project and have the expertise to help you get your project completed.
  3. Locate Stakeholders
    There are probably other people that can benefit by your project being successful, and identifying those people is important to generating support for your project. Make a list and identify ways to get them involved in your project, from suppling resources to just generating positive energy.
  4. Identify Suppliers
    There may be items you will get to acquire in order to make your project successful, from office supplies to technology resources. You should identify other experts, consultants, suppliers, or third parties that can help your team do a better job.
  5. Document Roles and Responsibilities
    Document your team membership and everyone’s role in your project, making sure you identify areas of responsibility and expertise so you are clear about the skills personnel you have available on your team. When you share that with the team members, ask them if you have identified their skills correctly, filling in any gaps and eliminating any misunderstandings before they are a risk to the project timeline and goals.
  6. Create Communications Plan
    Make sure you have talked to the people involved in your project and they know what is expected from them and what you will provide to them, including the schedule for this exchange of information. A simple communications plan could be just an agreement to meet once a week to update the stakeholders on the progress of the team.
  7. Schedule Team Meetings
    Begin a schedule series of meetings with a written agenda and explain why it is important to everyone involved. Explain each persons role and what tasks each person is expected to perform, including why you are managing the project. Make sure everyone knows the project tasks and timelines, how they impact that timeline, and who to reach out to if they have any questions or concerns.

If you perform these steps at the start of any project, you will substantially improve your chances of success.

Understanding Project Management

Communication

Project managers are agents of change that attempt to use their organizational skills and expertise to inspire a team of people to the shared purpose of completing a formal project. To be a successful project manager will require you to be comfortable with change and someone who can deal with complex concepts. Project managers must also have the people skills to develop trust between your project team members while also communicating complex ideas to all the project’s stakeholders.

The following are 6 services you can provide as a project manager to make a huge difference to your team:

1. Reduce Interruptions

There is nothing more frustrating than being interrupted while you are trying to do a difficult and complex task.Team members on your project appreciate ability to do their work uninterrupted. It is often your best resources who suffer the most interruptions. As a Project Manager any interruptions you can prevent will be seen as adding value to their day.

You want to be the person who filters questions and requests for information. Minimizing interruptions also means limiting the amount of meetings that your team members are invited to attend.

2. Clarify Effort

A lot of time is wasted trying to understand what solution will be used to solve which technical issues. If you can clarify the best solution of each problem, limiting discussion and uncertainty, you will make  everyone’s life easier and save valuable time. Creating a clear path and reducing confusion will make everyone happier and more productive.

A good project manager will make sure there is a clear path to follow, that there are very few open issues or risks that will slow things down.

3. Communicate

Being clear, concise, and honest in outward communications is just as important as taking queues on how to communicate with others. While everyone is born ready to communicate, not everyone communicates the same way. I good project manager will recognize that and adjust their communication style to make the communication between your team members streamlined and effective.

4. Stay Organized

Not everyone is good at being organized, so they bring in a project manager to manage and organize the project. You just have to look at the way some people organize their desk to see that some people are really bad at project documentation. Books and papers stacked everywhere, post-it notes all over the place, etc. As a project manager your team benefits from all the organizational skills you bring to the table.

5. Accept Limits

You have to realize that you don’t know everything, and it is acceptable to ask for help. You are working with some really skilled people to complete a complex and detailed project. It is fine if you say you don’t know something and you will need to ask questions. People want the right information, not just fast answers.

6. Prioritize

You will be required to guide your team members by showing them how to prioritize daily tasks versus project tasks. If questions come up about what tasks a person should be working on, you will need to work with them and their supervisor to make sure you quickly resolve any confusion and limit indecision. Make sure everyone knows they can come to you for a quick and reasonable decision that gets them out of trouble with coworkers and supervisors while also keeping the project moving forward.

Project Management Questions

There are specific questions you should begin asking yourself to help make your project a successful endeavor. These basic questions will help you collect the information needed to manage the project and keep it headed in the correct direction.

1. What Needs to Be Accomplished?

What are you being asked to do? What is the project directives? This will help you understand the size of the project , which will help you start crashing the resources required, how much time it will take, what expertise you need to locate, etc.

2. What Needs to be Done?

Once you understand the scope of the project, you can start listing the items that need to be completed.

3. Who Needs to Participate?

Once you understand the scope and have an itemized list of tasks that must be preformed, you can start locating all the key players. There are people that are involved in the planning process and people that are involved in the doing process. As a project manager you need to locate and manage all the people involved in your project.

4. What are the Constraints?

What items must not be there or must be there? Time is usually a constant, as well as cost. You need to understand the constraints so that you can inform your team and complete the project within your allowed time.

5. What is Success?

After you and your team have expended many hours of effort, energy, and resources necessary to complete your project, how will you know when you have been successful? Define from the start of your project the definition of success, so all project decisions will constantly move you towards success.

6. What are your Assumptions?

The project manager is responsible for uncovering any assumptions and responding to the reality of each situation. Be careful with any assumptions.

7. What is the Project Schedule?

Even if the end date has already been decided, you should look at the project scope and resources available and constantly adjust your timeline (and projected completion date) to meet the status of the tasks that must be accomplished.

8. What are the Risks?

What could happen that might delay or stop the project? As the project manager, you have to be aware of the risks to your project, and create a plan on how you will deal with these risks if they occur. One example might be the risk of an employee quitting. What would you do if your only database administrator quit in the middle of your database design tasks? You need to think about that risk, and if it is a significant risk (maybe the employee is actively searching for a new position) then you need to be prepared to deal with that issue.

While these questions seem obvious to anyone who has been managing projects for any significant time, but if you are new to project management these questions should help provide you a starting point to begin your efforts to learn more about the process.

Project Manager’s Guide to Project Planning

Communication

Everyone knows that being a Project Manager can be a tough job, but also a necessary role, that can bring extraordinary value to your company. There are constant demands on your time, schedules to keep on track, resources to monitor, etc. A recent study said that more than 60% of project failures are linked to internal issues such as insufficient resources or missed deadlines. These are the reasons you assign a Project Manager in the first place.

With new project managers added all the time, with an estimated 16 million new project management positions scheduled to be added by 2020, the industry needs as many tips as possible to help make your projects successfull.

1. Create Clear Goals

Start by understanding the big picture that your project is trying to accomplish. For everyone involved as stakeholder, try to understand what the goal is and how to prevent these items:

• Scope Creep – Don’t allow the project to take on tasks and goals outside of the original goals
• Over Budget – Stay on your approved budget by focusing on what is important
• Extra Requirements – Prevent anyone from adding unapproved new requirements and tasks
• Poor Quality – Don’t allow stakeholders to squeeze you or your team so that poor quality is an option
• Late Tasks – Don’t get behind schedule and feel that items can be delivered late
• Missing Resources – Securing your resources in advance will reduce issues later in the project

2. Communicate Expectations

People all have to be working together as a team to make your project a successful project. You must clearly communicate your expectations as the project manager (and expect other members of your team to communicate their own expectations) as part of starting any project. These expectations should include:

• Scope Statement
• List of Deliverables and Due Dates
• Roles and Responsibilities
• Communication Plan and Schedule
• Who and How to ask questions

3. Understand Risks

Even if you have planned everything and you have stacks of written documentation, your project will face unexpected events. Business requirements change, people quit, budgets change, etc. What a good project manager to does it plan for the unexpected. You probably can’t predict everything that will happen, but you can expect the unexpected and create a plan for what you might do for the most likely items that may occur.

Identify the most likely risks, and summarize what you would do to address those issues, in a written risk management plan. In the event of something bad happening, you flip open the risk plan and execute the steps. You won’t always have a plan for every risk, but it really reduces the stress and team member panic if you at least have a written plan to help identify the proper steps.

4. Minimize Meetings

The usefulness of meeting has been studies several times, and these studies never say you should have more meetings. About one third of all meetings are not useful. While meetings are a necessary part of successful project planning, you must consider whether a meeting is a best use of your team’s time. Usually a well-crafted email can more useful than a meeting. You need to understand that the more time spent your team is in meeting the less time they spend on actual project deliverables. Don’t schedule a meeting unless it is absolutely required, with a clear and written agenda.

5. Kickoff Meeting

The initial project kickoff meeting is the most important meeting of the entire project. When planning your keickoff meeting be sure to do these items:

• Invite the correct people
• Quickly determine of the meeting attendees must be present or if they can be online
• Create a detailed written agenda
• Determine if this can be an online meeting or if it needs to be held in person
• Reschedule if the key players can’t attend
• Know what information people should have learned from the meeting, before the meeting starts

6. Project Reporting

As project manager, you should be collecting data throughout the project. This includes who is working on which task, percentage done, due dates, tasks completed, etc. The only way management will know if your project is on track is to run and distribute consistent reports. This can often be accomplished through your project management software, but you might have your own custom reporting formats that help your management team understand the progress of your project.

If your project is running well and on time, make sure that is easy to see on the reports. If your project is having problems, that should also be easy to see on the reports. Honesty and trust are two distinguishing qualities you don’t want to compromise.

7. Project Tools

You have to decide what tools you need to do an effective job and then use those tools in a consistent way. You would not trust the skills of a carpenter that insists on using a bent piece of rusty sewer pipe as a hammer, and you shouldn’t expect to be trusted as a project manager without using the proper tools of your trade. While not all project management tools on the market are created equal, you need to decide what works for you and get to know those tools really well. Your selected tools need to allow for the following:

• Identify Project Tasks and Resources
• Organize Tasks into Timelines
• Reporting to Communicate Progress
• Customization to fit your Team

You will also need something that is learnable, easy to use, and updatable. This means you have selected a product that has some learning resources available like books or online content. It should be intuitive and easy to use, so the simplest features are the easiest to use without extensive training. The product should also be actively supported and updated. You don’t want to use a product that is abandoned by the builder and hasn’t seen any updates in 10 years.

 

Avoiding Project Scope Creep

If you are managing a software project, one of the most difficult things you are asked to do is manage the timeline of the project so it is finished on time. This task is often made more difficult by people who make requests that would normally impact the project timeline, but they require you to change the project requirements without changing the timeline. As a nice person, you try to allow as many changes as possible, but you have to remember who gets blamed if the project is late.

What are 5 simple ways to keep control of your project?

1. Requirements Documentation

You must document the project requirements to prevent scope creep. Interview the project stakeholders and the users to determine what they want from the project, as specifically as possible. Write everything and prioritize the requirements. Even if you can’t complete them all, document the requests and indicate why the are included or not in the project. It can take a long time to record everything the stakeholders request, but once you have captured all the requirements in a document you can share share that document so everyone can easily see read and understand what is (or isn’t) included in the project.

2. Change Control Process

So you have the requirements documented and published. As with anything in life, things change and the business may change how they want the project to proceed. You need a process for allowing stakeholders to make changes. It is unrealistic to believe that nothing will change. What a formal change process will allow is a controlled and managed process for people to request changes to your project.

A change control process is very straightforward. It starts with someone suggesting a change, it is then reviewed and approved or rejected. If it is approved it is incorporated into the project plan. Creating this process for your project means identifying  who is going to review and approve proposed changes, who will communicate the process to the stakeholders, etc. There isn’t usually a need for a formal change meeting unless you have a large number of proposed changes.

3. Create a Project Schedule

Use your requirements to create a detailed task list, and it should show all the requirements and how they will be achieved, in the form of tasks and activities. You should cross-reference your schedule against your current requirements document to verify you have not forgotten anything. Even after you have outlined the schedule, make sure you have planned for contingencies by knowing that things will always change and that means if you haven’t planned for change your timeline will be negatively impacted.

4. Stakeholder Scope Review

Never make assumptions with the company’s budget. You should always verify that the project you have documented contains all the correct requirements before you start spending development resources. What you think the project sponsor intended might not be what he or she meant, and you will know for sure if you are headed in the correct direction until they have read the requirements. Take the time to go back to your sponsor and share the written requirements documentation with them. You should also share with them your written project schedule and verify that all the elements they expected to see are represented in the task list.

Once the sponsor approves the project, schedule some time with each stakeholder and talk them through exactly what the project is going to deliver for them or their team. Show them the written plan and give them the chance to make comments. It is better for them to start listing changes now than weeks or months from now. This will be a good time to discuss the change control process, making sure they understand they can always request changes, what process they will be required to use, and what impact a change could have on the overall project.

Even if the stakeholder is too busy to review the documentation, make sure they understand what stage of the process you have finished and what happens next.

5. Project Team Engagement

After everything ha been documented and the stakeholders have approved the project, you still need a motivated team to make the project successful.Make sure you explain to the team what you have gone through to get them the documented project. Make sure hey know the change review process, and are comfortable with the assigned timeline.

Sometimes members of you project team will attempt to be helpful and will agree to minor changes without applying the formal process. You must explain to them that all changes must go through the formal change review process before they change can be approved.

DevOps Tips From Gene Kim

Gene Kim, co-author of The Phoenix Project, and founder of Tripwire recently told attendees at New Relic roadshows about why DevOps is finding success in large enterprises, and explained the importance of the ops part of DevOps. He also shared his own experiences on how to successfully implement DevOps in most types of organizations.

Tip #1: Deploy smaller changes more frequently

Practicing fast, easy, multiple deploys “frees us from learned behaviors that deploys are complex and painful. Our common experience shows us that the larger the change we promote into production, the larger the crater it makes when it lands.”

Tip #2: Fearlessly enable testing in production

The conventional wisdom about testing in production is “that’s what devs do to ops because they hate us.” But Gene says it’s actually a game changer.

Tip #3: Build a one-step environment-creation process

  • Make environments available early in the development process.
  • Make sure dev builds the code and environment at the same time.
  • Create a common dev, QA, and production environment-creation process.

Tip #4: Synchronize the schedules of dev and ops

Gene says it’s important to schedule updates in the middle of the day, when both groups are working.

Tip #5: Change the way sprints work

“If I had a magic wand,” Gene says, “I’d change the agile sprints and definition of ‘done.’ At the end of each sprint, we must have working and shippable code, demonstrated in an environment that resembles production.”

Tip #6: Version control is more important for ops than dev

“Ops using version control is more important to performance than devs using version control,” Gene says.

Tip #7: Allocate 20% of cycles to technical debt reduction

If you don’t pay your 20% debt-reduction tax, you’ll end up spending 100% to fix the accumulated issues. While management at time-stressed companies may balk at what they see as overhead, you don’t just need a product, you need a product that works and doesn’t crash all the time.

You can read the details in this article from Fredric Paul at NewRelic.

7 Tips for Managing Technical Teams

Communication

If you are going to manage a team of technical people, you have to keep them happy. The problem is these people come to work with a variety of different motivations and because of their prior experiences they all see and interpret situations slightly differently. But that is fine if you understand how to keep everyone working together, but keeping the environment exciting and interesting. Here are 7 tips for managing issues with your technical project team.

1. Encourage Collaboration

All Teams work better when they have the tools they need to get their work done as effectively as possible. For most teams that means collaboration tools so that they can work together to complete assigned tasks and solve difficult problems. You have to make it easy for them to collaborate by giving them the access to the project management software they need for scheduling, task management, and for handling all the other day-to-day issues that come up on technical projects.

Make ample time for meetings, even if they are held remotely over online conferencing or just instant messaging. Trusting your team will build trust and encourage strong relationships as a team.

2. Control Conflict

There are lots of different sources of conflict, inside and outside or your team. Everything from not filling forms, not following through on assigned tasks, and even personality clashes can cause conflict on projects that can slow progress. You have to manage the conflict situation and resolve them quickly so that the team can move past the problem and get on with getting the job done. If you notice conflict brewing, get the individuals involved and talk to them before it becomes too much of a problem.

3. Accept Differences

Even if your team is all based in the same office you will have differences in personality and approach to management. Age, background, language, and even culture can all contribute to teamwork difficulty, especially if the team feels that they have nothing in common.Embrace the differences in the team and encourage others to do the same. You may also have to help the team look for similarities as a way to bring different team members together while respecting their differences.

4. Respect Expertise

Some teams see issues arise when subject matter experts feel that they are not being taken seriously or their expertise is not being valued. If you do have to reject their recommendations or go against their professional opinion, make sure to tell them why as this will help them feel that their views have been heard.

5. Set Clear Objectives

One of the major reasons for problems on teams is that the individuals don’t know what they are trying to achieve. Clear objectives can help this. Everyone should have a vision of the overall project objectives and the big picture as well as personal objectives that show how they can contribute to achieving this. If people know what they are supposed to do this can be a big help and having clear goals draws the team together with a common objective.

6. Define Roles And Responsibilities

Make sure that the team members all have clearly defined roles and responsibilities. This will stop people from stepping on other team member roles while just trying to get the job done. You don’t want to find that two people have completed the same task because they thought it was their job. Set out roles and responsibilities at the beginning of the project. You may need to change these as the project progresses, but make sure that everyone knows who is responsible for which task so that nothing falls through the cracks. The more transparency there is about who does what, the easier it will be for everyone.

7. Be Clear About Limits

Be clear if different team members have different authority levels. Who will have the final say about whether a change is completed or not? Talk to your sponsor at the beginning of the project and set authority limits for this process. He or she may be happy for you to approve small changes within certain parameters, and anything over that has to go to them for approval, or to a wider change board with the authority to sign off changes.

It’s natural that there will be minor issues on your team, but these 7 points will hopefully help you resolve some of the problems before they become really difficult to handle. Conflict is normal and can help your team work together even more effectively, so don’t assume any problem with the team means your team is collapsing.

Thermocline of Truth

Communication

The truth of what is going on with software projects can be difficult to determine at times. What developers know might be different than what the Project Manager knows, and that may be different than what the process owners know. It can be difficult for the truth to percolate up from the developer-level to the corporate management/leadership level. As we all know, it can be difficult for managers to deliver bad news so sometimes bad news is not shared with the people who need to know.

In this article by Bruce F. Webster, he does a really good job of explaining how this happens and why this can destroy a project.

A thermocline is a distinct temperature barrier between a surface layer of warmer water and the colder, deeper water underneath. It can exist in both lakes and oceans. A thermocline can prevent dissolved oxygen from getting to the lower layer and vital nutrients from getting to the upper layer.

In many large or even medium-sized IT projects, there exists a thermocline of truth, a line drawn across the organizational chart that represents a barrier to accurate information regarding the project’s progress. Those below this level tend to know how well the project is actually going; those above it tend to have a more optimistic (if unrealistic) view.

Successful large-scale IT projects require active efforts to pierce the thermocline, to break it up, and to keep it from reforming. That, in turn, requires the honesty and courage at the lower levels of the project not just to tell the truth as to where things really stand, but to get up on the table and wave your arms until someone pays attention. It also requires the upper reaches of management to reward honesty, particularly when it involves bad news. That may sound obvious, but trust me — in many, many organizations that have IT departments, honesty is neither desired nor rewarded.

I know that first hand. I can think of one project — being developed by one firm (the one that retained me) for another company (the customer) — where I was in on a consulting basis as a chief architect. In the final planning meeting before submitting the bid to the customer, the project manager set forth an incredibly aggressive and unachievable schedule to be given to the customer. I objected forcefully in the meeting — after all, we didn’t even have an architecture yet, much less a design, yet the project manager already had a fixed completion date — and later that afternoon, I wrote up a memo listing thirteen (13) major risks I saw to the project. While some of the engineers on the project cheered the memo, management told me in so many words to shut up and architect.

However, less that two months later, I wrote a new memo — based on the old one — and pointed out that 12 of the 13 risks I had pointed out had actually come to pass. Shortly after that, the project manager had to go back to the customer with a new delivery schedule that was twice as long as the original one. A month or two after that, my role as an architect came to an end. I had a final lunch with the two head honchos in upper management, and to their credit, they asked for my final assessment. I told them that many of the bumps and potholes were just part of the software development process — but that they should never have given that blatantly unrealistic schedule to the customer. As I told them, “When you do something like that, in the end you look either dishonest or incompetent or both. And there’s no upside to that.”

You should read the entire article, as it is very interesting.