37 Skills Outstanding Product Managers Share

I always get the same question: Which is the best product framework? Which Agile framework should I use? Wrong questions. Sorry.

It’s not about the framework. It’s about creating value while adapting to your challenges. Creating digital products is anything but trivial.

Here are the five characteristics PMs need to thrive:

  1. Leadership → It’s all about leading, not managing
  2. Communication → Knowing how to exchange and create value out of it is key
  3. Teamwork → Collaboration with multiple teams is mandatory
  4. Product Management → Knowing the core aspects of creating products is vital
  5. Techniques → Creating a Swiss knife and knowing when to use what is handy

Rocking as a Product Manager by David Pereira

1. Leadership

Great product managers are inspiring leaders, not boring managers. Success is a dream until one learns how to inspire others to act and lead by context.

The exciting aspect of leadership for PMs is the lack of mandate. You don’t lead because you’re the boss; you lead because you set the direction for the product and inspire others to dream of a brighter future.

My biggest inspiration for leadership is Simon Sinek. He says:

A great leader isn’t the one who comes up with all the great ideas but the one who creates the space where great ideas can happen.

2. Communication

Knowing what to communicate, when to whom, and how is mandatory for PMs. Communication is nothing like one size fits all. It requires tailoring it according to your audience and message.

On top of that, the secret is creating clarity with communication and not confusion. Great PMs master the art of asking questions and helping others decide when something is worth pursuing and when not.

A great PM is an outstanding storyteller. You know how to get others to listen to and understand your message. This is often achieved by using anecdotes that resonate with people and help them grasp what you mean.

Without solid communication skills, product managers fail.

3. Teamwork

PMs sit between chairs. Product teams, business, customers. You can only create value once you know how to work with all of them. It’s about being part of multiple teams and collaborating over coordinating.

It’s hard work but can be fun once you simplify what others complicate.

I won’t lie. It’s tough to be a PM. Stakeholders will pressure you to deliver on their wants, team members long for direction, leadership wants results, and customers want you to improve their lives.

The secret is striving for a collaborative way of working instead of a coordinative one.

The more you coordinate, the less you have time to create value.

The more you collaborate, the more you can thrive together.

4. Product Management

Most people start from here. They want to know the top-notch product management methods and tools, but I’d recommend them otherwise.

You cannot succeed without solid leadership, strong communication skills, and great teamwork. Product management is necessary but won’t get the job done if you lack the others. While you can learn and practice PM techniques, an obsession with them while ignoring the previous ones will get you in trouble.

Start with the core of product management in a nutshell:

  1. Product Strategy → Set the direction to enable focus
  2. Product Discovery → Uncover what creates value
  3. Product Delivery → Discover what creates value

Product Management Fundamaentals from Untrapping Product Teams

If you want to go a step further, I’ve got some quizzes to assess your knowledge:

5. Techniques

You will find hundreds, if not thousands, of techniques to support you with digital products. Most are just noise. Knowing what brings value and what complicates your life is fundamental. Sometimes, you need to experiment with something and then drop it because it doesn’t get the job done.

Your job is to drive value and not to follow frameworks by the book.

Now, let’s discuss these skills in detail and clarify what you need and don’t. I will give you a clear definition of each skill and explain how to grow each one.

We will go through 37 skills to get you ready to stand out. Shall we rock it?

Overview of All Skills

It takes years to develop all skills. I’d love to promise you shortcuts, but I cannot bullshit you. Yet, I can describe the differences between an associate product manager and a leader. Then, I can elaborate on how you evolve with each skill.

You can have a high-level overview of all skills here.

Now let me clarify my understanding of different levels:

  • Associate → Can get the job done well with the support of a more experienced PM
  • Intermediate → Can rock product management without anyone’s help
  • Senior → Can level up junior members to an intermediate level
  • Leader → Can structure how teams work and create space where they can thrive

That said, let’s start with the Leadership skills.

7 Skills to Become an Inspiring Leader

PM Leadership Skills by David Pereira

1. Decision-making

PMs must be data-driven. You have probably heard that several times and wonder how you can decide when data is absent. My take on decision-making is simple: a bad decision is better than no decision. You learn when you make mistakes and get stuck when you avoid decision-making.

Here’s what Jeff Bezos says about decision-making:

Most decisions should probably be made with around 70% of the information you wish you had. If you wait for 90%, you’re probably being slow in most cases.

When it comes to product management, one must understand the following:

  • Types of decisions. When irreversible, you must spend enough time pondering the results. Yet, for reversible decisions, progress is what matters.
  • Focus on results. Asking for permission has a 50% chance of rejection, but sharing results and lessons can naturally attract more support.
  • Data. Use data you have to the best of your abilities, but strive to progress instead of getting stuck with analysis.

2. Setting goals

Knowing how to set goals and empower teams to focus on them is fundamental. Yet, what I often see is teams working without goals whatsoever. Some examples:

  • The goal of the Sprint is to deliver all stories by the end of it
  • Meeting the deadline is our goal
  • Delivering the promised feature to our customers is the goal

The above represents a poor ability to set goals. Great PMs set a clear direction of where to land and collaborate with teams to determine how to get there.

When goals are appropriately set, teams know what to focus on and ignore.

3. Situational leadership

As a PM, you’ll collaborate with dozens of people every day. Knowing which role to take in each interaction is essential to gather value. The magic happens when you understand which leadership style fits your exchanges better. Here are the common ones:

  • Leader → You set the session’s goal and are accountable for the result.
  • Observer → You step back and let the teamwork, but you provide feedback on the interaction by the end of it.
  • Member → You contribute to reaching the goal with the other members.
  • Coach → You’re not responsible for answering questions but for asking questions that unlock teams.
  • Facilitator → You moderate the collaboration to ensure the team reaches the desired outcome.

Having different leadership styles is not easy, but it is required to improve collaboration.

4. Facilitation

Nowadays, it’s normal to work with self-managing teams. You may be part of a team with a Scrum Master or Agile Coach who facilitates team events, but what happens outside the team? It’s your responsibility to have meaningful sessions that create value.

Facilitation isn’t only about moderating a session and keeping participants focused on the goal. It also involves preparing and getting everyone ready.

Great PMs know how to facilitate sessions, keep a high energy level, and engage participants. It’s a lot of work, but the result is increased engagement and value created.

5. Mentoring

The ability to level others up is invaluable. Yet, that takes time to master.

Mentoring isn’t about giving the answers to questions people ask you but about helping them find the answers to their questions. When I first became a leader, I bombarded my team with solutions and answers. Sadly, I overwhelmed them and missed the point.

Today, mentoring means taking your mentee one step ahead and extending a hand. Knowing which information to share and which to keep is critical to helping others advance.

6. Setting agreements

One of the most frustrating aspects of bad product management is the lack of agreement. For example, you have an exhausting two-hour session with five business stakeholders, and at the end of it, you agree on having a follow-up. That’s bad.

I generally discourage rules, but I make an exception for agreements. They should be clear and have defined accountability. I recommend using the format Who (a person, not a team) does what by when. For example, David will share the roadmap draft with the product team by Friday.

As you set clear agreements, you need to keep them alive and hold people accountable for delivering.

7. Leading by context

I had great and bad leaders in my life. I attributed flexibility, trust, and empowerment to great leaders and the lack of them to bad ones. However, one aspect I failed to understand was the leadership style, which I solved after reading “No Rules Rules” by Reed Hastings, former CEO of Netflix. Here’s what he said:

“Lead with context, not control,” and coaching your employees using such guidelines as, “Don’t seek to please your boss.”

Leading by context means providing critical information that empowers people to make decisions and reach goals. In other words, you trust their expertise and ability to progress. Unlike leading by control, where you tell people what to do, you share the context and let them get the job done.

Bad PMs will write precise backlog items and limit teams to mere executors.

Great PMs will not bother with detailed backlog items but will ensure the team has clarity on the context and what success looks like.

8 Skills to Simplify Communication

PM Communication Skills by David Pereira

1. Master the art of asking questions

Maybe you heard about the “5-Whys” technique. Just ask why five times, and you get to the bottom of the problem. Although that’s true, asking why puts people in defensive mode.

Reflect on when someone last asked you why you did something. What was your reaction? Were you curious, or did you feel challenged? Why is a strong question, but it doesn’t show curiosity, and not everyone likes answering why they did something.

A better way is rephrasing “why” questions with “what” or “how.” For example, if a stakeholder comes to you and shares an idea and wants you to pursue it, you could ask, “How did you come up with this idea?” “What makes this idea important?” Such questions show curiosity and get people to talk openly to you.

Knowing which question to ask and when is a critical skill for PMs.

2. Provide feedback

Feedback is an underused, powerful tool. It helps people grow, repeat what works, and correct behaviors that don’t. Many people think feedback is only negative, but that’s wrong. Positive feedback is also invaluable because it motivates others.

Rule of thumb: negative feedback in private and positive in public.

Another critical aspect is how you elaborate on the feedback. It needs to be on time, concise, based on observation, and without interpretation. Late feedback leaves people powerless, while a timely one empowers them to act. Let’s look at bad and good feedback:

  • “Two weeks ago, you criticized everything I said during our refinement. Maybe you had a bad day or something, but your behavior annoyed me.” This is bad because it’s too late; it has a generalization and interpretation. It would probably lead to a conflict instead of learning.
  • “Yesterday, when I presented X, you said, “This is nonsense!” and demanded to jump to the next topic. I felt dismissed and frustrated.” This is good because it’s concise, observable, and shares what that made with you.
  • “Your presentation last month was awesome!” This is bad as it’s late, and it doesn’t say what was good about the presentation.
  • “I want to share something. This presentation was outstanding. Particularly, how you elaborated on how solving this problem creates value for our customers and us, I’m motivated to work on it.” This is good as it happened during the presentation, showing appreciation and what you liked about it.

3. Receive feedback

How often do you ask for feedback? I know how daunting that is. We fear hearing something we may not be ready for it or simply don’t want. Let me tell you something.

Feedback is present, which helps you grow as an individual and professional. As with all presents, you can decide to benefit from it or ignore it. That’s entirely up to you.

Asking for feedback will reveal your blind spots and help you evolve. Make it simple for others.

Let me give you an example of my workshops. I create them because I love helping people, but I know I’m not perfect and always have something to improve. At the end of each workshop, you share an anonymous survey with a few scales to understand how people benefited from the session that uncovers where I can improve. Here’s an example:

Mastering Product Discovery — Session Evaluation

The other challenge of receiving feedback is how open you are to that. Feedback can hurt, but it will unlock your potential. Strive to understand instead of explaining it. Remember, everyone has a different perception, and when they are sharing it with you, it shows they care about you.

4. Listening skills

When talking to someone, do you think about what you will say next, or do you focus on carefully listening to the person? The first is the most common, while the second is the most valuable for PMs.

Great PMs are excellent listeners. You know how to listen to others and understand their perspectives carefully. You give your full attention to what they say and learn from them. By they, I mean customers, business stakeholders, team members, and whoever else you interact with.

When I coach PMs, I say that asking ten times more questions than giving answers is a good ratio for a PM conversation. Yet, that’s tough. The secret is striving to understand the others first, then try to be understood.

5. Getting to the point

I’ve interviewed hundreds of PMs over the last few years, and one thing that forces me to reject the candidate is the ability to get to the point. I call it information on demand.

Strong PMs know how to answer complex questions with a few words. That’s a sign of maturity. But when you ask for details, they can elaborate because they know what they say.

Insecure PMs struggle to reach the point and lose their audience while speaking. They make it hard to grasp the message they want to convey and give more information than you requested.

Sharp and solid communication will get you far.

6. Ability to say “no”

I love how James Clear, author of Atomic Habits, differs between saying yes and no.

Every yes you give is a responsibility you take, while no is a decision to remain focused.

As a PM, you will receive more requests than you can handle. That’s your reality. You could bluntly reject many requests and focus on a few, which will frustrate stakeholders and hurt collaboration.

The crucial part of saying no is keeping relationships sustainable. You can do that by getting stakeholders to say no to themselves. Ask questions like the following:

  • How does your request contribute to our product vision?
  • How does this idea align with our current strategy?
  • How does this idea contribute to our most pressing goal?
  • What does success look like?
  • Which evidence do you have supporting your idea?
  • If I say yes to this, what can I say no to?

Such questions show curiosity and get stakeholders to reflect. If they lack answers to your questions, they will likely refrain from pressuring you. Ultimately, they say no to themselves.

7. Adapting according to your audience

As a PM, you talk, and you speak to many people every single day. That’s your main job and one of the most complex parts of it. Communication isn’t anything like one size fits all.

Great PMs can adapt their communication style to fit their different audiences. Here are some examples:

  • Leadership → Clarity on results. Sharp and concise communication.
  • Business Stakeholders → Clarity on the direction. Collaborative communication and details on demand.
  • Product Teams → Context matters most. Focus on making the context as straightforward as possible.
  • Customers → Empathy. Understanding their struggles and motivations enables you to create products they will benefit from.

Knowing how to communicate with whom and how often is vital to succeed.

8. Communication flexibility

One of the biggest challenges of communication is ensuring the message is received as you intended. Sending an email to everyone doesn’t guarantee they get what you meant by reading it, nor does dropping a message on Slack get the job done.

The flexibility of communication enables you to reach different audiences with a suitable medium at the right time. Although you may need to repeat the message several times before it gets across, you must do so consistently.

One thing that I learned about communication is that you cannot overcommunicate.

Don’t be afraid of repeating the message; be afraid of leaving people without the message.

4 Skills to Become Benefit From Great Teamwork

Teamwork skillset by David Pereira

1. Collaboration

Being a PM means collaborating with people from all over the world. It’s natural to be part of a team where everyone is from a different corner of the world. To benefit from collaboration, you need to understand one another. Culture plays a critical role.

Another critical aspect of teamwork is being part of the team and not positioning yourself on a higher level or as an outsider. Many PMs treat teams as service providers, which is detrimental to collaboration and demotivating for team members.

Collaboration means rocking together. Be part of the team and progress together. Responsibilities are different, but the level is the same. Keep the collaboration at eye level. That’s what enables you to benefit from solid teamwork.

2. Handling conflicts

I don’t know any team that has no conflict. That’s normal. The critical part is dealing with conflicts in a mindful way instead of confrontation or ignoring them.

Let me give you an example. When I moved to Germany, software engineers pressured me to write precise requirements. That’s not how I work, so we had a conflict there. I expected them to develop solutions for problems worth solving, and they expected me to give them solutions so they could code. We solved this conflict by being open to each other.

I told the software engineers they were more qualified than me to develop solutions, and I could better prioritize and give them the context. For them, that was vague, but the root cause came to the surface. They didn’t want to take accountability for potential failures. As I learned that, I promptly said if things go wrong, it’s my fault, as I’m providing them context. They liked the support and decided to give it a try. In a few months, that’s how we worked.

Learning. Address the situation, not the person.

3. Influence

Another laborious work of PMs is influencing others to support you. I confess it does look like politics sometimes, and I try my best to simplify this by being transparent and honest with stakeholders and team members.

By influence, I mean the ability to get people to support you on goals you aim to pursue. Also, to get their support and understanding on that.

Stakeholders will have many ideas about where to go, but it’s your job as a PM to define them. To get them on your side, you will need strong influencing skills.

There will be conflicts among team members regarding balancing business as usual, technical debt, and new initiatives. Collaboration and influence will help you align on what matters most.

4. Building relationships

When I started my journey as a PM, I thought my job was to please stakeholders. I was wrong. The job isn’t to please anyone but to create value for customers while collecting business value in return. The truth is that you cannot do that alone.

Business stakeholders aren’t your customers or enemies but your partners.

You can create outstanding products once you build solid relationships with business stakeholders. However, there is a thin line between doing what they want and delivering on what customers need. That’s why developing a trusting relationship is vital for your success.

10 Skills of Sound Product Management

1. Strategy

Strategy is one of the trickiest components of product management. Without it, teams will run in circles and struggle to make simple decisions.

A solid strategy should be simple, yet making it simple is complex work. Many think strategy needs to be complex, solid, and final. What I see is something gradually evolving. It needs to set the constraints to enable teams to focus on what matters while smoothing decision-making.

A solid strategy will answer the following:

  • Where should we land? (Vision)
  • What does success look like? (Focus)
  • Who do we service? (Target audience)
  • Where do we go next? (Roadmap)
  • How do we get there? (Tactics)

Strategy isn’t about having a plan that answers everything but having a frame that enables teams to progress and learn.

I wrote a comprehensive product strategy guide. You can learn how to set a solid strategy from it.

2. Learning Mindset

Let me tell you something obvious but often ignored.

You don’t know what you don’t know.

Product management is about accelerating learning. You will only uncover your blindspots once you’re exposed to multiple situations. Yet, it’s easy to fall prey to speculations and plans, ultimately creating false confidence and ignoring what you don’t know.

Great product managers strive to uncover their unknowns. They don’t want to prove themselves right; they want to learn what they don’t know to create products customers love.

Even some common vocabulary is misleading. For example, validate assumptions. Your goal isn’t to validate assumptions but to confront your idea with reality and learn what makes sense and what doesn’t. Many ideas, it turns out that your assumption is wrong, and that’s a success, too.

3. Product thinking

Digital product management is young, and it’s natural to be in a situation where project thinking dictates how teams act. Yet, it’s unhelpful to create successful digital products.

Some time ago, Shreyas Doshi tweeted about the differences between project and product thinking. You can see that in the following image.

Project Thinking vs. Product Thinking by Shreyas Doshi

The closer you are to project thinking, the harder it is to create value faster.

The more product thinking you observe, the sooner you can drive customer and business value.

4. Setting metrics

The excess of metrics can get teams stuck as they don’t know what to follow or ignore. More metrics don’t mean more clarity.

Great PMs know how to simplify metrics and set actionable ones that enable teams to make decisions easier. It’s not about ignoring key metrics but about having the courage to prioritize and focus on what’s most important.

Key metrics are actionable and enable teams to adapt their actions continuously. They understand how their work improves such metrics and what they can do today to improve tomorrow.

5. Business model acumen

Shockingly, many PMs are clueless about the business model behind their products. Sorry to say that, but this is simply nonsense to me.

Part of being an outstanding product manager requires understanding the business dynamics. How does the business deliver value to customers, collect value from them, and differentiate itself from the competition?

It’s not about creating a 72-page business plan nobody will ever care about, but about having a one-pager business model that helps you clarify how the business works. For that, I recommend learning how to use:

  • Business Model Canvas. Understand the business dynamics
  • Lean Canvas. Understand how you create value for the problems you chose to solve

To improve your knowledge, read “Business Model Generation” by Strategizer and “Running Lean” by Ash Maurya.

6. Prioritization

You cannot thrive with digital products until you learn how to prioritize. Yet, there’s a catch. It’s about simplifying what tends to get too complicated.

You will have many prioritization techniques that will cloud your judgment and make you overconfident. For example, creating a score for your backlog items based on effort, impact, confidence, and reach. First, that will take a lot of time. Second, it’s not more than a gut feeling.

The more straightforward you can make prioritization, the faster you can learn. At the end of the day, prioritizing is about choosing where to bet, not selecting an item, and going all in.

Great PMs prioritize fast and strive to learn. They are brave enough to drop bad ideas and revisit options. Investments start small and grow according to the evidence you gather.

My recommendation is a matrix 2x2 representing potential impact and effort. Focus on collaborating, pick the ideas worth pursuing, and take from there. It’s about progressing, learning, and adapting.

7. Uncover problems worth solving

Not all problems are worth solving. It’s not because a customer complains about something that you should be solving. However, identifying value drivers is more like an art than a technique.

Whenever you face an opportunity, reflect on the following:

  • How many customers would benefit from a solution?
  • How often would customers use it?
  • How impactful would a solution be in customers’ lives?
  • How much value could a business collect from this opportunity?
  • How well could we create a solution for them?

Answering well the above questions will help you uncover problems worth solving.

8. Crafting value proposition

How does your product deliver value for customers? Answering this question defines your value proposition.

My favorite way of creating a value proposition is using a Value Proposition Canvas. It’s simple, easy, and solid.

You can watch the following video to understand it in detail.

9. Establish stakeholder partnerships

A common term in PMs’ lives is stakeholder management, but this doesn’t resonate with me. Product managers don’t have to manage stakeholders, and this attitude is detrimental to collaboration.

I prefer using stakeholder alignment. It’s fundamental to develop solid partnerships with stakeholders to create value. A product manager will unlikely know everything necessary to make a valuable product. That’s why partnering with finance, accounting, operation, logistics, legal, and others to develop great products.

One of the challenges is the multitude of people PMs collaborate with. To foster partnerships, you need to understand who your stakeholders are and how they relate to your product and can influence its future. For that, I see value in creating a stakeholder matrix. It shows who you need to develop stronger relationships with and who you should not invest all your energy in.

Creating a stakeholder matrix

10. Setting desired outcomes

You’re probably tired of hearing “outcomes over outputs.” I bet you’ve stumbled upon it several times already. Yet, what does that mean? This means that the goal is to drive desired results instead of just shipping features.

The challenge of setting desired outcomes isn’t about doing it but getting support from top management and empowering the team with enough context to create valuable solutions. When teams focus on outcomes, they don’t know what they will deliver, and that’s a hard sell for management. It’s even harder when you don’t know when you will ever deliver something.

The more you advance as a product manager, the more you understand how to get management buy-in to support outcome-driven roadmaps. There’s no recipe to get their support. It has a lot to do with trust, intuition, and empowerment.

7 Techniques to Thrive as a PM

Techniques Skillset by David Pereira

1. Discovery

You probably hear that teams need to apply product discovery. This has been the new cool kid on the block for some years. Yet, only a few understand what it really means.

Teresa Torres nailed her book “Continuous Discovery Habits,” but teams still struggle to benefit from discovery practices.

First, Product Discovery is the art of separating good ideas from bad ones. It’s about uncovering what drives value and dropping what distracts you from it.

Great PMs know how to deploy discovery practices and get management support. I say it’s more like a discovery journey than a process; every scenario is different.

Discovery Journey by David Pereira

2. Story Mapping

Many people confuse PMs with requirement engineers. Your job isn’t to get the requirements right but to understand what’s necessary to drive customer and business value. It’s a tough job, and you will fail if you behave as a requirement engineer.

One of my favorite techniques for creating a shared understanding is user story mapping, developed by Jeff Patton. It enables you to help others see the world through the same lenses.

3. Roadmapping

Only a few things can trap teams more than a poorly defined roadmap. Sadly, that’s more present than it should be.

Bad roadmaps focus on output and force teams to divide and conquer as they have more to deliver than they possibly can.

Good roadmaps represent milestones that enable teams to get closer to strategic goals.

Roadmaps don’t need to be complicated. They can be pretty simple. My favorite format is the Now, Next, Later by Janna Bastow. This lets you focus on what matters most now while giving something future intention visibility. It’s not written in stone, but enough to provide clarity.

Now, Next, Later Roadmap by Janna Bastow

I spiced up this version by adding the trash column. That enables us to decide upon items we drop mindfully. Remember, the trash bin is your friend :)

Product Roadmap Template by David Pereira

4. Agile frameworks

I’m a big fan of Agile, but the good and old one, not the noise that distracts teams. Some frameworks like SAFe (the undercover waterfall agent) distract teams from doing the work. Even lightweight frameworks like Scrum can derail teams.

Agile is all about using what you know to uncover what you don’t (credit Maarten Dalmjin).

Bad Agile is about letting a framework limit how you work. The goal becomes to do “Scrum” well instead of creating value. It’s important that PMs understand agile frameworks because you will work with them, but you need to know what they are for and what not.

The following tables give you an overview of them.

Understanding common Agile frameworks by David Pereira

Differences of common Agile frameworks by David Pereira

5. Data savvy

How comfortable are you with data analysis?

How well can you transform data into information?

How fast can you transform information into insights?

Data savvy means getting insights from data that empowers you to take action and correct course or uncover opportunities.

There’s a lot of noise about data-driven. Sometimes, it even becomes an excuse to avoid making decisions. But that’s not what it’s supposed to be at all.

Great PMs use the available data to support their decisions but are brave enough to call the shots even when data is unavailable.

6. OKR

Objective Key Results, created by Andy Groove, former Intel CEO, is one of the most common frameworks for setting objectives. Google, Amazon, Intel, and many other organizations use it. The chances are high that you will face it as a PM.

John Doerr wrote Measure What Matters, which clarifies how OKRs can benefit you.

7. Backlog Management

Last but not least, the famous backlog management. I intentionally left this one as the last one. There’s a mutation that drives me nuts, and I often voice my concerns about it.

PMs aren’t backlog managers. If you spend more than four hours a week managing your product backlog, something is going wrong.

I know that shareholders push you to collect all their ideas and place them in a bucket, hoping you will deliver them one day. Don’t do it.

Increase the size of your trash bin, not your backlog.

Good backlog management is about having enough to focus on progressing and not getting distracted by past requests that block your learning.

 

David Pereira

Written by David Pereira


Comments ...


No Comments Yet ...Add One