The following is a working description of the six development principles.
1) Define and own the problem – All projects contain problems and issues. In fact, the very nature of development is to solve a problem, create a new solution, and make customers happy. Each of has a role in this. Time will be wasted when a problem is poorly defined and/or not owned.
2) Follow your work to your customer(s) – We get paid to deliver quality software to customers. That is the end goal. The journey to complete that includes many internal customers. Work with your customers to complete clean quality handoffs. In the event of problems, see principle one and three and make sure you, your team and your partners are working as a team to solve these issues. Acting on principle two will be hard when people, process and planning are weakly defined.
3) Practice continuous improvement – Without this principle, we will never be better than today and we will likely get worse. As a leader or team contributor, you need to build in time for this improvement. In many cases the cost of doing things at their current state will afford enough time in waste to pay for the improvement. Work with your teams to generate ideas, catalog them, prioritize them, estimate the cost, estimate the gain and then begin doing. Start small and just get in the practice of allowing yourself and your team to improve the game.
4) Provide professional growth – We depend on good people to make things work. Good people want to be valued and grow. We are not a factory that produces the same thing every day. We need people that are creative problem solvers that work well in teams and follow the general course of process. Practicing the other five principles will generally support this. For managers and leads, Items like strong performance reviews, walk arounds, and one on one time will help. Leaders also need to find out where people want to go and help them in their career. For individuals, be great at what you have been given and strive for more. Look at upcoming releases and planning to find items to own that will advance your learning and growth. Also look at teamwork to accomplish items bigger than can be done alone.
5) Build and practice teamwork – Strong teams are needed for development along with a good development process. A good idea of one person can become a great idea when combined with the thoughts of others. We need to build teams that promote good communication and healthy conflict. People will always have different views and opinions. Assuming that they are competent in their role, these differing ideas will provide the tension and competition that will produce better results.
6) Provide accountability – It is rare that I see people purposefully make a mistake or cause the team or business harm. Most people will try to do what is best. In the case they miss the mark, the team and the leaders of the team need to provide that accountability. Left uninformed, they will likely do it again. It is easy to say where we need to be. It is much harder to provide leadership and accountability to get us there. When done well, it will promote teamwork, professional growth and in the end deliver better results to our customers.
All of these principles work best when combined with a focus on people, process and planning. So if you find areas to improve, look at the people, process and planning that is in play. In most cases, you will find a weakness in an area and that will be the continuous improvement item.