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.