As Agile has become a mainstream approach in software development, there are many books and discussions about its concepts and how to implement them. The book “Environment for Agile Teams” by Andy Brandt provides a different, and very interesting, perspective as it discusses the practical details of the everyday life of a Scrum team.
This short book will not give you the answer if it is better to scale Agile with SAFe or Less, but it discusses very practical topics about how to arrange offices for Agile team or how cooked meals and places for nap can improve the work-life quality. An important part of the book is also dedicated to the place of the managers in the life of a Scrum team. This part is based primarily on the author own experience as a manager who created teams from scratch a number of times as well as observations made as a consultant and coach in different companies. It discusses general things as organization culture, but also practical things like metrics or bonuses.
The content of this book can be applied to every software development team, even if it sis not Agile. I will recommend this book to every people involved in managing software development team as ScrumMasters, project managers or software development managers. It is a well written short book that will provides a fresh perspective on the daily management issues that you face.
Reference: Environment for Agile Teams – How to create an environment that supports agility, Andy Brandt, http://leanpub.com/environment_for_agile_teams
What I feel is largely missing, though, is a discussion of the environment Agile teams need to flourish and actually deliver the promised benefits: flexibility, productivity, quality, higher job satisfaction – and above all frequent releases of working software.
Because of this I think the concept of someone’s permanent cubicle or desk has no place in a truly Agile company. Too often in traditional organizations those turn into “office castles” – places where people hide to survive their day at work – environment they consider hostile. Instead, each employee should sit with the team he/she is a part of, in that team’s “war room” and move to another room when they change teams. In an Agile company team membership means being physically together with other team members on a daily basis in a designated space that team collectively owns. This has profound psychological consequences, especially over time.
Don’t include separate offices for managers in your office. A separate office, where the manager will sit alone most of the day will serve only the purpose of alienating him or her from the team(s). Instead of knowing what is happening he will focus on managing KPIs and metrics and end up completely disconnected from reality. Instead of being part of the overall team he will become an authority figure, his sudden presence among “the troops” will intimidate them.
Kitchens/coffee rooms are even more important than official meeting rooms. It has been known for ages that the real social life of companies happens there over coffee and communal meals (the proverbial “programmers’ pizza”). Consequently much of the communication between people occurs there.
People are not machines. Never ever think of (or refer to) people as resources. This is not only unethical, but also inaccurate. Humans are nonlinear, multidimensional beings. Especially so those performing creative knowledge work. It is not possible to objectively measure them with a metric nor truly motivate with a KPI, it is not possible to create a pipeline of them if you want great results – not just passable mediocrity. You have to embrace them for what they are – fellow humans.
Keep in mind though that you don’t want just any kind of balance – you want a healthy balance. If you notice someone working long hours, coming to the office on Saturdays (or – worse – also Sundays), consistently checking code in at weird hours etc. it may be a good idea to have a word with that person in private. It is a delicate topic and you can discover things that may be hard to deal with, but it is a good idea to express concern and ask what is going on since that person is clearly on a path to quick burn out and that doesn’t help the company in the long run.