Dream Team

I want to work on a team who’s culture has these characteristics.

Collaborative - Communicate what you’re doing and your ideas to others often in order to understand the history of the current solution and to make sure the existing and/or new solution is aligned with our high level architecture.

Transparent - There are many people and teams that must coordinate work. In order to reduce duplication and increase efficiencies, we must be transparent with what we’re doing and how we’re doing it.

Debate - In order to encourage a healthy environment where the technology can evolve to correctly support the business, we encourage debate to flush out doing the right thing in relation to our architectural guidelines, goals, and business.

Challenge the status quo - Keep in mind that we want to increase our efficiencies while understanding the historical reasons of a decision.

Agile Principles

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.

Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

Business people and developers must work together daily throughout the project.

Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

Working software is the primary measure of progress.

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

Continuous attention to technical excellence and good design enhances agility.

Simplicity – the art of maximizing the amount of work not done – is essential.

The best architectures, requirements, and designs emerge from self-organizing teams.

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Agile Values

Individuals and interactions over processes and tools

Online tools to track issues and user stories are very useful, but nothing beats a face to face conversation about a user story.

Working software over comprehensive documentation

Remember, a pictures worth a thousand words. What’s seeing the software working worth?

Customer collaboration over contract negotiation

Do you want to be cover your butt, or would you rather be talking about the user stories?

Responding to change over following a plan

What’s really going to increase revenue, sticking with the plan that was developed 6 months ago?