A core tenet of modern development processes is agile development. This development methodology stresses using small, bite-sized user stories to define what a system does from a user perspective, not a technical one. A user cares if a product is fast, easy to use, and solves their problem. They do not care if it follows a 3-tier architecture, has Mongo DB, or if it is using Rails or Asp.net.