Home » project management

Tag: project management

Wandering vs Leading

When you start a new project, you can find yourself on any point on the following spectrum: on the far left, there is wondering, and on the far right, there is going straight at a target.

When you are wondering, you don’t know where you want to go. You don’t have a destination. You try this; you try that, your ideas keep shifting, the way you talk about the project keeps shifting, your questions change.

You have this niggling feeling that you want to do something, but you cannot easily articulate what it is. And so you open your senses up for exploration until you discover what you clearly like and you dislike. And a vision starts to emerge. 

On the other end of the spectrum, you know where you are going. You have a map, a plan, and a guide you can call in case of trouble. You are super focused at this stage, your thinking is crystal clear, and your ideas are very stable. You know what is a distraction and what will move you along the path. 

Where are you on this spectrum? 

The way I see it, artists tend to be on the far left side. And they are comfortable in that space of exploration, of the unknown, of continually shifting ideas. It is a place where you are focused on self-discovery, on looking inside to uncover what that niggling feeling is about. 

On the far right side, you find the manager who cares only about the mission, about getting there as effectively as possible. The focus is no longer inwards because the vision is clear. The focus is on the team, on the project, and on being of service. 

In the middle of this spectrum is a place where you have found your vision, so you know where you are going, but you haven’t mapped out the road yet. 

I feel extremely uncomfortable on the left side, the wandering side, where you need to face “not knowing,” making mistakes, and “wasting time.”

I am used to being an A student, which means always having the “right answers” and not making mistakes. 

Being on the extreme right, where you are the manager and just executing the plan, feels more comfortable, but it can also be a place to hide. There is little risk involved. There are little unknowns. And if you fail, you can blame the map or the plan. 

As you move towards the left, things become more and more uncertain and risky. It’s a place fit for adventures—those who are OK with going into dead-ends and having to backtrack and try again. 

No point on this spectrum is better than the others. You can subjectively feel differently about it, as I don’t enjoy the wandering around part, but a project goes through all the phases.

Getting stuck is the problem.

You could wander forever and look busy in your constat search, but how will you sustain that? How will you take care of your family? Or how will you bring positive contributions to your communities?

You can also get stuck in the middle, looking for the “perfect plan” and trying to avoid mistakes. 

The best way to make sure you are making progress is to base your “why” on the good of a larger community. To try to find out how your endeavors will help others, not just you. And then, maybe, you can seamlessly move from crystallizing your vision to efficient execution.

So I ask you again: where are you on the spectrum? And are you making progress, or are you hiding in your favorite place? 🙂 

(credit: ideas inspired by Jonathan Stark – The Business of Authority )

Everybody has a plan until they get punched in the face

The quote in the title belongs to Mike Tyson. And while I don’t condone violence of any kind, there is a lot of truth to that quote!

I read his quote in a business book a few days ago, and it was one of those things that have an after kick. Only after I got to the next page, I started to laugh at the very graphic explanation of an unexpected big surprise, and I’ve been thinking about it ever since. 

Why was this so funny to me? 

It is funny because I am a big fan of plans and lists and thinking ahead and having a strategy. 

But more often than not, something happened along the way (the so-called “punch in the face”) that threw my plan out the window. It does not look funny in the moment, but looking back, it is pretty amusing. 

So what is the connection with web applications? 

To understand, let us look at another useful quote, the Murphy’s Law: “If anything can go wrong, it will!

This quote is a more pessimistic view of something that is statistically true: “If anything can happen, it will happen.” It does not matter if it’s good or bad, but since the bad one hurts, that’s what got captured in Murphy’s law. 

When you build a web application, you do your best to plan, to foresee potential problems, and avoid the common pitfalls. The more experience you have, the better your plan is, and the more future problems you can avoid. 

But here is the kicker: no matter your expertise, if something can happen, it will. And since there is no such thing as a perfect product, the inevitable will happen sooner or later. A surprise that does not fit into your carefully crafted plan. 

This idea is not an excuse to stop caring and stop delivering excellence. It is just a word of caution that humbling experiences await you/me in the future :).

The reason I enjoy Tyson’s quote more is because of the visceral feel to it. I rely heavily on planning and my past experience, so when the rug is swept from under my feet, that scares me. I have always managed to recover, eventually, but still, I am not looking forward to the unpleasant experience of free falling. 

However, I am told there is another way. And that is “falling with grace.” Accept that you cannot foresee everything and that the unexpected will hit you, and you will fall. But you can learn to fall with style, to fall forward, and to bounce back. 

My plan to deal with the unexpected is to have backups, a cash reserve that can come to the rescue of the project, and always keep in mind that: if something can happen, it will! I should add to that more practice in falling :D.

New Normal – Collaboration Tools – Trello

Trello – The playful and pretty way to manage a project

If you are a fan of using post-it notes to organize your projects, you will love this next tool!

This post is part of the “New Normal – Collaboration Tools” series, and we are going to look at Trello.

Trello is so simple that it can be explained with just the picture below:

The idea is to use cards, organized in lists, to keep track of what is going on in the project. And the most simple version is to have the three classic lists:

  • To do 
  • Working On In
  • Done 

As you have guessed, you choose a card from the “To Do” list and move it to “Working On It” and when you finish, you move the card to the “Done List.”

So why is this so powerful, and not just use sticky cards on a real board? 

This series is called “Collaboration” tools, so that is where the power is. The Trello boards can be shared with teams of people. Now everyone can see the lists and move the cards around. This way, you can easily coordinate. For example, two people cannot pick up the same card to start working on it. Everyone has a clear picture of the status of the project by looking at the board. 

And the goodies don’t stop here! 

Each card can have its own comments – keeping the discussion always linked to the correct context.

The cards can have checklists – those can be used in very creative ways. For example, you can fragment the work further in sub-tasks, you can have a list of prerequisites that you are waiting to be fulfilled, and so on.

And the cards also have attachments. Attachments allow you to link relevant files to the card so the team can easily find them and access them as needed.

You can assign the card to someone, and you can set a due date

The interface is very friendly, playful, and easy to grasp! But make no mistake, Trello is not a toy. If you have time to dig into it, you will discover that it is an amazingly powerful tool. 

How to choose between Trello and Asana? 

If you are just starting with project management online, go with Trello. The free tier will serve you well for a long time. Asana is more complex and not as easy to learn. The only reason I am using Asana over Trello is due to my own resistance to change :). 

New Normal – Collaboration Tools – Asana

As I wrote in a previous post, the remote collaboration will become the “new normal,” so you might as well get comfortable with the tools. 

I bring up again the resistance to change. Know it is there, say “hello” to it, and then persist anyway. There are gems and diamonds on the other side! (And cookies if you like sweets).

Bribing aside, you can find dozens of tutorials on how to use Asana, so let’s instead dive into this question: “why bother?”

The challenges of “self-management”

School, and the first jobs I had, taught me to be obedient and to follow orders. This habit meant that someone else had to do the planning, issue the requests, and track the progress. 

When I broke off, on my own, choosing my projects and collaborators did not mean that I instantly knew how to self manage! Quite the opposite!

I was anxious that nobody was telling me what to do and when to do it. I perceived this responsibility as a burden. (spoiler alert – it is, in fact, great freedom, but it took me a while to wake up to that).

I began by writing my thoughts and things to do on pieces of paper. That worked so well for the first few days until I realized I was losing the pieces of paper, or some of the messages were no longer making sense because they had no context. (I had on a piece of paper this note in big, bold letters: “Very Important: 5“. To this day, I don’t know what was so important about that five.)

Next, I moved my notes to the computer. Each project had a “TO-DO.txt” file where I would write my tasks, and log my progress. This file worked well for many years. And I still use it today for small projects. With larger projects, it was getting more and more difficult to scan the file to see what is “done” what “needs to be done” and what is the deadline for each item. 

And there was another problem. I was continually checking that I did not miss anything from what I promised I would do and that I would deliver on time. This monitoring would crowd my attention by keeping mental track of dates and features and promises. Not much room left for creative thinking. 

I looked for a solution. I knew from the start that it had to be online. Why? Because I did not want to carry my computer with me to check on things. Ideally, I would log into a website and have everything there, accessible from wherever I have an internet connection.

The right tool for the job

I tested a couple of things, and the tool I like the most was Asana.

First of all, it has a free tier that has everything that I need. 

Second, it has an excellent design that makes sense. Think of it as an advanced “TO DO” list manager. That means you can easily add items; you can check them off as done; you can immediately see what still needs your attention.

These reasons were great, but what sold it to me was the feature to add “comments” for each item. I did not even know that I was missing this feature. Comments became essential for complex tasks, where I had to do research and keep track of my findings and have all that information connected with the relevant “to-do item.” A long text file with notes would become so hart to read that it would be useless. But items with their own set of comments, now that is very easy to digest at any time. 

The second thing was the reminders! When you set a deadline for a specific item, you will be emailed a few days in advance that you need to take care of that item. Now, I could relax and free my memory from all the dates and deadlines and allow the software to do that for me, knowing that I will not miss anything. 

The final reason is why I put this into the “collaborative tools” section. You can add more people into a project, share your list of items, add comments, and complete tasks. You no longer have to write emails working out with collaborators what needs to be done. Instead, you can assign a task to someone with two clicks, and they will get notified about it. A follow up to the email problem is that you can keep all the discussion next to the task, so you don’t have to search for an old email.

For a team (and even a solo project), this tool adds clarity! I have discovered that when you are clear on what needs to be done, it is much easier to build the confidence and the motivation to actually do it. 

In Conclusion: choose a small project and give Asana a go. Don’t just read this post and decide, but actually test it out and then decide if this can improve your workflow by freeing your mind to focus on the creative things and not project tracking. Look at this as an investment in yourself and your team.

The Process – A project from start to finish

There is value in having a process. It helps you provide consistent results, and you have something that you can continuously work on to improve. 

Here is “The Process” that I use today with software projects.

1. Are we a good fit? 

The first thing that happens is the discussion where both myself and the client try to determine if we are a good fit for one another. 

My job is to determine what the client needs and consider if I can provide a creative solution to solve that problem at a price that is fair for both of us. 

Sometimes this discussion happens in two parts if I need a break to do some research and investigation before I can begin to think of ways I could help. 

An important note here is that what is “needed” may not be what the client initial thought may be needed. That is why we have a conversation before any agreement happens. 

2. Project Set-Up 

After we agree on scope, price, and what it means to be 100% satisfied, I begin the work. 

With time I have learned the value of keeping things organized and tidy. 

Each client gets their individual folder that will document the history of the project. In that folder I will have things like:

  • meeting notes; 
  • agreement of project scope and price;
  • backups – I never do any changes unless I have a backup first;
  • client files – images, documents, other media;
  • a work-log – where I document what I have done and why. In very rare cases, I can use that to remind the client of the road we took together and justify a decision over the other. Another benefit is that you learn and get better by journaling what you do; 
  • access details – a file where I store various logins that the client has shared with me. In some cases, it makes good sense to have this file encrypted, like a ZIP archive with a password, for example;
  • any new agreed-upon changes also go here;

3. Making a plan – The List

I was trained, mostly by my father, to be organized by using lists. And I have kept that training and added on top of it. It is very useful, and it gives me clarity on what it needs to be done and in what order. 

Here I make a list of everything that needs to be done, broken down in tasks. The tool I use most of the time is Asana. I have tried Trello and Bootcamp, but I find Asana to be much closer to how I like to work. 

I also use a calendar service (like Google Calendar) to remind myself of upcoming deadlines.

Something that I found is handy is to split my list into three main sections:

 a. Go Live – the project cannot go live or shipped if any of the tasks here are not finished;

 b. Nice to Have – other tasks originating from the client that we can add later, after the go-live and in, some cases, in a “Phase 2” of the project;

 c. Bright Ideas – here I write down my own ideas that I think could help the client;

Why am I organizing things like this? 

The short answer is that it forces me to focus on the client; to get them on the market as soon as possible. I did not always use to think like that, and I was routinely making the mistake of focusing on tasks in the “Bright Ideas” section because there were so inspiring to me and they would challenge me. But in most cases, they were not mandatory for the client. So that added unjustified delays and extra costs. While I don’t think the client is always right, I do believe the client knows what is important to them. And that is where my focus should be and what I should be solving first. 

I hope it is now evident that the order in which I go about these tasks is: Go Live, then Nice To Have and then Bright Ideas. And I have learned to be OK with the fact that most projects stop after the “Go Live” part when the burning need of the client has been met. 

So why still keep “Nice to have” and “Bright Ideas” around? 

The biggest reason is to clear your mind so you can focus on the tasks at hand, knowing that your “good thoughts” are not lost. The second big reason is that is how you learn and grow. Maybe you don’t implement these ideas now, in this project, but because you wrote them down and thought about them you will remember them, and they may be the perfect solution for the next project or the “Phase 2” of this project. The “Bright Ideas” section is your most creative section. Don’t throw it away.

4. Set Up a Schedule 

I believe that if a project does not have a deadline, it will never finish. I am very wary of clients who say: “we can finish this whenever… no rush!”. That can be a source of significant delays for you and the project. 

I know this is not the same for everyone, but if deadlines motivate you, a client who is continuously delaying the project will drive you mad. 

In this step, I set-up reminders in my calendar for milestones that will help me get the work done in time for launch. 

When I do this, I need to allow time for the “unexpected” right before the launch. So I plan to finish the project at least a few days early to have some space to extend in case of unforeseen trouble. 

5. Doing the work

Only in step 5 comes the most fun part for me, doing software work :). But as a solopreneur, I need to do and master the business admin part as well.

When doing software work, I have a few principles that I follow:

  • Blocks of uninterrupted time – 2 – 3 hours blocks when I am the most efficient. When coding, there is a complex context that you need to have running in your head, and that takes time to build. If your block of time is too short, then most of that is spent just reminding yourself what the project is about;
  • use a versioning system – this should be obvious – even if you are working alone, it is so much easier to roll back to something that was working when you have a versioning system in place 
  • automatic testing – for particular clients that require a very high level of quality control this needs to be done;
  • Automatic backups of the client’s old code/website – again, just in case you need to roll back. Make sure the backups also include the database, not just the code files;
  • Keep track of working time – in some cases, “hours of time” is what I am billing to the client, and also this is how I know if we are going to finish on time. I am however transitioning out of this, so stay tuned for a post about it. Keeping track of time can be a learning and discipline building tool, just like journaling your work, but sometimes it becomes very, very restrictive and creates a lot of stress; 

6. Client Feedback 

I used to work, work, work, and then do the “big WOW” reveal at the end when the client would be floored with the amazing quality and results. 

This big reveal was silly. 

Why? Because it would allow me to focus on the “Bright Ideas” list instead of “Go Live.” And I would deliver an excellent, high-quality product, that would not speak to the client’s needs. 

What I do now is to deliver work in smaller increments and get feedback soon and often. I am careful here that the feedback I am looking for is “does this meet your needs, madam client?” and not about “how to do my job.” Therefore it is a tool to keep me focused on finding solutions that are important and relevant to the client. 

7. Making mistakes 

Mistakes are happening in every project. If I am not making mistakes, I am not learning anything new, and I am just delivering the same old solution. In some cases, that is OK, but generally, that is not what I am looking for. Each client is unique, so I want to challenge myself and meet their individual needs. 

It is therefore essential to know that I will be making mistakes and have a plan on what do to about them. Like, make sure I have factored that in the price so I don’t add more as a cost to the client to fix them. Also, I need to include those in my schedule. That is why I always have the “unexpected problem” in my planing with some time allocated to it. 

I am, however, fair. If I make a stupid mistake that I could have easily foreseen and avoided, the fix is on the house! I am talking here about the unavoidable trials and errors when you are building custom solutions and exploring places you have not explored before. Those mistakes need to be allowed for if you want to arrive at a good solution where you have explored alternatives that did not work. 

8. Going Live 

When I “go live,” I strive to have a seamless experience for the customer and their clients, which means as little to no downtime if that is at all possible. Over time I have discovered various ways of “flipping the switch” that can use depending on the specific situation. 

Again here, backups are super important. In case you mess up the live deployment, you need to be sure you can roll back to what worked before. I have seen so many instances where this not done, and people roll the dice. They may be that good, but it is just a matter of “when” things will crash on you, not “if.” I have learned my lesson.

9. Review and Learn

Ideally, the project has completed with the “double thank you.” You give thanks for the business, and the client is grateful for the solution they got. 

Either way now is the time to reflect on the project and look for “lessons learned.” 

What worked? Do more of that!

What did not work? Do less of that! 🙂 Or at least try to figure out what you can do differently next time. 

Something else that shows up here is opportunities to learn new things. Look at the “Bright Ideas” section and the “Nice to Have” section and try to come up with solutions to those that use new technologies. I sometimes set-up a pet project where I implement that solution.

I mustn’t skip this step or else I would get stuck in a rut. 

Mic to you!

How is your process different when you’re helping your clients? What are some of your lessons learned along your journey?