My (professional) Creed

When developing software

  1. Build strong relationships with the stakeholder and understand its business culture.
  2. Understand the business domain before proposing technical solutions.
  3. Keep the solution essential and realize it fast: the longer the development process, the higher the chance of requirements shifts.
  4. Pay attention to users requests, but do not forget you are the expert, bound to deliver the best solution, not a yes-man bent on delivering what the user likes.
  5. Write down the essential requirements, leaving aside the most volatile requirements, like the user interface details.
  6. Choose the core technologies with an eye open to the advantages of open source software.
  7. Try hard to integrate GIS into the existing IT infrastructure: there is nothing inherintly special about spatial information.
  8. Release early, release often. Produce a roadmap to let people know you are heading somewhere.
  9. Streamline and automate the build and deploy stages (otherwise releasing often would become too painful).
  10. Do not sweep issues under the carpet: hidden things come back with a vengeance. However unpleasent is to deal with issues, not sharing them with the stakeholders is even worse.
  11. Produce a small Version Description Document at every realese to assess where you are.
  12. Test, test and test again.

When working on Technical Assistance projects in developing countries

  1. Try hard to understand the culture of the place and its history. Crucially, you have to understand how and why things are working in such a peculiar way in that specific country for your application domain. Do not assume that even bizarre ways of managing, say, a Cadastre, are in place without reasons.
  2. Be polite and adapt to local customs: you are a guest.
  3. Since you are transient in the country, leave a proper paper trail for other to build upon your experience and arrange a proper transition of your duties.
  4. Understand the balance of power amongst stakeholders, but do not play to it: you are a professional bound only to professional integrity.
  5. Do not forget you are a tool of foreign policy of the donor organization: understand and follow the broader goals of the donor.
  6. Build something sustainable (open source software may come in handy).
  7. If need be, argue with the team leader in private, never in public. It is the team leader who has the ultimate responsability of the project, hence follow his/her directives even when you disagree.
  8. Pay attention to gender: in most developing countries women still hold lower positions than they deserve, often there is potential to reap.
  9. Never lose the high moral ground: even on small matters (bribing a traffic cop, driving too hard a bargain at the bazaar, "forgetting" tips, etc).
Comments (0)