User Tools

Site Tools


principles:origin

Origin of Evenja

Back in 1992

Fabian José Padilla is building software since 1979, and professionnaly since 1986. He developed the professional software directly with the client (from Producer to User). Check the LinkedIn CV for further details.

But in 1992, Fabian was tired of following the standard development process:

  1. User “use case”
  2. Analysis
  3. Coding
  4. Testing
  5. Delivery

After delivery, the client would always ask for new features, and as they were not part of the first use case at all, it was necessary to go through the whole development cycle again.

When working in a team, it is common and well accepted that several iterations of the development cycle are necessary. However when working as a single developer, the costs in money and time associated with the extra iterations are too high. A small one-developer company can easily become uncompetitive due to the time lost that way.

When realizing this, Fabian started to search for a way to add any functionality requested by the client without having to bear the cost of lost time, something that would enable him to integrate any new piece of code into existing software without risking the creation of bugs by increased complexity and without slowing down existing software.

The wiki page Principles will try to explain thought process that brought Evenja, a nice solution to the problems described above.

How ?

The first questions were:

  • How a small team can make big applications?
  • How can we create software without bugs and in simpler way?
  • How can we use standard tools to enable new and clear opportunities?
  • Is it possible to add a new functionality to a piece of software without thinking of existing ones ?

In order to bring an answer to those questions, it was necessary to define more clearly what we mean by software and how we expect to interact with software:

  • What is software?
  • Given the goal of a piece of software, what are its constraints?
  • Are there basic bricks that all software are built upon? Can we create a “Meneleïev table” of all software behaviors?
  • Can we organize the “atoms of behavior” differently ?

What is a software ?

Part of this essential question is answered in the wonderful "Structure and Interpretetion of Computer Programs" book, written in 1992, the same year the first concepts of Evenja were laid.

The book will be used as reference throughout this explanation of Evenja. As you will see, Evenja differs from the concepts developed in the book, and the next pages will explain the differences and the advantages of Evenja over other concepts.


Next page of Evenja's theory, Software ?.

principles/origin.txt · Last modified: 2014/10/13 15:19 by fabian