.. traditional software development focus too much on how software is constructed and not enough on what it is for.
.. a short iterative development process to ensure that we are always solving the most important problems.
.. a development team with a wide range of skills that all share the same core values and work in a complementary and harmonious manner.