Saturday, June 26, 2010

What do you do concerning continous improvement?

No matter which Project Framework (traditional or agile) you use there are a number of things you should keep in mind concerning innovating, growing and improving your project practices. I think if you follow the suggested steps (e.g. SCRUM) of a Project Methodology rigidly in the beginning it helps. Over time though you should adopt and adjust them to the project and team to make them most efficient. Here some idea's that might help you in this continuous improvement quest
  • Make idea gathering part of your daily, weekly and monthly schedule. Include this in project meetings and include all stakeholders.
  • Know what is meaningful to all your stakeholders. To do this you should have regular contact with all stakeholders. This is kind of Project Management by wandering around. For international and/or distributed teams that could mean flying to visit your teams regularly, have regular, alternating conference calls with them etc. Note that this should not only be business related, get personal and open up so that you get a real relationship with the stakeholders. Once you understand what is meaningful you can work to implement these changes for the benefit of the stakeholders and the project.
  • Determine the most important values (e.g. improve quality, improve customer experience through better performance) of your Project Team? What can you do to improve further? Or should you focus on other areas? How do you ask for feedback? You need to determine what the organization said they will do in the past and what they actually did.
Some possible ways to do this are
  1. Use a Project Newsletter and ask for feedback
  2. Use a Questionnaire (e.g. http://www.surveymonkey.com/)
  3. Conduct a "Pre-Mortem" meeting to learn what could go wrong with your project.
  4. Introduce a "Suggestion Box"
  5. Setup a regular meeting to discuss continuous improvement. When you do this determine ahead of time how to keep this interesting and engaging
  6. Recognize submissions through Senior Management involvement
Once you have a reliable, steady process in place to gather improvement proposals and to decide how to accept and implement them don't forget to celebrate the people who submit the proposals. All stakeholders should know that their contributions are vital and significant for the projects success. Think about something special and don't hand out standard awards. Customize it to the people who receive them and they will participate much more willingly and effectively.

Friday, June 18, 2010

How do you start a new Software Development Project?

If it is time to start a new project (no matter what methodology is used) what are you looking for? Here are some things I pay attention to in addition to all the Project Planning processes.
First I try to understand the values of the team (for agile this includes the stakeholders, SCRUM Master, Product Owner and the team). You can use a short questionnaire to find this out. Note that http://www.surveymonkey.com/ has up to 10 questions for FREE. This should give you a possibility to find out what the important values are for this project. I find it very helpful to see what people stand for, what they believe in and what they are passionate about before we start the project.
Second think about how you want to be remembered in this project. You need to enlist others in order to get their full commitment and their passion going into the project. No one ever accomplished anything significant alone so your approach should never be "Here is what I plan to do", instead go for "Here is what we agreed we will do together". It is critical to have a plan on how you want to tap into the teams potential so think about it at the beginning.
Third look for ways how you can innovate, grow and improve current practices. The first question to ask here is "What is working well". Build on this instead of starting with the typical negative question "What is NOT working".  Also set some time aside for the team to look at what the competition is doing. What could the team do to Network with more people outside their company to further improve the product? Encourage people to talk by using focus groups, advisory boards, suggestion boxes, breakfast meetings, customer evaluation forms or maybe even a visit to their competitors. When you do that keep in mind that most big changes are done in little steps. An interesting question here is to ask the team what could go wrong before you start the project (kind of a pre-mortem).
Fourth foster collaboration and build trust. Think what you can do to ensure everyone truly feels they are a valued part of this project team. Ensure the team knows what they do, why they do it and who they do it for. The Project Leader is responsible to build trust and hence should be the first to be willing to trust others. This is risky and you might look weak, incompetent or clueless but the team will be more inclined to trust you. Example: Send a one page summary with your personal information to the team (include a picture, your birthday, short summary of places where you lived, how many kids you have, if any, what is important to you personally and business wise).
Fifth think about how you can encourage the team. How can you show them that you genuinely care? How about sending some handwritten birthday cards, thank you notes etc. You could also come up with a monthly Newsletter that contains not a status update but instead some Project Success Stories mixed in with some personal presentations similar to the one page summary that you had sent at the beginning of the project. A byproduct of this genuine caring is that the team is willing to go the extra mile, if needed. Don't fake this though, walk the talk! Keep in mind that according to Kouzes & Posner (Leadership Challenge) the 4 traits people value most in their leaders are honesty, forward looking capability, inspiration to others and competency.

Saturday, June 12, 2010

How do you foster Team collaboration?

What do you do in your projects to foster team collaboration? Do you actively try to influence this right from the start or do you let this go for some time? There are pros and cons for each approach. In this blog post I address the proactive approach. There are 3 steps that you might want to look at to foster team collaboration
1. Show Trust To Build Trust
    Sounds easier than it is. In order to build trust one party has to be willing to risk more than the other and 
    show some vulnerability. As a Project Leader the person that has to accept more risk is you. Here some
    examples of what that could mean (e.g. admit mistakes, acknowledge the need for personal
    improvement, ask for positive and negative feedback, show that you're willing to change your mind if
    somebody comes up with a better idea, share information, listen). Yes, there are a number of risks here  
    but to be perceived as trustworthy by your team they have to honestly believe that you have their best
    interest in mind. This will only happen if you honestly show them that you care. One example of one
    measure I used on a previous projects is that I was using a questionnaire before the project started to learn
    what the stakeholders thought about each other (requested feedback, positive and negative).
2. Say We, Ask Questions, Listen and Take Advice
    All great things are achieved by teams. When you talk about project objectives etc. it is important to talk
    about "our goals" (even in traditional projects) to appeal to the collaborative spirit. It is the responsibility of
    the project leader to get the team to agree on these values and goals. Watch if you use more "I" or more
    "we" language in your project and you know where you stand. Concerning Asking questions, Listen and
    taking advice: It is almost and art to ask the right question to the right person at the right time and then 
    listen to what that person tells you. Work on it because it is worth more than all the detail business and 
    technical knowledge you might have. As a Project Leader I expect you will chase after most subject
    matter experts most of the time anyway. Your job is not to give advice and win arguments but to pay
    attention to what others want and need. 
3. Get People Interacting
    On a Project people need to work together. As a project lead it is your task to get them to interact more
    often and better. Here some idea's on what you can do to support this
  • start certain meetings with 5-10 minutes of community building before you start the project discussion
  • Hold small birthday celebrations for your team members
  • for longer meetings: get some food and drinks 
  • take a certain, reasonable, amount of time, every day, to talk to some team members
     There are many more things you can and should do but the goal to facilitate relationships remains the
     same. Keep in mind that a stronger team will be able to come  up with better results. As the Project Lead
     it is your responsibility to get the team closer to that goal.

Saturday, June 5, 2010

Use of a Project Charter

In many projects that I was involved in, it was and still is, pretty common that senior management requests a project based on the requirements they see. Since most senior management leaders (e.g. Vice President and above) have more information and a much wider view than anyone else in a company this is a valid approach. The challenge with this approach is that nobody wants to challenge a senior leader with too many questions. To ensure that the project can be successful it is critical to ask clarifying questions at the beginning. Don't get into the Analysis/Paralysis stage where you try to clarify everything. You need to clarify the "big picture". The project charter is an ideal instrument to do just that.
Before you start your project management activities use at least the following questions. Please note that this applies to traditional as well as agile project management methodologies
  1. Provide a short summary of the intent and motivation for the project. What is the final deliverable or goal? Why does the organization want to do this project?
  2. Establish measurable criteria to judge whether the project has met it business objectives
  3. Who are your stakeholders? Make sure that you understand what constituts success for your different stakeholders ( --> you can add major benefits, win conditions and constraints to every stakeholder if you like)
  4. What are your assumptions, dependencies and constraints regarding this project?
  5. Do you know which milestones the stakeholders especially the project sponsor has in mind?
  6. What are the known risks for the project?
  7. Which resources will be available for the project? Will the project manager be able to select some team members etc.?
  8. Which approvals are needed for this project to be successful?
The objective is to keep this document as short as possible and to get approval from the key stakeholders that this document correctly reflects their expectations. Please note that this shouldn't take a huge amount of time. Since most senior leaders won't read the documents you send via email thoroughly I recommend scheduling a short meeting to confirm that the document is correct before you start with the next project steps. This is pretty basic but helpful and you should do this for EVERY project.