Back before Simon Baker was The Mentalist, he used to star in a show called The Guardian.  There was one episode where his character – a high-powered corporate attorney named Nick Fallin – was hired to buy a company for a particular price.  In order to get the deal down to the requested size, he began chopping off pieces of the company that weren’t central to its business, including their private jet.  Unfortunately, the main reason that the CEO wanted to buy that particular company was to get their private jet.

For the software engineer, part of the job is discerning what is important.  So how do we discern what is important?  These are some ideas:

  1.  Talk with the stakeholders.  This may seem obvious, but sometimes it gets missed.  I have seen RFPs with requirements that the users don’t need and don’t want, but whoever wrote the thing was just copying specifications from someone’s marketing literature with no idea what some of the words mean.  By talking with stakeholders, you find out what it is they really want.
  2. Know your goals.  Nobody is paying for a software product just for amusement purposes – they pay for it because it is either going to cut down on costs or it will generate income.
  3. Know your users.  Will you have one user or one million users?  Will your users be technical or will they be non-technical?  If you are creating a web application, will it be on a public server or an internal one?  Knowing your users allows you to tailor your application to meet their needs and not focus on irrelevant considerations.

What do you consider important in your projects?  Let us know in your comments.

Knowing what is importantimage credit: Stefan Petre

One Comment

  1. Robert Bellarmine

    “What we learn from lessons learned is that we don’t learn from lessons learned.” – T. Block

Comments are closed.