Solve Your Problems Algorithmically

Sunday, May 27, 2007 at 02:10pm by David Askaripour in Operations

In mathematics, computing, linguistics, and related disciplines, an algorithm is a finite list of well-defined instructions for accomplishing some task that, given an initial state, will terminate in a defined end-state. (wikipedia)

Most innovative and successful entrepreneurs, whether they know it or not, think algorithmically when attempting to solve a problem in the cleanest, easiest, and most efficient manner.

When you think algorithmically, you think in steps — not in large blocks. Thinking this way isn’t a pragmatic process, it’s one of defining small and concise steps (re: instructions) that all work together to solve a problem and produce the end result that you are seeking.

Let’s use a super simple example to demonstrate this concept. Say that you are a web designer and you are getting ready to jump into a new project. Now, there are two ways to approach a project, the sloppy way and the efficient / clean way.

The sloppy way goes something like this:

  1. Find the client
  2. Briefly discuss the project to get a “general” idea of the direction
  3. Jump into the project without breaking it down into tasks
  4. Complete the job
  5. Present to client
  6. Correct and revise
  7. Present to client
  8. Correct and revise
  9. Present to client
  10. Correct and revise – get the idea?

This is a very sloppy and inefficient manner to approach a problem. Your time is being wasted. The client’s time is being wasted. There is a lot of noise between you and the client. Confusion arises. Concepts become nebulous. And it’s just a downright dirty way of doing business.

Now when you think algorithmically, you approach problems much differently. You’d approach the job like this:

  1. Evaluate the needs of the client and gain an intuitive understanding of what needs to get done. You’d meet with the client with a pen and paper in your hand and start outlining exactly what will be needed to accomplish the task.
  2. Reduce, subtract, and simplify: You now take the general concept and break it down into smaller, fine-tuned, tasks. These tasks would be assessed in detail and broken down into milestones. At this point, you’d also assign your team responsibility and state who needs to do what. The idea, here, is to break things down and keep the steps simple as possible.
  3. Get to work: now it’s time to build the site and get the design rockin’. You would begin with mocks, present them to client, and then move on from there. Minor tweaking and adjusting will take place in this stage, but it shouldn’t be anything serious if you’ve followed steps 1 and 2 and kept the lines of communication open with your client.
  4. Complete design and review again with client. The site should be 99% complete and a small widow of time should be kept open for final adjustments and revisions.

You see what happened here? You broke things down into small steps and your time was spent in the most efficient manner as possible. You saved time, there were 85% less corrections because you and your client were on the same page throughout the process. Responsibilities were delegated. The job was completed smoothly and everyone was happy.

Of course this was a super simple example and thinking algorithmically goes way deeper than web design, i.e., building large-scale web platforms and dynamic applications that resolve large amounts of data. Think google, digg, etc…

The point: Break things down! Don’t approach problems in large and sloppy blocks and ignore the little steps in between. You’ll lose time and work inefficiently. Don’t work hard, work smart.

Here is a guide to get you started:

Basic Strategy for Algorithmic Problem Solving

Spread some petals These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • Reddit
  • NewsVine

3 Comments

lawrence

May 27th, 2007 at 5:01 pm

breaking things down to simplify, and not get congested.

same goes for one’s metabolism…instead of eating 3 relatively large meals a day…it’s better/healthier to divide that total food into 5 sections throughout the day

thereby increasing your metabolism and ability to burn if off.

well i guess than can be said of alot of things. basically, more refinded - is better than less refined, lol

DanaJ

May 28th, 2007 at 4:37 pm

Do you have documentation from a project that you can post as an example? That would turn this article from ‘kinda interesting’ into ‘bookmark and reference’ :)

David Askaripour

May 28th, 2007 at 5:04 pm

Hey Dana, good point. I’ll try and add something. In the meantime, I just added a link to the bottom of the article that will help you get started.

Leave a Comment

Subscribe to Mind Petals Youtube Channel
Subscribe to Mind Petals

Categories

Subscribe

View archive

Please Support Mind Petals

"Young and Hungry: The New Entrepreneur" will take you on a journey of two young entrepreneurs who share their thoughts, experiences, and lessoned learned while in the process to finding success. Everything from discussing entrepreneurship with your parents to building a business team -- it's covered in this book. Read now »