Oh it’s been a while since I’ve posted and so much has changed. I’ve recently taken on a new role with my existing employer to lead an organization that is focused on the full life-cycle of IT – IT projects and Application Support, plus corporate collaboration/knowledge management just for fun because I love it! It’s been 60 days in my new role, so it’s time to get back into writing….
In a recent team meeting, I introduced my new team of project managers, business analysts and quality assurance analysts to the practice of peer reviews. Their first question was “what is it” and then their fears of exposure came to light. Fair emotions as who likes to be judged? Like many teams, this team puts their heart into what they do. So yeah, who is going to enjoy the idea of being in front of their peers and judged for something they put their hearts into? Not me. As this was not my first time introducing this topic to a team, I was prepared. I believe it’s good to let the teams get this initial reaction out of their systems – then I move them towards the ultimate goal of peer reviews – learning.
Peer reviews are a great way to extend knowledge across your team members without the formality of training. Formal training is a must-have on many topics but there may be functions that you feel your team could come to alignment on without the expense of time or money related to training. I am also not a believer that every process should conform to a specific standard as sometimes creativity used to build deliverables can be a strength to the team. But how do you share these creative, superior deliverables with others on the team so they might learn or be inspired to try something similar on one of their future endeavors? And if you do have a situation where you do need 100% conformity to a standard, peer reviews can be a safer way to apply these policies than having an audit process (especially one done by a manager) defined.
Establishing a strong peer review process can be done with 3 guiding principles:
- No judging – by anyone
- Everyone plays
- Measure what counts
No Judging – By Anyone
Many groups in IT think about peer reviews and think of code reviews. This is a chance to make sure standards are applied and good design practices utilized. While this is definitely an option, you can also consider making peer reviews more about learning. My recommendation, if applicable for a team you are growing, you might want to consider asking the team to use the model for the presenter to gain insight from their peers about other areas of the business they might be more knowledgeable about than the presenter. The presenter can also look at the opportunity as a way to grow the business acumen of their peers and to share a technique they used that their peers may not have used before on a project. But in this model, there is no judging – no tracking the number of mistakes made by the presenter. No notes taken on the fixes made – unless the presenter wants to record them. An additional concern often raised is that the presenter feels exposed if their manager is in the room. Easy to solve – don’t be there. I have never sat in a peer review meeting for one of my teams. If not having me present eases the pressure on the presenter and perhaps reduces the desire of some of the audience to show off their knowledge, then it’s an easy thing for me to do for everyone. In reality, if I am managing this team, I have access to the deliverables and I can review them anytime. What is more important to me when growing a team is that the team feels supported by each other so they turn to each other in both the peer reviews but also through unstructured methods.
Participating in the peer review process should not become a burden for your team. I rarely make this a requirement before the finalization of a deliverable. Learning should be easy – not another hurdle for your team. But if learning is important, you need to know that it’s happening often enough for your team to be growing (both as a team and in their knowledge). So consider the frequency that peer reviews should occur, and how often you want to make it required for your team members. And depending on the size of your teams, it may not be feasible for everyone to participate in all reviews. This is a decision you have to make depending on the make-up and maturity of your team. I typically opt for optional engagement BUT each person has to participate in at least 1 peer review process per month, quarter, etc.
Measure What Counts
In my model, peer reviews are about building a sense of team, knowledge of methods that can be used in deliverables, and a start to alignment in some processes. If this is what counts, then this is what should be measured. Sense of team can be measured through how participation is occurring. I do ask teams to track who is participating in each meeting so I can look for trends. If your team members embrace this model, you’ll see that they are excited to join the meetings, and not avoiding them. You will have outliers but those might be addressed case-by-case to find out why they are not joining the discussion. Knowledge of methods can be explored in 1:1s by asking your team members as they produce deliverables if they are applying anything they have learned in a peer review session. This is a great way to introduce approach planning as well if you do not discuss this with your team members already (don’t just start a deliverable but what model/methods will you use as a first step). Finally, alignment which can be harder to measure. This may be something you have to analyze by reviewing several deliverables. You also have to wait for a period of time to let the peer review model work. You may also have to seek feedback from your team in regards to areas that are very out of alignment that they would like to work on. Once they have seen various approaches, they may be the first ones to speak up and mention that they feel a certain amount of alignment would benefit their audience. How great would this be versus having management require alignment? While I am not shy about requiring certain things, if I can let my team come to these concepts on their own without putting our audience/business at risk, this is method has a much higher and faster adoption rate than management telling them to do it. And in this case, since I am managing a set of PM/BA/QA team members, doing a role that I have done in the past, it may be seen as me forcing my way onto them, which is never popular. This way, they are finding their own way – as a team.
Peer reviews are nothing new though I have not seen them exercised across all areas of a business nor even all areas of IT. They are a great tool for building stronger teams, awareness to new methods, and better deliverables. If you take a very intentional approach to introducing this topic with your team, you are bound to get great results.
Does your team use any form of peer reviews? Are they known for being judgmental or do they facilitate positive experiences in learning and team building? Share your stories as I would love to hear about your experiences so we can all weave them into our next opportunities to introduce this topic!
As I was getting ready for work the other morning, I groaned when I thought about the fact that I had not gone to the gym in a few days. I thought to myself “I just don’t have time”. Then it dawned on me – I am doing this wrong.
It is not about not having the time, it’s about not making the activity a priority based on the time that I have available. I should be saying “I have not made time for the gym”.
Don’t we hear this around work all the time? “Sorry, I didn’t get that done – I didn’t have time”
How do we shift our thinking to priorities? How do we get people to think about how to spend their time differently? Why do people assume some activities are not required as part of their role when they perceive that they do not have time (self-prioritization)? Should each of us be prioritizing our efforts individually? Should our manager? Maybe our team? Most likely, a combination of these options – but all of these groups should be aware of the priorities.
Just by saying this phrase outloud “I have not made time for that this week” – I think we are causing people to think differently. We are taking accountability for how we spend our time – one of the only things we truly have control over.
If you have young children who play sports, you may have observed the phenomenon called Herd Ball. If you don’t – let me explain. This is when kids are playing baseball, football, soccer – team sports involving a ball. Where the ball goes, they go – as a herd.
Ever have one of those situations where there are “too many cooks in the kitchen”? In IT, this happens a lot from my experience. The lines we work in are blurry. Blurry lines are not a bad thing but it can be when you have a group of people trying to get a project done. Some people would say “hey, it’s a good thing – let 6 people all contribute on a task – just means they are “collaborating”.
Collaborating is a great thing when a team is stuck – trying to brainstorm ideas. Think of it another way –
You pay 6 people an hourly rate of $55 an hour.
They are trying to get through QA testing – everyone pitches in.
Each person writes their own scenarios & test cases. Each person has a 10 total scenarios with duplication of 5 scenarios across all 6 people. Each scenario takes 2 hours to execute.
You just wasted 2 hours * 5 people (1 person has to execute) * 5 scenarios * $55 per hour – $2,750.
Why are we okay with this? That’s 10 hours of work in total – what could you do with 10 hours? What could you do with an extra $2,750? What if this is occurring across multiple projects per year?
This is where organization needs to occur. Someone has to take point – act as the coach – officially or unofficially. Dividing up the work based on skills & risks. Maybe your tester is new and it’s a good thing to have more than one perspective on the test results. It’s still less costly to have 2 people duplicating effort as a method to reduce risk than 5 people.
A lack of organization or understanding of roles will lead to duplication of effort. A little planning upfront can save you money in the long run.
Your project is in the home run stretch. You have a few weeks before the deployment and testing is underway. Do you know what the odds are of deploying on time? One strong indicator is your test execution statistics. You are collecting them, right?
Testing is more than test cases and marking them as pass or fail. You need to have attributes about your test cases in order to have strong test execution management. Without this information, when crunch time hits and you need to revise your test plan to hit your date, you will be shooting from the gut and not working off facts. That can work out – but do you want to bet the bank on it? Or your career?
While building your test cases, here are a few things to consider.
1. Which requirements does this test case link to? And are they “Must have” or “Nice to have” This information will help you set priority on your test cases.
2. Negative testing – good – but at what probability? If you know that a situation “might” occur and you want to test for it – that’s a negative test case. Every project should have them. But if you know that the probability is low of this situation occurring, you can leave this test case for last instead of using valuable resources to get it done first.
3. Relationships – it’s not always about who you know…. How a test case relates to another is important. For instance, if you have a defect on test case #2 and it relates to test case #3 – shouldn’t you re-test both of them when the defect is resolved? YES – but without this mapping, will you neglect #3 and not realize that it’s now not working as expected.
4. Execution schedule – this was always my least favorite but necessary item. If you have 3 weeks to test and in week 1, you have only 15 out of 200 test cases completed – are you in good shape? What will you tell your management team? Do resources need to work the weekend or extra hours? Like any project, having milestones along the way will help. A goal to have x% of test cases done by the end of week 1 is a good start. Publish statistics to your team and ask them to help provide ways to keep the effort on schedule. Publish the statistics to your project manager to help as an input in determining the status of their project.
Testing – it’s not the glamorous part of a project. It’s the part at the end that has to be done and is usually challenged with a shortened timeline as the other phases ran over. Do not let your project status be subjective – capturing a few details along the way can make the difference in saying “Yes we can hit our date” or “I hope so….”.
What other attributes do you capture to help with test execution management?
I’ll admit it – I like the Waterfall software development life cycle (SDLC). Really – who wouldn’t? Everything all defined up front, designed, coded, and delivered in a tidy package – its the perfect scenario. But it’s not realistic. Waterfall can take a longer timeframe. How often can the business define what they want in month 1 and not have their needs change by month 8? And is a single delivery window the best option for your business? However, I have not heard of the perfect scenario accomplished using Iterative or Agile either – nor any other SDLC.
In reality, what makes a great project when it starts with a SDLC and is evaluated along the way by a Project Manager and team. The ability to evaluate the situation and determine the best points in the SDLC to take risk by introducing change and when to stay on the straight and narrow.
As I type this, I am chuckling as there are people that know me who are probably dropping their jaws about now. They know that I do like to drive a team towards staying on the defined SDLC path. If the risk of the defined path is low, the reward for change is low, and the results are being made with the defined path, I struggle with why to take “perceived” short-cuts. The downside to taking an alternative approach with your SDLC is that everyone has to understand the revised plan and potential risks to scope, schedule, and cost.
In the end, this evaluation is not unlike any evaluation a business has to make when considering a change. How disruptive could the change be to our people? Do we have the skills needed to support the change? What is our potential reward? What will it cost short-term? What will it cost long-term? Will we have re-work to do if this goes wrong? How soon can we evaluate if the change is effective? And many more….
Many IT organizations diligently follow their SDLC and I am sure they have found great ways to deliver quality projects. I think it is unrealistic to assume that every project and team can do this without having Project Managers ready to evaluate the scenario and work with the project team to adjust the plan as needed to improve the odds of success. As IT leaders, we should evaluate our Project Managers’ ability to do this evaluation and talk to them about how to evaluate when its appropriate to consider a shift, how to evaluate the risk & rewards
Not many people have spare time at work. Shocking, I know. But I was recently asked by someone who wants to move into management how to best spend their working hours. I was lucky to have some great mentors in the past, and based on their feedback, I have found a few tricks for monitoring how I spend my time.
Key to measuring/monitoring anything is to have facts for tracking. If you are serious about this, you will have to log how you are spending your time. I use my Outlook calendar for everything – as do many people – so it’s fairly easy for me to reflect.
For a manager, I recommend that you consider People, Processes, and Projects when splitting your time. All three of these areas of focus are critical to your team’s overall success so I split my time with 33% in each area. This can vary week by week if something comes up, but overall, an even third to each area tends to keep things balanced.
People – 13+ hours per week
As a manager of people, your job to help them maximize their contributions to the company both in the short-term and long-term. If you are not having weekly 1:1s, reconsider. This is some of the most valuable time you will spend all week! By helping them work through options for how to tackle assignments, coaching them on overcoming a difficult situation, or talking about training that will help their long-term development goals, it is time well spent.
Under the area of people, I would also include relationships that you should be fostering with others such as internal clients, vendors, or peers. Spending time talking to your clients about their needs on a regular basis will pay off in fewer surprises and their support when issues arise. Vendors may not require weekly attention but I try to rotate the time I spend with each vendor based on the role they play in our organization. Peers are critical. There are not many things our teams deliver without the help of others. Scheduling time with your peer managers to discuss overlapping functions (Business Analysts & Project Managers, App Dev & DBAs, etc).
Processes – 13+ hours per week
In this area, I include both the processes that my team uses to perform their work as well as the tools. This is not work that you need to do alone. You can schedule time to consider the short-term effectiveness based on feedback, or you can use the time to elicit feedback from your team. Either way, evaluating how your team is working is critical to maximizing their productivity but also can help improve relationships with others or improve team morale if they are frustrated with an existing process.
Projects – 13+ hours per week
This area may not come as a big shock. You should spend time addressing projects that your team is supporting but also considering the long-term pipeline of work. Developing a forecast and schedule can help keep things running smoothly on your team. It is also a great tool to use when your boss swings by and drops a bomb on you about that new thing they need your team to undertake.
By looking at your calendar for the past weeks, you should be able to evaluate how you are spending your time amongst these 3 activities. You may not realize where an imbalance exists – or this may confirm a hunch that you already had. Consider how you can adjust your activities to help spread your time across all areas that are important to you so when you leave at 5pm on Friday, you know that you’ve given all that you can to help your team deliver their next win!
When I first started working, I worked at a major corporation with an extensive training and development program. I was exposed to the idea of building my annual career development goals, selecting from a catalog of training, and discussing it regularly with my manager. While this was a great experience, I look back on it now and am thankful that I was re-organized to a manager who could not have cared less about development. I could have been spoiled quickly and it could have caused lasting damage to my career.
Who Do You Think Owns Your Career Development?
It is not your boss or current employer. Some surveys show that a person could change jobs as much as 7 times in their career. If that is the case, do you really want to put your fate in the hands of at least 7 bosses? And that doesn’t even count the number of organizational changes you face with an employer. Your employer’s perspective is to develop the skills that they need to maximize their investment in you as an employee. Their job is not to keep you marketable in your career. That is your goal – and no one else’s.
To keep yourself marketable, you have to invest time. This is a small price to pay compared to the alternative of being stuck in the same job or finding yourself disconnected from technology or skills that you need to find your next position. Here are some ideas of things you might want to consider when keeping your skills sharp.
1. It will cost you money. Not all employers are going to pay for training to help you remain marketable. You may have to invest in yourself from time to time. Whether it’s a book, online class, or a formal training course, you may need to spend some money. Consider this an investment in yourself which should pay off if you gain a skill set or extend the life on one that you already have. Plus, what a great thing to share on a resume. Wouldn’t a potential employer be impressed if you were to show the initiative to keep your skills at their best?
2. You have to be honest. Be your own hardest critic. Yes, you should be getting feedback on your performance from your manager. You may also be able to gain feedback from peers. But be honest with yourself – you probably have a good sense of when you have screwed up. Or when you look back on a task and think “I could have done that better – or different”. Take the time to jot down a note and during a quiet moment, reflect on it. If you are comfortable, share your thoughts with your employer, and talk to them about what you are thinking about and how you would like to handle it differently next time. Perhaps your honest reflection will get you additional feedback from their perspective.
3. Look Outside of the Box. You may be a major player at your office but would you rank as “top dog” somewhere else? Use your professional network to gain insight on how your role is handled at other companies. This is a great way to also gain input on companies that you would like to work at one day. Knowing the capabilities expected of people in your role at other companies or through professional associations, can give you a way to measure yourself against a broader group. This will help you strengthen your areas of weakness so you can strongly compete for your next position. This can also help you talk with your manager about a potential promotion or career path.
No one is going to guarantee you a job for life (if you find someone, let me know). We all owe it to ourselves to consider our long-term professional goals and invest in ourselves to be the strongest we can be in our field. The time spent can help you in your current position and provide value to your employer (Win). This could lead to great work, sense of accomplishment, promotions, great performance ratings, raises, and more. It may also help you position yourself for a great opportunity down the road in your career. Either way, it’s worth taking the time to do because the alternative of neglecting your own development is the painful regret you may feel 5 years from now when you do not have the skills needed to move onto a new job.