12 Principles Of Agile For HR Professionals

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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?
  5. 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.
  6. 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.
  7. 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.
  8. 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!
  9. 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!
  10. 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.
  11. 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.
  12. 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.

For more read my blog about management, leadership, communication, coaching, software development and career TheGeekyLeader or follow me on Twitter: @GeekyLeader

Agile Manifesto For HR Professionals

Anyone living and breathing software development heard about agile way of working, agile processes, and the key believes of the agile community Manifesto for Agile Software Development. It is just a couple of sentences that 17 likeminded software professionals signed in 2001 and that had a huge impact on the way modern software is being developed. In short, agile software development is a way of thinking that puts big emphasis on close collaboration between a developer and a customer, face to face interaction, frequent releases of software features that brings business value, small teams, and easy to understandable and maintainable codebase as opposed to long written specification, contracts, huge teams with many different specialists and occasional release of software.

When you start developing software using these key principles you are also starting to wonder how to apply the same when building teams and what culture you need to create so people truly embrace the agile way of working. If you are an HR professional who is being asked the organization to be more “agile” you need to understand what it even means.

Let me give you my perspective at these key principles and how they translate to people management and to HR professionals out there:

1. Individuals and interactions over processes and tools

This one doesn’t need a translation. It is a core of what leads to agile way of working and critical to have the right mindset. Software development is an art (with a bit of science) and it requires rather creative individuals who are able to come up with ways how to solve business problems using technology. When you need creativity you need to give people the freedom to think “out of the box” (to use a cliché) and not to be unnecessarily inhibited by processes and clumsy tools. It is all about individual people and being able to easily interact with each other. It is about them being able to explore their own potential rather than acting like robots blindly follow an outdated processes.

If you are an HR person you should never try to create an HR policy for everything. Let’s keep couple of regulations (only as required by law) and for the rest let’s just talk to people, lead by example and use a common sense.

2. Working software over comprehensive documentation

In the realm of people management you could translate this into a statement like “Culture of trust over Culture of regulations”. The original statement is talking about the need to build software that brings business value and ideally do it in a way that the end user (or other developers working on the project) can use the output without the need of extensive documentation.

When it comes to people management this means a culture of accountability, transparency, clarity and trust. You don’t need tons of rules and regulations. These would go against your ability to build creative teams. What you need is to communicate clearly what the goals are, what the potential roadblocks and constrains might be, who is responsible for making things happen and ensure continuous flow of information so everyone is constantly aligned and understands what’s going on. If you have these then it is relatively easy to build a culture of trust that will go hand in hand with the creativity we talked about in the first point.

For HR professionals the key will be to provide help in the areas of organizational development (how do we align our organization to the needs of our customers) and in information management (how do we ensure that our employees understand why are we here and how to get things done in our company).

3. Customer collaboration over contract negotiation

Purely from position of people management I would rephrase it this way “People development over People management”. It sort of extends the previous point. The original meaning of this point is based on the assumption that things are changing and no one really knows what they want. Instead of trying to compile a comprehensive list of features and set every single detail of how the software should work and how the outcome should look like in the contract the agile teams work on daily basis with customers and essentially build the software together by short iterations and frequent feedback loops.

In the people management world this means rather than trying to manage the teams (you could even say micromanage) it is better to give the team the ability to do what needs to be done. How? By getting the right people on board, providing them the tools needed, and ensure they have the skills and competences.

This means investing in growing your team. In line with the agile world you should focus less on theoretical knowledge and certifications and put much bigger emphasis on skills that bring immediate business value. It is nice to have a knowledge of how something works but if you cannot take that knowledge and apply it to a particular business problem it is meaningless.

You should also consider how focus on people development aligns with any performance management processes you might have in place and how you award good performance. Your focus shouldn’t be punishing past mistakes but rather coaching the team to understand what to do better the next time. In fact, most of the agile processes are very strong on so called retrospectives that ensure frequent feedback followed by immediate corrective actions. Mistakes are allowed as long as you learn from them and ensure they don’t repeat again.

4. Responding to change over following a plan

Another one that is widely applicable without any change. Flexibility is the king. It is great to have a multiple year long career plans for every single person in the organization and talk about how to get from junior developer, through intermediate to senior developer, then to manager and a director, but realistically that gives you and the team member very little room to maneuver. Isn’t it much better to talk about competencies and skills rather than about titles? The discussion should be about how your team keeps their skills up to date, how they become better and better at what they do (“It is not just about getting things done but getting things done while learning something new”), how do they embrace the changing needs of the business (“I really love writing backend code in visual basic” versus “I love building products using whatever technology makes sense”).

You need to work with the teams to be ready to reorganize every now and then to align with the business needs, you and the teams need to be ready to go above and beyond their job description. Just imagine going to your team and having a conversation along the lines of “I know you are a developer who writes code, but maybe you would write build better product if you also tested it, if you supported customers who have troubles using the product, or if you sit on a sales call with prospects. These things may give you very different perspective on your work, shift your priorities, and give you additional ideas how to build better products”.

Put it all together and you’ve got a clear understanding of what does it mean to move to agile software development and to agile organization. It is not just about starting to use a new process. It is about changing your organization, culture and mindset of people. If you want to be truly successful it is not just about software developers but about every single department and person in the company. Only then you can truly harness the power behind the agile movement.


What are your thoughts on agile movement? Do you work for organization that fully adopted agile as a lifestyle? What are the things you struggled with?

Originally posted at LinkedIn.