Posts Tagged ‘Lessons Learned’

As a leader, be truthful and forthcoming.

144 Truthful, at Ping Sien Si, Pasir Panjang, Perak, Malaysia

Have you ever felt like you weren’t getting the truth from your leader? You know – when they say something and you know that’s not what they really think. Or, when they share their truth but you can sense that they’re sharing only part of the truth and withholding the real nugget of the truth? We really have no control over the level of forthcoming of our leaders, but we do have control over how we respond to their incomplete disclosure.

There are times when leaders cannot, by law, disclose things. But, even then, they can make things clear without disclosing what legally cannot be disclosed. For example, they can say: “That’s a good question and it gets to the heart of the situation. But, by law, I cannot answer that question.” They did not answer the question, but they did. They let you know that you understand the situation; they let you know that there is an answer; and the let you know why they cannot share it with you.  As the recipient of that non-answer answer, I respect that leader.

There are also times when a leader withholds information or gives a strategically partial response for inappropriate reasons. When a leader withholds information to manipulate or control, that’s inappropriate. It’s also bad leadership. When a leader withholds information from their smartest team members, they lose trust.  And when leaders lose trust, the best people are crestfallen and withhold their best work. The thinking goes like this. If my leader doesn’t trust me enough to share the complete set of information with me it’s because they don’t think I’m worthy of their trust and they don’t think highly of me.  And if they don’t think I’m worthy of their trust, they don’t understand who I am and what I stand for.  And if they don’t understand me and know what I stand for, they’re not worthy of my best work.

As a leader, you must share all you can.  And when you can’t, you must tell your team there are things you can’t share and tell them the reasons why. Your team can handle the fact that there are some things you cannot share. But what your team cannot hand is when you withhold information so you can gain the upper hand on them. And your team can tell when you’re withholding with your best interest in mind. Remember, you hired them because they were smart, and their smartness doesn’t go away just because you want to control them.

If your direct reports always tell you they can get it done even when they don’t have the capacity and capability, that’s not the behavior you want. If your direct reports tell you they can’t get it done when they can’t get it done, that’s the behavior you want. But, as a leader, which behavior do you reward? Do you thank the truthful leader for being truthful about the reality of insufficient resources and do you chastise the other leader for telling you what you want to hear? Or, do you tell the truthful leader they’re not a team player because team players get it done and praise the unjustified can-do attitude of the “yes man” leader? As a leader, I suggest you think deeply about this. As a direct report of a leader, I can tell you I’ve been punished for responding in way that was in line with the reality of the resources available to do the work. And I can also tell you that I lost all respect for that leader.

As a leader, you have three types of direct reports. Type I are folks are happy where they are and will do as little as possible to keep it that way. Type II are people that are striving for the next promotion and will tell you whatever you want to hear in order to get the next job. Type III are the non-striving people who will tell you what you need to hear despite the implications to their career. Type I people are good to have on your team.  They know what they can do and will tell you when the work is beyond their capability. Type II people are dangerous because they think only of themselves. They will hang you out to dry if they think it will advance their career. And Type III people are priceless.

Type III people care enough to protect you.  When you ask them for something that can’t be done, they care enough about you to tell you the truth. It’s not that they don’t want to get it done, they know they cannot. And they’re willing to tell you to your face. Type II people don’t care about you as a leader; they only care about themselves. They say yes when they know the answer is no. And they do it in a way that absolves them of responsibility when the wheels fall off. As a leader, which type do you want on your team? And as a leader, which type do you promote and which do you chastise. And, how do you feel about that?

As a leader, you must be truthful. And when you can’t disclose the full truth, tell people. And when your Type II direct reports give you the answer they know you want to hear, call them on their bullshit.  And when your Type III folks give you the answer they know you don’t want to hear, thank them.

Image credit — Anandajoti Bhikkhu

Whether it goes well or poorly, what matters is how you respond.

When was the last time you taught someone a new method or technique? What was their reaction? How did it make you feel? Will you do it again?

When was the last time you learned something new from a colleague? What was your reaction? What did you do so it would happen again?

When was the last time you woke up early because you were excited to go to work? How did you feel about that? What can change so it happens once a week?

When was the last time you had a crazy idea and your colleagues helped you make it real? How did you feel about that? How can you do it for them? What can you do to make it happen more frequently?

When was the last time you had a crazy idea and it was squelched because it violated a successful recipe? How did you feel about that? What can you do so it happens differently next time?

When was the last time you used your good judgement without asking for permission? How did you feel about that? What can you do to give others the confidence to use their best judgement?

When was the last time someone gave you credit for doing good work? And when was the last time you did the same for someone else? What can you do so the behavior blossoms into common practice?

When was the last time you openly contradicted a majority opinion with a dissenting minority opinion? Though it was received poorly, you must do it again. The majority needs to hear your dissenting opinion so they can sharpen their thinking.

When was the last time you gave good advice to a younger colleague? How can you systematize that type of behavior?

When was the last time you did work so undeniably good that others twisted it a bit and adopted it as their own? Don’t feel badly. When doing innovative work this is what success looks like. All that really matters is your customers realize the value from the work and not who gets credit. What can you do so this type of thing happens as a matter of course?

Good things happen and bad things happen.  That’s how life goes. But the important part is you pay attention to what worked and what didn’t. And the second important part is actively making the good stuff happen more frequently and the bad stuff happen less frequently.

Image credit — jacquemart

As a leader, your response is your responsibility.

When you’re asked to do more work that you and your team can handle, don’t pass it onto your team.  Instead, take the heat from above but limit the team’s work to a reasonable level.

When the number of projects is larger than the budget needed to get them done, limit the projects based on the budget.

When the team knows you’re wrong, tell them they’re right. And apologize.

When everyone knows there’s a big problem and you’re the only one that can fix it, fix the big problem.

When the team’s opinion is different than yours, respect the team’s opinion.

When you make a mistake, own it.

When you’re told to do turn-the-crank work and only turn-the-crank work, sneak in a little sizzle to keep your team excited and engaged.

When it’s suggested that your team must do another project while they are fully engaged in an active project, create a big problem with the active project to delay the other project.

When the project is going poorly, be forthcoming with the team.

When you fail to do what you say, apologize.  Then, do what you said you’d do.

When you make a mistake in judgement which creates a big problem, explain your mistake to the team and ask them for help.

If you’ve got to clean up a mess, tell your team you need their help to clean up the mess.

When there’s a difficult message to deliver, deliver it face-to-face and in private.

When your team challenges your thinking, thank them.

When your team tells you the project will take longer than you want, believe them.

When the team asks for guidance, give them what you can and when you don’t know, tell them.

As leaders, we don’t always get things right.  And that’s okay because mistakes are a normal part of our work.  And projects don’t always go as planned, but that’s okay because that’s what projects do. And we don’t always have the answers, but that’s okay because we’re not supposed to. But we are responsible for our response to these situations.

When mistakes happen, good leaders own them. When there’s too much work and too little time, good leaders tell it like it is and put together a realistic plan. And when the answers aren’t known, a good leader admits they don’t know and leads the effort to figure it out.

None of us get it right 100% of the time. But what we must get right is our response to difficult situations.  As leaders, our responses should be based on honesty, integrity, respect for the reality of the situation and respect for people doing the work.

Image credit – Ludovic Tristan

How to Prevent Depletion

On every operating plan there are more projects than there are people to do them and at every meeting there more new deliverables than people to take them on. At every turn, our demand for increased profits pushes our people for more.  And, to me, I think this is the reason every day feel fuller than the last.

This year do you have more things to accomplish or fewer? Do you have more meetings or fewer? Do you get more emails or fewer?

We add work to people’s day as if their capacity to do work is infinite. And we add metrics to measure them to make sure they get the work done. And that’s a recipe for depletion. At some point, even the best, most productive people reach their physical and emotional limits. And at some point, as the volume of work increases, we all become depleted. It’s not that we’re moving slowly, being wasteful or giving it less than our all. When the work exceeds our capacity to do it, we run out of gas.

Here are some thoughts that may help you over the next year.

The amount of work you will get done this year is the same as you got done last year. But don’t get sidetracked here. This has nothing to do with the amount of work you were asked to do last year. Because you didn’t complete everything you were asked to do last year, the same thing will happen this year unless the amount of work on this year’s plan is equal to the amount of work you actually accomplished last year. Every year, scrub a little work off your yearly commitments until the work content finally equals your capacity to get it done.

Once the work content of your yearly plan is in line, the mantra becomes – finish one before you start one. If you had three projects last year and you finished one, you can add one project this year. If you didn’t finish any projects last year you can’t start one this year, at least until you finish one this year. It’s a simple mantra, but a powerful one. It will help you stop starting and start finishing.

There’s a variant to the finish-before-you-start approach that doesn’t have to wait for the completion of a long project. Instead of finishing a project, unimportant projects are stopped before they’re finished. This is loosely known as – stop doing before start doing.  Stopping is even more powerful than finishing because low value work is stopped and the freed-up resources are immediately applied to higher value work. This takes judgement and courage to stop a dull project, but it’s well worth the discomfort.

If you want to get ahead of the game, create a stop-doing list. For each item on the list estimate how much time you will free up and sum the freed-up time for the lot. Be ruthless. Stop all but the most important work. And when your boss says you can’t stop something because it’s too important, propose that you stop for a week and see what happens.  And when no one notices you stopped, propose to stop for a month and see what happens. Rinse and repeat.

When the amount of work you have to get done fits with your capacity to do it, your physical and mental health will improve. You’ll regain that spring in your step and you’ll be happier. And the quality of your work will improve. But more importantly, your family life and personal relationships will improve. You’ll be able to let go of work and be fully present with your friends and family.

Regardless of the company’s growth objectives, one person can only do the work of one person. And it’s better for everyone (and the company) if we respect this natural constraint.

The only thing predictable about innovation is its unpredictability.

A culture that demands predictable results cannot innovate.  No one will have the courage to do work with the requisite level of uncertainty and all the projects will build on what worked last time.  The only predictable result – the recipe will be wildly successful right up until the wheels fall off.

You can’t do work in a new area and deliver predictable results on a predictable timetable. And if your boss asks you to do so, you’re working for the wrong person.

When it comes to innovation, “ecosystem,” as a word, is unskillful. It doesn’t bound or constrain, nor does it show the way. How about a map of the system as it is? How about defined boundaries? How about the system’s history? How about the interactions among the system elements? How about a fitness landscape and the system’s disposition? How about the system’s reason for being? The next evolution of the system is unpredictable, even if you call it an ecosystem.

If you can’t tolerate unpredictability, you can’t tolerate innovation.

Innovation isn’t about reducing risk. Innovation is about maximizing learning rate.  And when all things go as predicted, the learning rate is zero. That’s right. Learning decreases when everything goes as planned. Are you sure you want predictable results?

Predictable growth in stock price can only come from smartly trying the right portfolio of unpredictable projects.  That’s a wild notion.

Innovation runs on the thoughts, feelings, emotions and judgement of people and, therefore, cannot be predictable. And if you try to make it predictable, the best people, the people that know the drill, will leave.

The real question that connects innovation and predictability: How to set the causes and conditions for people to try things because the results are unpredictable?

With innovation, if you’re asking for predictability, you’re doing it wrong.

Image credit: NASA Goddard

How To Innovate Within a Successful Company

If you’re trying to innovate within a successful company, I have one word for you: Don’t.

You can’t compete with the successful business teams that pay the bills because paying the bills is too important.  No one in their right mind should get in the way of paying them.  And if you do put yourself in the way of the freight train that pays the bills you’ll get run over.  If you want to live to fight another day, don’t do it.

If an established business has been growing three percent year-on-year, expect them to grow three percent next year. Sure, you can lather them in investment, but expect three and a half percent. And if they promise six percent, don’t believe them. In fairness, they truly expect they can grow six percent, but only because they’re drinking their own Cool-Aid.

Rule 1: If they’re drinking their own Cool-Aid, don’t believe them.

Without a cataclysmic problem that threatens the very existence of a successful company, it’s almost impossible to innovate within its four walls. If there’s no impending cataclysm, you have two choices: leave the four walls or don’t innovate.

It’s great to work at successful company because it has a recipe that worked.  And it sucks to work at a successful company because everyone thinks that tired old recipe will work for the next ten years. Whether it will work for the next ten or it won’t, it’s still a miserable place to work if you want to try something new. Yes, I said miserable.

What’s the one thing a successful company needs? A group of smart people who are actively dissatisfied with the status quo. What’s the one thing a successful company does not tolerate? A group of smart people who are actively dissatisfied with the status quo.

Some experts recommend leveraging (borrowing) resources from the established businesses and using them to innovate. If the established business catches wind that their borrowed resources will be used to displace the status quo, the resources will mysteriously disappear before the innovation project can start. Don’t try to borrow resources from established businesses and don’t believe the experts.

Instead of competing with established businesses for resources, resources for innovation should be allocated separately. Decide how much to spend on innovation and allocate the resources accordingly. And if the established businesses cry foul, let them.

Instead of borrowing resources from established businesses to innovate, increase funding to the innovation units and let them buy resources from outside companies. Let them pay companies to verify the Distinctive Value Proposition (DVP); let them pay outside companies to design the new product; let them pay outside companies to manufacture the new product; and let them pay outside companies to sell it.  Sure, it will cost money, but with that money you will have resources that put their all into the design, manufacture and sale of the innovative new offering. All-in-all, it’s well worth the money.

Don’t fall into the trap of sharing resources, especially if the sharing is between established businesses and the innovative teams that are charged with displacing them. And don’t fall into the efficiency trap. Established businesses need efficiency, but innovative teams need effectiveness.

It’s not impossible to innovate within a successful company, but it is difficult. To make it easier, error on the side of doing innovation outside the four walls of success. It may be more expensive, but it will be far more effective.  And it will be faster. Resources borrowed from other teams work the way they worked last time. And if they are borrowed from a successful team, they will work like a successful team. They will work with loss aversion. Instead of working to bring something to life they will work to prevent loss of what worked last time. And when doing work that’s new, that’s the wrong way to work.

The best way I know to do innovation within a successful company is to do it outside the successful company.

Image credit – David Doe

Cubicles – just say no.

Whether it’s placing machine tools on the factory floor or designing work spaces for people that work at the company, the number one guiding metric is resources per square foot. If you’re placing machine tools, this metric causes the machines to be stacked closely together, where the space between them is minimized, access to the machines is minimized, and the aisles are the smallest they can be. The result – the number of machines per square foot is maximized.

And though there has been talk of workplaces that promote effective interactions and creativity, the primary metric is still people per square foot. Don’t believe me?  I have one word for you – cubicles. Cubicles are the design solution of choice when you want to pack the most people into the smallest area.

Here’s a test. At your next team meeting, ask people to raise their hand if they hate working in a cubicle. I rest my case.

With cubicles, it’s the worst of both worlds.  There is none of the benefit of an office and none of the benefit of collaborative environment. They are half of neither.

What is one of Dilbert’s favorite topic? Cubicles.

If no one likes them, why do we still have them? If you want quiet, cubicles are the wrong answer. If you want effective collaboration, cubicles are the wrong answer. If everyone hates them, why do we still have them?

When people need to do deep work, they stay home so they can have peace and quiet. When people they want to concentrate, they avoid cubicles at all costs.  When you need to focus, you need quiet. And the best way to get quiet is with four walls and a door. Some would call that and office, but those are passe. And in some cases, they are outlawed. In either case, they are the best way to get some quiet time. And, as a side benefit, they also block interruptions.

Best way for people to interact is face-to-face.  And in order to interact at way, they’ve got to be in the same place at the same time. Sure spontaneous interactions are good, but it’s far better to facilitate interactions with a fixed schedule.  Like with a bus stop schedule, people know where to be and when. In that way, many people can come together efficiently and effectively and the number of interactions increases dramatically. So why not set up planned interactions at ten in the morning and two in the afternoon?

I propose a new metric for facilities design – number of good ideas per square foot. Good ideas require deep thought, so quiet is important. And good ideas require respectful interaction with others, so interactions are important.

I’m not exactly sure what a facility must look like to maximize the number of good ideas per square foot, but I do know it has no cubicles.

Image credit – Tim Patterson

How To Design

What do they want? Some get there with jobs-to-be-done, some use Customer Needs, some swear by ethnographic research and some like to understand why before what.  But in all cases, it starts with the customer.  Whichever mechanism you use, the objective is clear – to understand what they need.  Because if you don’t know what they need, you can’t give it to them.  And once you get your arms around their needs, you’re ready to translate them into a set of functional requirements, that once satisfied, will give them what they need.

What does it do? A complete set of functional requirements is difficult to create, so don’t start with a complete set.  Use your new knowledge of the top customer needs to define and prioritize the top functional requirements (think three to five).  Once tightly formalized, these requirements will guide the more detailed work that follows.  The functional requirements are mapped to elements of the design, or design parameters, that will bring the functions to life.  But before that, ask yourself if a check-in with some potential customers is warranted.  Sometimes it is, but at these early stages it’s may best to wait until you have something tangible to show customers.

What does it look like? The design parameters define the physical elements of the design that ultimately create the functionality customers will buy. The design parameters define shape of the physical elements, the materials they’re made from and the interaction of the elements.  It’s best if one design parameter controls a single functional requirement so the functions can be dialed in independently.  At this early concept phase, a sketch or CAD model can be created and reviewed with customers.  You may learn you’re off track or you may learn you’re way off track, but either way, you’ll learn how the design must change. But before that, take a little time to think through how the product will be made.

How to make it? The process variables define the elements of the manufacturing process that make the right shapes from the right materials. Sometimes the elements of the design (design parameters) fit the process variables nicely, but often the design parameters must be changed or rearranged to fit the process.  Postpone this mapping at your peril!  Once you show a customer a concept, some design parameters are locked down, and if those elements of the design don’t fit the process you’ll be stuck with high costs and defects.

How to sell it? The goodness of the design must be translated into language that fits the customer.  Create a single page sales tool that describes their needs and how the new functionality satisfies them.  And include a digital image of the concept and add it to the one-pager.  Show document to the customer and listen.  The customer feedback will cause you to revisit the functional requirements, design parameters and process variables.  And that’s how it’s supposed to go.

Though I described this process in a linear way, nothing about this process is linear. Because the domains are mapped to each other, changes in one domain ripple through the others.  Change a material and the functionality changes and so do the process variables needed to make it.  Change the process and the shapes must change which, in turn, change the functionality.

But changes to the customer needs are far more problematic, if not cataclysmic.  Change the customer needs and all the domains change. All of them.  And the domains don’t change subtly, they get flipped on their heads.  A change to a customer need is an avalanche that sweeps away much of the work that’s been done to date.  With a change to a customer need, new functions must be created from scratch and old design elements must culled.  And no one knows what the what the new shapes will be or how to make them.

You can’t hold off on the design work until all the customer needs are locked down. You’ve got to start with partial knowledge.  But, you can check in regularly with customers and show them early designs.  And you can even show them concept sketches.

And when they give you feedback, listen.

Image credit – Worcester Wired

Is your tank empty?

Sometimes your energy level runs low.  That’s not a bad thing, it’s just how things go. Just like a car’s gas tank runs low, our gas tanks, both physical and emotional, also need filling.  Again, not a bad thing. That’s what gas tanks are for – they hold the fuel.

We’re pretty good at remembering that a car’s tank is finite.  At the start of the morning commute, the car’s fuel gauge gives a clear reading of the fuel level and we do the calculation to determine if we can make it or we need to stop for fuel.  And we do the same thing in the evening – look at the gauge, determine if we need fuel and act accordingly.  Rarely we run the car out of fuel because the car continuously monitors and displays the fuel level and we know there are consequences if we run out of fuel.

We’re not so good at remembering our personal tanks are finite. At the start of the day, there are no objective fuel gauges to display our internal fuel levels.  The only calculation we make – if we can make it out of bed we have enough fuel for the day. We need to do better than that.

Our bodies do have fuel gages of sorts.  When our fuel is low we can be irritable, we can have poor concentration, we can be easily distracted.  Though these gages are challenging to see and difficult to interpret, they can be used effectively if we slow down and be in our bodies.  The most troubling part has nothing to do with our internal fuel gages.  Most troubling is we fail to respect their low fuel warnings even when we do recognize them.  It’s like we don’t acknowledge our tanks are finite.

We don’t think our cars are flawed because their fuel tanks run low as we drive.  Yet, we see the finite nature of our internal fuel tanks as a sign of weakness. Why is that? Rationally, we know all fuel tanks are finite and their fuel level drops with activity. But, in the moment, when are tanks are low, we think something is wrong with us, we think we’re not whole, we think less of ourselves.

When your tank is low, don’t curse, don’t blame, don’t feel sorry and don’t judge.  It’s okay.  That’s what tanks do.

A simple rule for all empty tanks – put fuel in them.

Image credit – Hamed Saber

The people part is the hardest part.

The toughest part of all things is the people part.

Hold on to being right and all you’ll be is right.  Transcend rightness and get ready for greatness.

Embrace hubris and there’s no room for truth.  Embrace humbleness and everyone can get real.

Judge yourself and others will pile on.  Praise others and they will align with you.

Expect your ideas to carry the day and they won’t. Put your ideas out there lightly and ask for feedback and your ideas will grow legs.

Fight to be right and all you’ll get is a bent nose and bloody knuckles.  Empathize and the world is a different place.

Expect your plan to control things and the universe will have its way with you.  See your plan as a loosely coupled set of assumptions and the universe will still have its way with you.

Argue and you’ll backslide.  Appreciate and you’ll ratchet forward.

See the two bad bricks in the wall and life is hard.  See the other nine hundred and ninety-eight and everything gets lighter.

Hold onto success and all you get is rope burns.  Let go of what worked and the next big thing will find you.

Strive and get tired. Thrive and energize others.

The people part may be the toughest part, but it’s the part that really matters.

Image credit — Arian Zwegers

The Slow No

When there’s too much to do and too few to do it, the natural state of the system is fuller than full.  And in today’s world we run all our systems this way, including our people systems.

A funny thing happens when people’s plates are full – when a new task is added an existing one hits the floor.  This isn’t negligence, it’s not the result of a bad attitude and it’s not about being a team player.  This is an inherent property of full plates – they cannot support a new task without another sliding off.  And drinking glasses have this same interesting property – when full, adding more water just gets the floor wet.

But for some reason we think people are different.  We think we can add tasks without asking about free capacity and still expect the tasks to get done.  What’s even more strange – when our people tell us they cannot get the work done because they already have too much, we don’t behave like we believe them.  We say things like “Can you do more things in parallel?” and “Projects have natural slow phases, maybe you can do this new project during the slow times.”  Let’s be clear with each other – we’re all overloaded, there are no slow times.

For a long time now, we’ve told people we don’t want to hear no.  And now, they no longer tell us.  They still know they can’t get the work done, but they know not to use the word “no.”  And that’s why the Slow No was invented.

The Slow No is when we put a new project on the three year road map knowing full-well we’ll never get to it.  It’s not a no right now, it’s a no three years from now.  It’s elegant in its simplicity.  We’ll put it on the list; we’ll put it in the queue; we’ll put it on the road map.  The trick is to follow normal practices to avoid raising concerns or drawing attention.  The key to the Slow No is to use our existing planning mechanisms in perfectly acceptable ways.

There’s a big downside to the Slow No – it helps us think we’ve got things under control when we don’t.  We see a full hopper of ideas and think our future products will have sizzle.  We see a full road map and think we’re going to have a huge competitive advantage over our competitors. In both situations, we feel good and in both situations, we shouldn’t.  And that’s the problem. The Slow No helps us see things as we want them and blocks us from seeing them as they are.

The Slow No is bad for business, and we should do everything we can to get rid of it.  But, it’s engrained behavior and will be with us for the near future.  We need some tools to battle the dark art of the Slow No.

The Slow No gives too much value to projects that are on the list but inactive.  We’ve got to elevate the importance of active, fully-staffed projects and devalue all inactive projects.  Think – no partial credit.  If a project is active and fully-staffed, it gets full credit.  If it’s inactive (on a list, in the queue, or on the road map) it gets zero credit.  None.  As a project, it does not exist.

To see things as they are, make a list of the active, fully-staffed projects. Look at the list and feel what you feel, but these are the only projects that matter.  And for the road map, don’t bother with it.  Instead, think about how to finish the projects you have.  And when you finish one, start a new one.

The most difficult element of the approach is the valuation of active but partially-staffed projects.  To break the vice grip of the Slow No, think no partial credit. The project is either fully-staffed or it isn’t   And if it’s not fully-staffed, give the project zero value.  None.  I know this sounds outlandish, but the partially-staffed project is the slippery slope that gives the Slow No its power.

For every fully-staffed project on your list, define the next project you’ll start once the current one is finished.  Three active projects, three next projects.  That’s it.  If you feel the need to create a road map, go for it.  Then, for each active project, use the road map to choose the next projects.  Again, three active projects, three next projects.  And, once the next projects are selected, there’s no need to look at the road map until the next projects are almost complete.

The only projects that truly matter are the ones you are working on.

Image credit – DaPuglet

Mike Shipulski Mike Shipulski
Subscribe via Email

Enter your email address:

Delivered by FeedBurner

Archives