Our Philosophy


Improved communication

Many people take part on a software project and each should bring what they can do best to the table. Developers are smart too, so they can and should be in charge of the data modelling. They must be able to experiment and constantly improve the system. What better place to facilitate the communication between developers than at code level? When the code reflects the author's intention, someone else can quickly understand it, learn from it and talk about it. It can improve communication to non-developers as well. When people are more important than tools, new ideas – as well as misunderstanding and corrections – should be quickly incorporated into the current system, tested and talked about.

Plan what really needs planning

We believe customers, managers and developers should spend their time planning the essential part of the application: business logic and user interaction. Often it is too soon or too difficult to make the right decision about things such as database configuration, transaction interceptors and other things not related to the application funcionality. User interaction modeling is hard in itself. Tiny Marbles allows fast, easy and constant change of the data model to reflect changes in the user stories.

Learn as you go

The architecture of Tiny Marbles isolates the small parts of the data model called business entities. It's helpful when you want to try new ideas, see if they work, then remove or adopt them without loosing the data you already have. You can continue to change the model even after the application went into production, acquiring users and learning as you go forward. All the time you will have a real application to talk about: to discuss with developers, to ask for feedback, to show your users.

Publish as soon as possible

We believe that user interactions are hard to get right the first time. We also want to write applications that can be deployed and tested very soon, with real users, so you can get good feedback. Especially performance optimizations can be done properly only after you have seen real usage. We like to release something fast and keep the door open for changes. Prototyping on top of Tiny Marbles instead a more rigid infrastructure can make a big difference.

We would love to read your questions or comments: