Your goal as a software tester is to catch bugs early on before it costs your team thousands in development costs. Read this article to learn about the top 10 software testing bugs you should know and be testing for.
May 01, 2019
Top 10 Project Risks & What To Do
Risk isn’t inherently bad. There is risk to everything we do in any given day. We’ve just calculated and adjusted for the downside so many times we don’t consider it anymore. Taking a risk versus being at risk are two different things.
Risk is a situation involving exposure to danger. In our line of work, danger involves completely botching a job and losing our clients money. These are the 10 factors putting your project’s success at risk of failing.
Top 10 Project Risks & What To Do
Table Of Contents | The Bug Squasher
- 1 Top 10 Project Risks & What To Do
- 1.1 1. Your Team Feels Unimportant
- 1.2 2. You’re Not Doing The Job You’re Paid To Do
- 1.3 3. You Made Promises You Just Can’t Keep
- 1.4 4. There Are Too Many Cooks In The Kitchen
- 1.5 5. You’re Avoiding Your Clients
- 1.6 6. You Need A Bug Tracking Tool
- 1.7 7. You’re Sabotaging Your Own Progress
- 1.8 8. Your Team Is Confused About Ambiguous Roles & Requirements
- 1.9 9. You’re Expecting Too Much… Again?!
- 1.10 10. Your Planning Skills Are Off The Charts… On The Downside
- 1.11 FINAL THOUGHTS
1. Your Team Feels Unimportant
Everyone who works for you is human, at the time of this writing. A major risk to your project’s overall success is the very human sentiment of disinterest. It’s selfish, but it’s true that we all want to know “what’s in it for us?” This doesn’t necessarily mean financially. We’ve all had jobs or moments in life where we were pushed by the sheer momentum of something deep inside. Whatever it was, maybe sports or a volunteer role, we were pushed by an internal motivation to contribute and succeed.
Conversely, you may have had a job that was so disengaging, that no amount of money was enough to keep your heart in it day after day.
It’s important to keep your team in the game. If you value your team, let them know. If someone is an integral part of your overall success and you couldn’t do it without them, find a way to tell them this that’s honest and sincere. Communicate how important each members’ involvement is to the team’s mission. Make sure they understand how vital their skills are to the group.
Knowing I am not replaceable makes me that much more eager to work hard and to invest my own time in getting better at what I do. Keep that spark alive in your team.
2. You’re Not Doing The Job You’re Paid To Do
Take a note from Mike Ehrmantraut (Breaking Bad, Better Call Saul) and just do the job you are being paid to do. In working with clients, you have the luxury of defining your own requirements! You get to say, “I will provide X on this date.” Not many professions allow for that flexibility. Problems arise when you deviate from that list. Problems arise when you get overzealous and make unrealistic promises.
Knowing your/your team’s abilities makes it simple to scope out projects honestly, but you have to be willing to lose business sometimes. Know ahead of time what you’re getting yourself into, and do it.
Convey clearly to the client exactly what is going to be done. This is the project. This is what will be included. This is what we’re responsible for delivering, and this is what you’re responsible for. Put it in writing and get approval. Nothing should ever be unclear because the rules of the game are agreed upon before any work begins.
If you find that it’s too late and you’re already in over your head on a project then you need to get some space. Stop and take a step back. Reach out to the client and do the legwork initially required to put everyone’s expectations in line. Clarifying early on is better than poorly delivering on a wild guess.
3. You Made Promises You Just Can’t Keep
Estimates are just that – estimates. Make it clear to those you’re working for that your estimates are approximations. How do you do this while still displaying confidence in your expertise? Use time and cost ranges. Knowing that the project exists on a sliding scale pulls the client out of a fixed price mindset and leaves room for contingency.
Next, stick to your estimate. Don’t underprice everything just to land the contract knowing you’re going to go over. Under promising and over delivering will always go over well with your clients. Asking for more money for the same end result they initially thought they were getting, will only make you look ill prepared and untrustworthy.
Lastly, a lot of time and money is eaten up by the client himself. Leave room in the estimate for client notes, changes, and brainstorming sessions. Keep copious records of the time spent on a project and notify the client if their additional changes are going to push the project over budget.
4. There Are Too Many Cooks In The Kitchen
Notes, changes, and too many cooks in the kitchen fits in with our last point. Developing an accurate and comprehensive plan before work begins is essential to working effectively with your clients. Don’t leave room for too many unknowns. You know the client will have notes, so leave time to address those notes. However, don’t get sucked into long email chains of groups of top-level decision makers all speculating on different variations of the end product.
Entertain ideas only to the extent that it fits within your original agreement. Inform your client of your “change management process” and how the new changes will affect the project.
There will never be an end to the amount of changes that could be made. There are infinite variations on any given project. If the client wants to entertain all of the variations, that’s fine. Just make sure to rescope the project, estimate a new budget range, and agree on a new set of expectations.
5. You’re Avoiding Your Clients
It is easy to blame the client for blowing up a project – he’s being unreasonable, he had unrealistic expectations, he keeps changing his mind – but what have you done to set those expectations? What have you done to make sure the client feels included? When someone hands you there money, they need assurance and reassurance that they are going to get what they ordered.
There is a natural rhythm of expectation we fall into when we buy something. Every one of us has an idea of how long we think it should take for something to be cooked, delivered, made, whatever and when that expectation isn’t met, we lose it! Or at least, we become very concerned. Conversely, if you hire an expert to perform a job for you and they say, “This will take 2 weeks. In 2 days you will get X, in 7 days you get Y, and in 14 days we deliver the finished product.” You’re not going to demand a finished product on day 4. Why? Because they’ve set the timeline for you and as long as they stick to this timeline, then everything is going as planned.
Thus, when a client is acting “unreasonable” take a breath and identify where the disconnect is. Usually, it comes down to your insufficient communication and your failure to accurately set their expectations.
What if things are actually are going wrong? Well, then the client has all of the cause in the world to be disappointed. When things are going wrong, communication becomes your only recourse for damage control. Identify problems early and keep the client informed of how this can negatively affect the project timeline and what you’re doing to solve it.
People are reasonable when they don’t feel cheated. If you disappear with someone’s money, then they will feel cheated. Get ahead of it, stay in communication and don’t hide from them hoping it all works out or that they haven’t noticed you didn’t deliver on time… they noticed. Get in there, take your licks, and show them how you’re making it right. Then make it right and over deliver.
6. You Need A Bug Tracking Tool
If you don’t have all of the resources required to start the job, then don’t start the job. Say for instance, your client needs to provide you with access to his website, send you the professional pictures his best friend’s daughter shot, and put you in contact with his copywriter. Don’t start the clock on the project’s timeline until you get all of this information.
Communicate this clearly to the client and let her know you will begin work once you have the necessary resources. This is where checklists are your friend. Literally, provide them with a bulleted checklist of what they need to provide and how to get it to you. This isn’t condescending, it’s for clarity’s sake.
This requires foresight, planning and having the right tools ie website bug tracking software. You need to know going into the project that you’re going to need these elements. So take the time to mentally step through each aspect of the job, and scope it thoroughly. Get these elements upfront because waiting on the client will only act against you and steal from your timetable.
In the event that circumstances change mid-project, you need to take action.
Unforeseen events happen and necessary resources, people, and access are ripped from your grasps. This is where effective client communication comes in to renegotiate the time and scope of the project. Who knows, they might have a simple solution to your the problem. Yes a client is paying you to do all of the heavy lifting and get the job done. This doesn’t necessarily mean they do not want to be a part of it.
Often times, clients like to give their ideas and to be heard. Again, present them with your solution, renegotiate the timeline and requirements of the project, and listen to any ideas they may have to offer.
7. You’re Sabotaging Your Own Progress
Excessive involvement by you or a client will work against your timetable. Don’t require approval on every step of the way. Provide the necessary deliverables at the appropriate milestones, but limit the frequency of these checkpoints and notes sessions.
Too often low-level decision making gets in the way of the bigger picture. Missing a period here and there shouldn’t prevent you from designing and delivering the website.
Secondly, don’t hamstring your team by turning yourself into a bottleneck. Train and hire effectively so your workers can perform with a high degree of autonomy. If you have an influx of work that can’t be started until you say so, then you are limited by the number of items you can review in a given day.
Create a level of autonomous operation with set points of oversight wherein you can provide guidance. Look for all of the areas in which excessive red tape and approvals are unnecessary bottlenecks to the productivity of your projects.
For the milestones and checkpoints that can’t be avoided, anticipate these timesinks and build account for it in the project schedule as not to negatively impact your overall timeline.
8. Your Team Is Confused About Ambiguous Roles & Requirements
Group work was always my least favorite in grade school. I hated working in groups because I knew I’d end up being the one to do the entire project. Later, it got to the point where I would announce that I’d just do all of the work and everyone can just hang out and receive a free “A” on the project. This worked at the time.
I never understood why teachers would require us to work together, “when you’re a grown-up you’ll have to be able to work with others.” While this is true, as a grown up, everyone has their own specialty within the group. It’s not a democracy, you know what your job is, and they know what their job is. It works… until it doesn’t
As a project manager, it is important to employ the right people to do the right job. This is usually made pretty obvious when hiring. However, it is possible for someone to overstep their role or underperform due to ambiguity and inadvertently hinder the progress of the whole team. As a team leader, it is important to ensure that everyone is clear on their responsibilities and where they fit into the overall puzzle. Clearly communicate to each teammate their duties and how they fit into the rest of the project.
9. You’re Expecting Too Much… Again?!
We spoke briefly on communicating and setting expectations with the client. This is vital to your project’s success. Tempering your client’s expectations and being clear about exactly how close you can bring them to their goals will help you perform better. Just because your client wants tens of thousands of new email subscribers on their mailing list by the end of the month, it doesn’t mean you’re going to be able to get them there. Do the work to know what you can achieve for them and set their expectations.
The other side of this equation is that your expectations are sabotaging you. When it comes to scheduling or assessing your team members’ skill levels, you just might be setting yourself up to fail.
A familiar story goes like this: A prospective client promises loads of work and needs someone to start now! You jump at the bit to land a new project so you over promise everything, short timetables, too-good-to-be-true returns, and you under budget for the work. You’ve effectively shot yourself in the foot while pushing a tank uphill.
You successfully set your client’s expectations, but unrealistically. Now your only plan on delivering on your promise is to lean on your team to pull favors, over-work for little to nothing, and deliver in a time that’s not possible. So they cut corners to meet your expectations. This is disastrous. And if you do happen to deliver on what you promised, you now have a client who will expect this forever. You have become an indentured servant – making just enough to continue working to make just enough.
10. Your Planning Skills Are Off The Charts… On The Downside
The prevailing sentiment within the points of this list is the factor that puts your project the most at risk of catastrophic failure is your poor planning skills. As you work with your team you begin to learn what they’re capable of and what they do best. It becomes second nature to put them in the right roles, and to assign tasks that fit them rather than trying to fit them into the wrong tasks and responsibilities.
What you will discover is that each project, no matter how different it might be, follows the same process. You will find yourself moving through the same checkpoints and hitting the same issues with clients. So, how do you get better? Record and track.
Create templates, documents, and checklists to help you navigate and collect all of the necessary information to communicate responsibilities clearly before breaking ground. Challenges fought in Project One should not be unsolvable by Project Four. Learn from every interaction, track and record any missteps and issues then devise a solution so you’re not still troubleshooting it in the future.
Good planning requires astute foresight, but foresight is developed from hindsight. Learn from your past experiences and constantly ask yourself what can you do to make this simpler? What can you do to make it more streamline? How can we improve?
No. Risk isn’t inherently bad, but you might be engaging in risky behavior without even knowing it. Decision making is just a weighing of calculated risks. But, when you’re blindly putting your team’s success at risk, then you’re on a collision course with an iceberg you don’t even know exists. Avoid these oft visited yet treacherous waters and keep your eyes open to how you can navigate smoother, and how you can do things better.
In the end, the goal is to deliver the best result to your client in the most efficient way possible. What are you currently doing that needs tightening? Is there a simple tool that will save you time and headaches you didn’t realize you could eliminate? Is there a better process? There usually is.
– The Bug Squasher Team
P.S. If you’re looking for a tool to bridge the gap between you, your developers, and clients check out The Bug Squasher.
Tell Us What You Think: