We work in monthly cycles. You can call it sprints, milestones or whatever you want. Each version of Leon has its own number starting from the main version, followed by a consecutive cycle (month) and the subversion under the cycle. You can see the version number on the login page in the lower, right corner together with server update date and server name you are on.
Every single task we have to do is planned using workflow planning software called FogBugz. We do our customer support on this system as well. By the way - if you want to login to that system instead of writing us support request emails, leave us a message and we’ll create account for you. You will be able to see your ticket list easier that way.
Every last Wednesday of the month we have a meeting and assign tasks for the next release. One week later, this release development is starting and then Leon is in the pre-alpha stage sitting on our internal server so that developers have easy access to the shared code. We use Mercurial versioning software for keeping everything synchronized.
When developers close their tasks, our quality assurance department (people working there are the same ones as in customer support department - these two are connected for the time being) make sure that every new function works. They click and torture it and try to find bugs. If the testing is OK, function is closed to be released in the alpha version. Alpha is also tested internally. The only difference between alpha and pre-alpha is that alpha is not under constant development. There are always two versions living simultaneously. One in the pre-alpha stage (under development and used only internally) and the second one in the alpha, beta and finally stable stage, which is no longer developed and is tested internally (alpha) and by our customers (beta).
As soon as we release beta version, we announce that on our website with the list of changes you might expect. We do it also using RSS channel so you don’t need to visit our website all the time. Before that, we update our manual to reflect those changes and from the moment of release the new version is available for testing under beta.leon.aero address. We inform customers who are waiting for the new features and functions to do the testing on their side. If there are any bugs, we fix them to prepare for the stable release or if a bug is significant, sometimes we need to remove the whole function, repair it and publish it with the next release. Hopefully, it happens not too often. And finally we release stable version, which you are working on.
We do custom development and we want to continue doing that as we know that we cannot predict all possible scenarios of what you might expect from the software. Sometimes we do the functions free of charge because we plan to do them anyway. Sometimes if they are not in our development plan we charge for additional programming the customer who orders it and this function is included in our software. In that way you can receive functionality someone else paid for and vice versa. Major functions are always on our development line and we invest your monthly fees into doing them. We collect customer expectations and then try to design it in the most flexible way. Based on our experience, we now know a lot more about how these function should work and for that reason we constantly improve them. Many modules will be rewritten from scratch in Leon 3.xx
One important factor with custom development is that even if the request is small and requires a few hours of work, we cannot give it right away. Sometimes it is confusing for customers, why they need to wait almost two months for the minor change in the software. The reason is that every change needs to go through the full product release cycle which takes one month. So if we have a request, we plan it for the future release which might start in the next month and will last for another month. Until the autumn of 2012 we were publishing the new code at once but the application size doesn’t allow us to do it any more. Number one priority is the product quality. We prefer you to wait for a longer while than to deliver something with errors that will affect all application users. This change was introduced in October 2012 when we implemented pre-alpha, alpha, beta and stable releases.
In our business we take customer support very seriously. We know how important it is and on the other hand we know how hard it is to meet all customer requests. Our number 1 in customer support is to deliver you reliable information when you can expect the issue to be fixed or implemented. For that reason we are analysing customer’s requests on a daily basis and make decisions if we can include some fixes / improvements in the release currently being developed. So yes, we don’t plan our next releases for 100% developer time capacity. We leave some time for unpredicted requests.
We encourage you to contact us whenever you feel you need a training. We use Skype for communication with screen sharing ability and our customer support team will be happy to show you how you can use some new or existing functions. Remember that on-line training courses are included in the monthly fee so don’t hesitate to use them.