From my perspective as a software developer, a tool you could use to avoid some pitfalls when starting a new IT project. Sum up the points below. Higher score is better.

“Keep it Simple”

[#1] The lines of code would …

  • (+1) … decrease
  • (-1) … increase
  • TIP: Simplify and remove. You aren’t gonna need it. Every line of code adds to the maintenance cost.

[#2] The amount of version numbers to keep updated would …

  • (+1) … decrease
  • (-1) … increase
  • TIP: Upgrading services and dependencies costs in maintenance time.

[#3] The proposed technology …

  • (+1) … is already in use at the company
  • (-1) … would be introduced at the company
  • TIP: To learn new technology takes time and increases the skill level required at the workplace.

[#4] Onboarding a new software developer will become …

  • (+1) … easier
  • (-1) … harder
  • TIP: Complex setups steals time and reduces innovation speed. Silo forming happens faster if learning how to run a pice of software is hard. Strive for plug and play. Will it just work out of the box?

“Not Invented Here”

[#5] The project is about …

  • (+1) … improving upon an existing solution
  • (-1) … build a new and fresh solution
  • TIP: Dig where you stand. Improve upon what you already have. The grass is usually not greener on the other side.

[#6] The technology is developed by …

  • (+1) … programmers at another company (ideally large and well known)
  • (-1) … the programmers at the company itself
  • TIP: Do not reinvent the wheel, it is often harder and takes longer than expected.

[#7] The users of this technology …

  • (+1) … are many and there’s plenty of online tutorials available
  • (-1) … are a few early adopters
  • TIP: Save time by copy pasting snippets from engineering blogs.

[#8] We can not use that existing solution because …

  • (+1) … it lacks crucial features we absolutely require
  • (-1) … it is not perfect and we strive for perfection
  • TIP: Nothing is perfect. Even what you code yourself will have flaws.

“Agility”

[#9] The project delivers value …

  • (+1) … very soon, already before everything is done
  • (-1) … at the end, only when everything is fully completed
  • TIP: Suddenly the solution may have become good enough and something else proves to be more important.

[#10] Should the project has to be shut down halfway in …

  • (+1) … the code written so far could be put to use anyways
  • (-1) … the code written so far would need to be thrown away
  • TIP: Divide the project into multiple smaller deliverables. Each deliverable offers value as is.

[#11] The size of the project is …

  • (+1) … small
  • (-1) … large
  • TIP: If a project is estimated to take a lot of time, maybe it is too big to begin with.

[#12] The product release process will become …

  • (+1) … simpler than before
  • (-1) … more complex than before
  • TIP: If releasing is hard, then less releases will be made and agility decreases.

“Business Value”

[#13] When you describe the project to a colleague from another department …

  • (+1) … it sounds important to the company and and perhaps they become a little happy
  • (-1) … it sounds technical, difficult to understand, and unclear what it’s good for
  • TIP: Avoid coding something complex just for the sake of the technical challenge

[#14] The pay back time of the project based on time required and your salary …

  • (+1) … is lower than a year
  • (-1) … it higher than a year
  • TIP: Some things are not valuable enough to spend developer time one

[#15] If you play pretend that the company is at the brink of bankruptcy …

  • (+1) … the projects feels like a potential life saver
  • (-1) … the project actually feels pretty unimportant
  • TIP: As a company outgrows the startup phase and more people are employed it’s easy to lose perspective.

[#16] When this feature is released the existing customers will …

  • (+1) … feel the product was significantly improved
  • (-1) … probably not notice that anything changed
  • TIP: Know your customers. What are their pains? What do they long for?

[#17] Our sales department says the project …

  • (+1) … will be worth mentioning
  • (-1) … won’t be useful in a sales pitch
  • TIP: Occasionally code something really sellable. Getting new customers matter.

“People”

[#18] After completion of the project the employees …

  • (+1) … will be happier at work
  • (-1) … will be more irritated at work
  • TIP: Happy people are productive people. Decreases employee turnover and increases knowledge preservation.

[#19] The people involved in the project …

  • (+1) … think the project sounds fun and important
  • (-1) … would rather be working on something else
  • TIP: Leveraging personal interests can increase productivity.

[#20] The team tasked with the project …

  • (+1) … exists since before, and the people have learnt to work well with each other
  • (-1) … will be newly formed, and the people have not previously worked with each other
  • TIP: Team productivity increases over time. Team building takes time early on. People works better together as they get to know one another.