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.

So you’ve got a new employee. Now what?

You and your team worked really hard to find, interview and hire the right people to the company. Now comes the first day and bunch of newbies shows up. What do you do? What processes do you have in place to help your new team members? How big role does HR department plays, how big role your team and you? For a leader ability to successfully on-board and integrate new members is a key to long-term stability of the team.

Have a plan

Even before the new employee starts you need to have a plan. You should be clear on how the first month of his should look like. Specifically think about the first day, the first week and the rest of the first month. Write it down and share it with all people who will be involved in the on-boarding and also with the new employee so she knows what to expect.

Give it a priority

The first impression matters. It is important that you make the first day of the new employee as memorable (in a positive way) as possible. Make sure that all the systems and documents are ready. Make sure that people who will be involved in the on-boarding knows what their role is. Starting with receptionist, over HR, IT, the team and you provide your best. For this day there is nothing of higher priority than to start on the right foot.

Show that you care

You are the key. You, as a manager and as a leader need to show that you care. You need to spend time with the new employee the very first day. You should welcome her, give her the overview of the company, the team and her place in the company universe. You should also set expectations for the first month. You may also consider to assign a mentor, but if you do, don’t delegate the responsibility for the on-boarding completely. You are the manager and the leader and you need to be visible and you need to be there if you are needed.

Build excitement and share values

Do some marketing, sell the company. Even though the employee already joined he or she is still in the buyer mode. You should use the opportunity to talk about the future for the employee, the team, the office, the company. Talk about the vision, about values, talk about past successes, talk about the environment and the culture you are trying to create.

Provide feedback

From the very first day you should set the expectations that there will be feedback coming from you on regular basis and that you expect the same coming to you. Make sure that the new employee understands that she is free to ask questions, make observations and provide feedback on things she considers strange, unusual, nonsensical or simply new. Make enough time to provide regular feedback on daily basis for the first couple of weeks and have a more formal meeting once a month for the first couple of months to stay on course and set the new employee to succeed.

It’s not just about work

Socialize. You want to open up to the new employee to get feedback. You want to be able to provide motivating environment and tailor your management style to suit this particular employee and that means you must get to know him or her. Take your new employee for lunch, share laugh, try to know something about them that is not work related and share something about you. Show a human face so to speak to get more accessible and build a good trusting relationship fast.

Twitter type summary: “On-boarding of new employees is a critical task and one of the key responsibilities of every leader. Don’t pass it to others.”

How do you on-board your new team members? How much time do you spend on it yourself and how much do you delegate?

Everyone is a recruiter

What is the single most important thing you need if you are building a company? Well, you may say: a great idea, money to start with, customers would be nice. All these are definitely useful, but you won’t get anything done if you don’t have people to do it. The single most important thing you need to build a team are the actual people! People who share your vision, who are driven to achieve the goals and who have the technical skills to get the job done.

What does it mean for you as a leader? And what does it mean for your team? Everyone’s top priority when building an organization must be recruitment and growing people. You simply can’t outsource the most important thing to external recruiter or to HR department. They can help you, provide tools, in fact even source some good candidates but at the end of the day it is your responsibility and the responsibility of your team to identify the best (and by that I mean the right) people and get them on board.

When building my team over the last couple of years it was a mantra: first deal with any emergency the customers might have; then focus on recruitment; and only then do the rest of your job. It may sound a bit counter-intuitive but it is actually pretty logical. If you don’t find the time to recruit people and grow the team because you are overloaded by other tasks you will stay overloaded forever. At the other hand if you give the recruitment a priority you get the people who will do the work you are putting off and much more.

Everyone is a recruiter

In most countries and cultures the best source of candidates are referrals. These are people who are recommended by someone already on your team. You should encourage the team to help sourcing new candidates. There is no need for them starting act as professional recruiters (in fact they shouldn’t as it could confuse potential candidates), but they should let their network of contacts know that you are hiring and they should find the time to approach and talk to their former colleagues who are qualified.

Everyone is an interviewer

Every person on your team should get opportunity to be involved in the recruitment process. Obviously, you don’t want to push people who are not interested and thus wouldn’t do a good job, but you want to be open to anyone on the team who raises hand and wants to get involved. Why would you do that? There are several good reasons that offset the fact that while interviewing candidates they are not producing.

  • Scalability – the more people you are able to involve in the interview process the more candidates you can process without overtaxing yourself
  • Ownership – if the team participates in the interview process and their thoughts and recommendations are being taken seriously it promotes sense of ownership for growing the team, and will at the end help with acceptance of new team members once they join
  • Sales – involving people in the interview process has also the positive side effect on referrals as mentioned above as they learn how to present the company
  • Communication – people involved in the interview process learn how to communicate better, how to evaluate people, how to share their thoughts, how to provide feedback and how to come to agreement

Everyone is a leader

You want to give people responsibility for hiring their colleagues as it lets them improve their leadership skills. Most of the points mentioned above are really important for any leader. He needs to be able to communicate well; come to agreement with others; evaluate other people and provide feedback; make a decision; talk about the job, vision, company; have sense of ownership. It is also important that you provide feedback on the way how they run the interview, figure out a way to get some feedback from candidates and keep the team apprised about the process and who was at the end selected.

And what about you?

It is your responsibility as a leader to build your team and while lots of the work and recommendations can be done by others you want to get involved at some stage. If you have done your job in training your team well, then there is 99 percent probability that you will agree with their recommendation. It is not the point of you double checking their work. The reason why you want to talk to the candidate is different:

  • You want to be seen by the candidate as a leader
  • You want to be able to share your vision for the team
  • You want to show respect for the candidate and let him know that he is really important to you and to the company

And yes, scalability might be an issue here so you may share this responsibility with couple of other senior leaders in your organization.

Twitter type summary: “It’s not a single person. It takes everyone from the team to recruit, interview and build a great team that will hold together.”

Do you involve your team in recruitment interviews? What and the positive and possible negative aspects you see with this approach? How do you ensure that you hire the right people and how much do you rely on HR department?