VI’s Development Manifesto


VI’s Development Manifesto

We focus on solution goal over technology

Why?

Our customers’ satisfaction depends on the effectiveness of the solution to achieve their own goals, and not on the underlying technology itself.

How?

Understand the customer’s needs to find suitable solutions.
If a new technology might be a fit for a specific part, discuss with your colleagues if the investment has use for the whole project.

We live the values and principles of the Agile Manifesto

Why?

We are convinced that it leads to better software, higher customer satisfaction, more user value and better collaboration between disciplines.

How?

Act according to the values and principles of the Agile Manifesto in every project, regardless of whether it is agile or not.

We write clean code

Why?

Clean code is the key factor to keep the software maintainable in the long-term. Code itself carries a cost — the simpler the code while maintaining the same amount of functionality, the better.

How?

Follow the clean code principles permanently and fundamentally.
Help and challenge your co-workers to do it too.

We build loosely coupled systems

Why?

With a decoupled architecture, we gain flexibility to use the best-fitting service/library/technology for every part of the system. They enable us to work more independently and simultaneously.

How?

Discuss and define APIs first, before writing code.
Choose fitting open-source and commercial services, and integrate them into one product.

We bring innovation into our projects

Why?

Business and technology evolve very fast, and we need to know the trends to stay competitive and future-proof.

How?

We know the trends.
We question our current solutions.
If an innovation improves the solution, we convince our clients to use it.

We don’t reinvent the wheel!

Why?

Reuse increases efficiency and consistency, and thus saves time and money. Chances are high that someone has already solved your problem.

How?

Talk to other devs and do your own research.
Use already existing components, services, patterns, architectures, etc.

We automate every repetitive task

Why?

Our most valuable strength as human devs is creating new things. We let the machines do what they do best, so that we can concentrate on what we do best.

How?

Question current manual processes.
Write scripts, and use automation and provisioning tools (like Github Actions, AWS Cloud Formation, Ansible, Terraform, etc.).
Keep optimizing your automated processes (builds, deployments, testing, documentation, code generation).

We contribute

Why?

We profit every day from people who share their knowledge worldwide - we want to be part of this amazing community. Sharing knowledge increases the overall value of our work and quality of our company.

How?

Be proactive! Share with the community, contribute to repos you are using, add own repos for solutions that can be reused by others.