Are you a manager or an HR professional working for a software development organization that is moving towards agile way of developing software? Have you considered what you need to do not only to change your processes but also to change the minds and hearts of people on your team? Last week I talked about The Agile Manifesto and how does it translate to people management Agile Manifesto For HR Professionals. This week I will dig a bit deeper into practical details using The Twelve Principles of Agile Software as a guiding force:
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software – for the purpose of people management you can translate “customer” into “employee”. So what are the needs your employees have that you should satisfy? It starts with fair salary and considerate treatment and leads to career opportunities and continuous development. When employee leaves your company she should be better than when she joined. More knowledgeable, with bigger value on the job market, and better equipped to deal with the world out there. This all means you need to lead by example, instill the right values and let (and encourage) people to grow. Consider what is written in Don’t Manage. Empower!, One Question You Should Never Ask and The Real Leadership Shows When You Are Not The Boss.
- Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage – always be ready to challenge your team to do better and/or new work. At the same time be ready to adjust your HR practices in a way the business needs. This means that you cannot have too many heavyweight processes that are difficult to change and you cannot have everything documented. Just document the minimum required by law (keep in mind different labor laws in different countries) and then use (and encourage others to use) a common sense in dealing with daily problems.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale – what is the most critical work you as a manager or HR professional need to deliver to your team? Feedback! To enable your team to grow you need to continuously deliver feedback. Don’t wait for big yearly performance review but offer small pieces in a timely manner. This is the way you will help your employees growing. For some tips on how to deliver feedback check Now, How May I Help You?, and you can check what to do when you have to deal with underperformers The Art Of Giving Second Chances.
- Business people and developers must work together daily throughout the project – don’t pretend you know all the answers. If you want to introduce new policies or to change a strategy just talk to your team. Working together will ensure that you are not making rush decisions and will help you to introduce changes. By involving others and getting their buy-in you make any transition much smoother. There are many ways how to work with the team in such a way that at the end of the conversation you have a clarity and common understating of why something needs to be done, what is the ultimate goal and how to get there. Try to use tips described in What Problem Are You Trying To Solve?
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done – you need to get the right people. You can always train skills but you cannot really teach attitude and motivation. These need to come from within and your job is to ensure the right people are joining the team. Once you have these people on board, give them a vision and tools they need and then just be there to listen, provide feedback and help removing obstacles. You can get some tips on how to hire great people in these articles Hire For Strengths, Not Lack Of Weaknesses, Getting The Perfect Hire, and Effort And Attitude Beats Talent And Knowledge.
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation – spent us much time with your team as possible. It is not that you want to micromanage, it is that you need to be around to help. Your role is to serve the team by providing means to create value and help dealing with problems. Regardless whether you are located in one location or have the team spread geographically your job is to over-communicate. You can check some tips and follow some of the practices described in Communication Shouldn’t Be Efficient and It Doesn’t Matter What You Say.
- Working software is the primary measure of progress – let’s translate this to people management speak as “working and motivated team is a primary measure of management/HR success”. The business goals will be delivered only by those who have a mission, understand the end goals, have the skills, are motivated and are able to work well together to reach these goals. If you are a manager who “manages processes” then you have no place in having any subordinates. The real managers and leaders don’t spend their time by managing processes but rather they spend majority of their time managing and helping the people they are responsible for. More on this in You Manage Things, You Lead People.
- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely – understand that even the most loyal and hardworking person will break eventually if not given chance to recuperate. You may ask your team to go above and beyond every now and then putting them under undue pressure every single day will just lead to their burn out, low morale and nonexistent productivity. Challenging the team to do a bit more than yesterday is fine since that is the way to grow but it needs to be done carefully and within reason. This goes to all aspects of managing teams. It is great to be flexible and change often but there is a threshold beyond which more changes and challenges are not sustainable and will just wear people down. Everyone needs time to recuperate by slowing down a bit and having some level of stability. You can find more thoughts on moving fast while maintaining your sanity in Want To Be Seen As A Leader? Be Fast!
- Continuous attention to technical excellence and good design enhances agility – leading by example and promoting the right values by refusing mediocrity is the key. Once you start tolerating or even worse doing a sloppy work others will see it and consider it acceptable. Mediocrity is the ultimate enemy of greatness. If you want your teams to be great you need to show them what great means (lead by example). You also need to constantly work with the team members and identify those who are not buying into the vision, who don’t want to collaborate with the team, who don’t have the skills or who decided to they don’t really want to contribute. Once identified you need to deal with them quickly. Help them up level their skills, help them to understand the goals, help them to connect with the right people or if these don’t work help them out of the company. Even one bad apple can spoil the rest and it is your role as a manager or HR professional to act swiftly. Consider some of the thoughts in Your Heart Is Not In It Anymore and How Can You Motivate Others? You Can’t!
- Simplicity–the art of maximizing the amount of work not done–is essential – as Albert Einstein said “Everything should be made as simple as possible, but not simpler”. When it comes to HR practices it teaches you to avoid micromanagement, to avoid unnecessary red tape and comprehensive regulations. Finding the minimum of things that should be documented to satisfy the law and the need of the organization is one of the most difficult tasks HR person can have. It is way too easy to succumb to the mindset “we should have a policy for this” every time a people problem comes up. Resist this and rather spend the effort of educating the teams on what fair treatment, open and honest communication, transparency, and collaboration actually means. If you spend all your time on writing and enforcing policies than you have no time to actually help others to learn, no time for providing feedback and helping to build the culture of getting things done. This is a very tricky proposition especially in distributed teams coming from various cultural backgrounds but everything is possible. You can check some tips in So You’ve Got A Remote Team. Tricky… part I., part II., and part III.
- The best architectures, requirements, and designs emerge from self-organizing teams – one of the most controversial (to some) and difficult aspects of the agile movement. Once you hire great people you need to let them do their job. Self-organizing teams are a way to prevent undue pressure from people who should have no say in what is being worked on. It doesn’t mean you need to introduce holacracy or similar concepts. It means you need to create a clarity around who is responsible for what and not mess with it every time a small issue comes up. To be able to let the teams run free and get the job done you need to have the right mix of people in the team. Building meshed organization where each cell contains all the skills necessary to get the work done is the key. Extensive reliance on collaboration across different departments who may have competing goals is not the way to go if you want to have highly agile environment. Some thoughts on how to build such a team are share in this article How To Build A Team And Not A Random Group Of People and How To Hire A Strong Software Development Team.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly – and we are back to feedback. One of the key services any manager or HR professional can provide to the organization is to provide or at least facilitate regular, frequent, and constructive feedback. This can mean helping to resolve any communication issues within the team, help people to grow or to help the team to act as a cohesive unit. For a healthy organization it is not only about feedback flowing from top to bottom but also about frequent feedback from the lower levels of the organization back to the top. Only by this you ensure that top management has good understanding of where the organization is and what to do to move it in the right direction. You can find some thoughts on dealing with communication issues and feedback in these articles How To Deal With Communication Issues, How To Deal With Broken Promises.
When you put it all together you will find that people management in agile environments is not about processes or a devote attention to a particular development and management ideology but rather about flexibility, trust, frequent feedback, transparency, and lots of communication between all the stakeholders.
Originally posted at LinkedIn.