Why choose the Agile Platform instead of a proper .NET setup ?

Why choose the Agile Platform instead of a proper .NET setup ?

  
All,

We are sometimes struggling with convincing our potential customers of the excellence of the Agile Platform.
The question we are getting quite often: "Why pay licences for a .NET environment?"

I would like to hear from you, including the OutSystems people themselves and answer the questions honestly.
Personally I am convinced that Outsystems is excellent, but I could achieve the same going back to visual studio and tooling.

- Why should the customer have to pay licences for a .net environment like OutSystems?
- What are the Unique Selling points of the Outsystems Agile Platform versus a good setup of an .NET development environment (the whole OTAP street) ?
- Why would you, as a developer, manager choose Outsystems over for example  Visual Studio Express and achieve the same?

Thanks in advance.

Hi Joost, great, great question!


In fact, we do have an answer. But a rather long one :)

This is an excellent opportunity to listen the community and what you guys have to say (before I influence you with an answer).

Everyone, please let us know what do you think:
  • Why should the customer have to pay licences for a .NET environment like OutSystems?
  • What are the Unique Selling points of the Agile Platform versus a good setup of an .NET development environment (the whole OTAP street)?
  • Why would you, as a developer, manager choose Outsystems over, for example, Visual Studio Express and achieve the same?

* Speed of development pays for the licensing costs in well under ONE MONTH with a *single* developer working. My rates as a consultant aren't exactly hidden, they are on my company's Web site. I can deliver solutions in about 1/4th the cost and 1/5th - 1/3rd the time as my competitors using VS2010. In fact, I am so insanely confident of my ability to deliver a solution on time, I offer a PAIR of price guarantees: first, we bill by the iteration with a 10 hour time bucket. I don't care how long we work, your price for the iteration never changes. That's a LOT of confidence in the ability to deliver on time. Also note just how small the time bucket is, you can barely get a DB driven "Hello World" in ASP.NET for 10 hours let alone a big pile of changes. the second guarantee we make is that if the TOTAL time for the iteration is 7 hours or less, we bill by the hour, to save money. I will bet that you will NEVER find a consultant with not one but two price guarantees to ensure that customers save the most money possible, but thanks to Agile Platform, we can do it!

* Maintenance: As I said to someone recently, "Agile Platform does not eliminate technical debt, but it cuts the interest rate dramatically". I can tell you that I can pick up a project months later and still make sense of it, or even someone else's project, and follow the logic. Go try that in anything else. As a former Perl developer myself...

* Reusability: By sticking with standard naming conventions, I can reliably copy/paste huge chunks of code form one project to another and it works 100% correctly.

* Accuracy of solutions: I often work for hours without doing a deployment to test, and when I *do* deploy to test, I find zero or minimal bugs.

* Trainability: I work with people who are NOT technical superstars (not even developers), but are able to do basic work and make simple changes. I've been hearing that promise my entirely from this industry, Agile Platform delivers on it.

* The community: I have never had a question unanswered, period. And I have never seen a question left unanswered, and if I *did* see something getting stale, I answered it myself. Good luck on Stack Exchange getting something answered that can't be answered with 2 minutes or less of search engine work...

* The company: OutSystems, as a company, is outstanding. Does Microsoft have anything like Wisdom of the Crowds and take it seriously? They patrol the forums and make sure questions get answered. Their support staff is awesome. I love that I can send an email saying, "I think I found a bug", and less than 24 hours later it's a confirmed bug and I see it fixed in the next version. OutSystems takes "customer support" to a level that I've just never seen in the industry. Quite frankly, I cannot bear to touch ASP.NET after working extensively with Agile Platform. It feels like licking a hot clothes iron while smashing myself in the head with an empty wine bottle in the middle of 34th street in New York City.

J.Ja
Why do we choose the agile platform IDE for development over visual studio .NET?
Main reason "We are able to make changes really really fast!, which is not possible in visual studio .NET."





@Justin: About the speed section:

1/4 of the cost : Do you use the sizing tool for proposals ?  
We always tend to go over the competition if we use sisizng tool for proposals

1/5th - 1/3rd the time  Do you use seperate EM, DM persons ?
Sizing tool offers lots of overhead on a project, yes I know this can be adjusted ...


@Robert: Question still remains ... why pay for a (runtime) license on a .net environment
Great stuff, guys!


Let me summarize a bit what you discussed until now.


Life-Cycle
  • Development is very fast
  • Change is fast and easy
  • You get confident to deliver on time
  • You get predictability on delivery time, using a sizing tool
  • Very easy to reuse code between different projects

Knowledge Transfer
  • Very fast to get into a project and understand it
  • Technology easy to use and learn
  • Great and responsiveness user community

Robustness and Quality
  • Highly stable technology
  • OutSystems is committed to customer success

Is this correct? From your past experiences, can you guys give specific examples of why the above bullets are not possible with .NET? When you tried to do it, why weren't you able to?


Thank you!
We can convice a customer to start using OutSystems because of speed etc etc.

But still the big question is : why pay a license fee for a .NET runtime environment ??
Hi guys,

Without wanting to disrupt the flow of the discussion - which I've been following - I'm not sure I follow Joop's comment:

1/4 of the cost : Do you use the sizing tool for proposals ?  
We always tend to go over the competition if we use sisizng tool for proposals


If I understand correctly, you're saying that if you use the sizing tool, your proposal will be more expensive than the competition. Is that correct?

If that's the case, do you feel that it is because it is wrong? Are the competition's estimates reasonable?

In case you still haven't done so (though, knowing you as I do, you probably have :D ), I strongly recommend you send all of the feedback you have on that to our Agile Center team, specifically to agilecenter@outsystems.com . I think it would be interesting for them to know more about your experience with it.

Regards, and keep up with the main topic.

Paulo Tavares
I really don't understand Joop's question (why pay a license fee for a .NET runtime environment ??)

OS is hardly a .NET runtime environment (specially if u think there is a Java stack also, though it's not as up to date as the .NET but still), but more important it's not only a runtime environment...

OS will get you 1CP, productivity boosts, efficient support, etc., etc. (I'm sure you know all the OS brand key features, not going to detail them)

So the question is, why do you say it's only a runtime environment?
Ok, let me enlight it ...

Convincing a customer to choose for us, because we use OutSystems as development environment and therefore can deliver faster, change faster, etc. is no issue.
The fact that a customer has to pay a yearly license for a .NET application/platform is the problem (let's say challenge).

And also if we use the sizing tool our proposals are not cheaper than competition (...or we might size incorrect)

Competition doe not ask a yearly fee to run their application on a Windows Server, so that's the main issue here.
How to convince a customer still to go for OutSystems and also let them pay the license fee. What do they pay for ??
I agree with most if not all of the comments above but ...

I am an internal developer for a (financial) company. This means some focusses are different for me. I can sell the benefits of Agile Platform easy enough to my superiors just by demonstrating and explaining them as they are now. All but one and I know I have said this before but it stays. Software Units.

Software units are the one thing that I dislike (and I am not saying the product will not be approved or bought because of them, just that I dislike them). My main gripe is that I expect they will raise the same question for every new application I wish to develop in Agile Platform (which if it was up to me is all of them). The question being that I justify why I want to do the new application in Agile Platform (and thus use up some of our remaining SU count) and not in 'pure' .NET (i.e. Visual Studio in my case). Once you add a counter such as S.U.'s to a license you can rest assured some beancounter somewhere will decide you have to justify using them. And even if that does not happen, at the very least you will be asked to check if you can not reduce the S.U. footprint of the applications you have developped every time the S.U. count has to be increased.

All of this for me means extra work when the whole point was to reduce time spent on the applications.

Note that I always speak of applications in the plural. For our organisation Agile Platform would be used for smaller applications that fill the gaps between our core applications (which are 3rd party apps) and the occasional larger application (when doing it in Agile Platform would be easier/better/quicker). It also sounds to me that in this scenario we would 'waste' a lot of our SU's on the basic frameworks that each of these small applications would have (login page, user prefs etc..).
Well for Joop's words I'm taking it that you are selling closed projects/apps for clients that will not be going over any change in the future, because if you are not then again I don't see the reason of the question...

The clients don't pay a yearly fee only to get us to develop in less time, they pay for the ability to have a platform where themselves can easily change and improve the product you deliver them, they pay for the whole series of technical benefits of having a fast, reliable, scalable deployment platform, etc.

But if you are selling closed projects, then I can see how your question is pertinent...the question then is: are closed projects viable using OS as development platform?
@Joost
"Robert: Question still remains ... why pay for a (runtime) license on a .net environment"

We purchased outsystems license because we develop our own our product for our own company, therefore we are the customer.

@Joop -

I actually do NOT use the sizing tool, and I do all of the estimations, management, etc. myself. What I've found is that we get two types of change requests: basic requests for a new page, and I don't need a sizing tool for that. It typically takes me 10 - 15 minutes to create a new entity and its attributes and make a "ViewXYZ" page and an "EditXYZ" page. The other types of changes/features are the really unique pieces (or things that require Integration Studio) and as a result, I'm cautious of a tool-generated estimate. I don't have a bunch of people in the organization, which keeps up lean and mean, keeps costs down, and reduces out time to deliver because we don't have to keep passing information amongst ourselves. A long time ago, I worked in a department, I was the 2nd person hired. After a year, we had 20 people in the department. It took is just as long to get stuff done despite having 10 times as many people, because the lines of communication were so long. I learned my lesson from that!

J.Ja
@Joost -

You aren't paying for a ".NET Runtime Environment", you are paying for the Platform Server and Service Center, both of which are extraordinarily valuable (in addition to the development system, of course, which pays for itself in a MONTH with one dev, and a week or two with more devs). How much would you pay for equivalent functionality to be added to a standard .NET environment, such as scale out, the caching, the deployment/rollback story (that right there is worth the cost of the license in my opinion! I used to spend HOURS on each deployment for a traditional Java app!), the built-in performance monitoring, etc.?

You'd be paying tens of thousands per server to get this all separate, build it yourself, or in wasted time to not have it.

Agile Platform is a huge bargain.

J.Ja
Pedro,

"Well for Joop's words I'm taking it that you are selling closed projects/apps for clients that will not be going over any change in the future, because if you are not then again I don't see the reason of the question..."

I think this is the point where Joop is talking about.

When I start working with OS I've seen a video (think in the sales trainings?) about OS that comes in an organistation as a solution for a small/medium application. Then the company see the big advantage of the OS and use it to develop other application until OS is used for each it application for the company (marketing video ? :) ).

I don't say OS does, but it mostly works on this way: For new customers you come to build/rebuild an small/medium application.

The customer only wants you to build an application and maybe some management to keep it working. So the customer want to buy an application he needed. When you're talking with the cutomer (with the sales head on), you talk about OS and how great it is. Customer get enthusiastic but then it comes to the pricing:
.Net -> x amount
OS -> x amount + (continuous) amount for licencing

So it just is a matter of time before the .Net application get's cheaper then the OS application. It maybe takes longer to build the application but that price will pay off afterwards. Also keep in mind that the person at the customer who takes the decision mostly only see the numbers (mostly the person at the customer who set up the sales route gets enthusiastic about OS, but don't make the final decision).

On that point you can't tell the customer that when this project is done you know for shure the customer give an order to build/rebuild an other application (well you always can but you got my point :) ) so he needs that OS agile platfrom for the future.

So how do you confince the customer that he still need to go for the OS agile platform instead of the .Net application? In other words what is the advantage of the OS agile platform?

Kind regards,
Evert
Sorry for this late reply and possibly digging up a thread that is going stale but I have been busy with other things lately.

I have just realised my comment on the SU's seems to be moot in the new version which is the best news ever. While it is still true that the Standard editions and Comunity editions have SU counts (and for them it does make more sense I admit given their target audience), the enterprise edition seems to have Unlimited SU's now which is great (and makes sense also).

It will definitly help my struggle to convice people on my end to opt for AP instead of a vanilla .NET setup.
"It will definitly help my struggle to convice people on my end to opt for AP instead of a vanilla .NET setup."

When you say people are you referring to your clients, do you develop software for your client (3rd party)? or people inside your company, you develop corporate software for internal use?
Hi Guys

I can understand where Joost and Joop are coming from but also where Justin is coming from. So why am I posting you ask???

We are just about to begin a project to develop a portal type application. The intention in the first place therefore is to host this as a SaaS solution so the OS AP licensing model works just fine, we can build the app, deploy it on our own servers and pay one licensing cost dependent on the total number of users we need for all our clients. The more users the better, it becomes much more cost effective much more quickly as the user count increases.

However here is the crippler. There is a strong likelihood that one or more of our clients may ask to have their own dedicated solution hosted on their own servers. This is probably the scenario that Joop and Joost are talking about and despite the Agility and Speed of development, they will have to pay a license cost per user on a yearly basis to continue to use the Applications that are developed for them.

Now I might be missing something here, but thats going to get expensive really quickly with a lot of users. The client would quite rightly be asking "why am I incurring this ongoing cost for something I paid for as part of the project." Although most large software solutions have some kind of yearly support cost, this is going to be enhanced by the ongoing AP license costs. This model is incredibly difficult to justify for one off development projects and therefore really difficult to sell the AP if they want an application that serves a purpose but don't want to pay for ongoing support, and we all know that happens!!

I think I have managed to summarise the issues and it is one that cannot really be ignored. Maybe OutSystems have a licensing solution that addresses this particular scenario, for example a one off license fee which only allows the client to run an AP project but without the benefits of Service Studio and Integration Studio etc.

I'm really nervous about posting this in case there is something I don't know about the licensing models but I really just wanted to say I can see the points being raised and I think they are valid in certain circumstances.

Any comments?

Regards
Alex
Possible Solution? In order to solve the problem (the client not wanting to pay for outsystems licensing fee, as it does not make sense to them), you might want to deattached the application from the AP. 
Robert -

I write applications for true "clients" who pay me to write them. Also of note, the apps I write are (so far) exclusively of the SaaS style, so the issues that Alex brought up are all pertinent to my clients. Concerns over licensing come up in every discussion I have with prospective clients, and it is typically a Top 5 concern.

J.Ja
@Justin

How did you solve the problem where you a software consultant/developer that provides development services to your client. You develop a custom application for your client using the AP. 

You charge the client a development fee, (maybe an annual software support fee aswell), plus charge the client for development changes etc...Now on top of all this how do you sell the AP to this particular type of client?

This is a real client and a real case, this particular client does not require the use of service center, service studio, service integration, (or even know how to use them) these are tools that IT professonals/developers would use for software development, software management/deployment and software monitoring, how do you get the client to pay for something that you use but they dont directly use themself for their business?


Summary:
So far AP seems to work when...
-You develop a small application for your client that uses the free community license (Your client does not need to pay for outsystems licensing)
-You develop software for your client and host it as a service using the SaaS business model. (You pay for outsystems licensing but your client does not need to pay for licensing)
-A company develops internal/corporate applications for itself, and able to can see real benefits of the AP within their internal IT/software development department (The company pays for outsystems licensing).


Robert -

Luckily for me, all of my clients are actually already interested in Agile Platform before I ever talk to them. They are either looking for help with an existing project, or they are exploring its use for a project.

I think your analysis of the three scenarios is pretty accurate. #1 is a bit dicey though, the 30k SUs in Community Edition do not go very far in my experience. Part of it is how the SUs are calculated. Having a permission eats something like 2,000 SUs (at least in 5.X), and IntelliWarp loves to make something like 3 or 4 permissions for each entity you create a screen for.

The big limitation for me to shift to an ISV model like what Alex alluded to and being able to make sales is the licensing. I think that a flat fee, perpetual Service Center + Platform Server only license would go a long way towards making it easier to sell applications built on top of Agile Platform for deployment in house.

J.Ja
@Justin


Thanks for the prompted response

"
venutally they might want to hire internal developers then they can purchase features for development aswell?Luckily for me, all of my clients are actually already interested in Agile Platform before I ever talk to them. They are either looking for help with an existing project, or they are exploring its use for a project."

These client, would hire you/your company to work together with their team or to develop their product, later on your client/client company continues to develop the product you built for them on their own? or how do they make use of AP?
Robert -

My customers right now have been taking my work and we do a slow handoff, for the most part. My biggest customer right now has taken my work as a starting point, they do the easy feature changes themselves, and have me do the big items. We do a LOT of screenshares so they can watch me work and learn. I have other clients that I know are going to always come to me (or someone like me) for changes because they don't have the time or technical savvy to take over the maintenance, and that is fine with me. It's really up to the client to look at their needs and capabilities in house. I work on an iterative basis, and my iterations are based on 10 hours of estimated development work (I don't charge for time past the estimate, and if we come in REALLY early I switch to an hourly bill to save the customer some money), and as a result, it's really easy to have a smooth handoff and lots of involvement from a customer's team.

A bit more than a year ago, I was preparing for my first powerlifting (a type of weightlifting) competition, and a few months before it, I knew I wasn't doing very well. I contacted a strength coach to help me out. He had a pile of experience and knowledge. He told me that his goal was to teach me the principles of what he knew, so that I wouldn't have to keep paying him to work with me. I like that philosophy, and it is how I try to do things. I never want someone to depend on me, I want them to work with me because it makes good sense for them.

J.Ja
"I think that a flat fee, perpetual Service Center + Platform Server only license would go a long way towards making it easier to sell applications built on top of Agile Platform for deployment in house."

If a perpetual license was provided by outsystems it would make sense for outsystems to charge according to the size of the application ( software units).

Client pays for software units that they use, if the clients application do not make further changes to their application no additional software units are required to be purchased. Therefore there will be no on going fee for your client to run/operate the application.

Client pays your company, the development fee+software unit fee, and thats it. 

Perpetual license may not come with development features. You (the developer) or the client would would need to subscribe to the current AP licensing fee model in order to continue development or make further changes to the application.

This keeps outsystems current business model intact but offers an additional option for your type of client, and may well work for your business.

What does outsystems think about this? :)
@Justin

I can see how it makes sense for your clients, where they are benefiting from the AP since they use it themself and develop software using the AP.

Guys

I think Robert sums it up well with the three main scenarios where AP works well and Justin seems to agree although I can see his point about the Community Edition being a little light on SU's. Mind you the guys at OS have demonstrated what you can do with 30k SU's (ish) in their new Apps.

In the original post by Joost he wrote "The question we are getting quite often: "Why pay licences for a .NET environment?"" ,

I think the question is now maybe "Why would a client pay user licences for a .NET runtime environment?"

The client does not see the AP development environment and neither do they really want to usually. They might not even have an internal IT dept or their own developers, they just want a working app that they pay for once as the project is delivered and run in their own infrastructure, no further costs incurred. They might at some point return for further development work and enhancements. Sometimes I guess a client may want to subscribe to some sort of support arrangement but lots of companies don't and take the risk of not doing this, after all we are in a recession right?

So far no one has addressed the original question and its a shame because the AP has the potential to give software companies who write one off solutions for clients that they then install and move on to the next project a real edge in the development market.  

I'm keen to hear if the Outsystems guys have a view on this and what that view is. Also any comments from the original posters here, did you find a solution??

Best Regards
Alex

Hi All,

Nice to see the discussion going futher. I think I'm going to add a WotC wish for a quote fuction on the forum :).

@Justin, I want to say thanks for being so open in you're bussiness it gives a good insight how you do take advantage of the AP.

----------------------------------------
In the original post by Joost he wrote "The question we are getting quite often: "Why pay licences for a .NET environment?"" ,

I think the question is now maybe "Why would a client pay user licences for a .NET runtime environment?"
----------------------------------------


I think the question still remain the same (you only suggest to pay
development and software unit fee, so no user).


But I'm curiours to the rather long answer of Rodrigo: "In fact, we do have an answer. But a rather long one :)"

Kind regards,
Evert


Alex -

One option that could work, is to deliver the application as a VM, and charge a support/maintenance fee which includes the Agile Platform license fee. If the customer ever decides to no longer maintain the application, you go through the process of disconnecting the app from the Platform Server, so they do not need to pay the Platform Server fee. If the customer ever decides to return to being a paying maintenance customer, then you re-license Agile Platform and again, roll it into the maintenance contract. For some applications, that will be a small enough portion of the maintenance fee that it is reasonable. And if they aren't under maintenance than they don't need it attached to Platform Server anyways (unless they want to make changes themselves, in which case they'll need a license).

J.Ja
@Robert When i say people on my end I mean in my company, as stated in my original post we wish to use AP to fill some gaps in the functionality of our core apps. Which means that initially we would use it for small things. As it happens I completed one such small app (just to demonstrate yet again how quick it can be done in AP) yesterday. 2 comboboxes, 1 button, 4 output values (results of dblookups based on the combobox, dbaccess by extension) , 1 web page, 4 screen actions including prepare. Total su cost 6600 su... This is a good example of what i need AP for. Problem is I have 20 more little apps like this that need to be redone urgently from their current form as thick client apps (vb based mostly) or excel vba apps. Most of which will be larger than this. You can see why SU count was up until now a problem. Since the apps are all seperate apps throwing them all in one espace to reduce SU count overall makes no sense.
Hello All,

So we don't forget this topic: Is ther already a solution for the question asked?

Kind regards,
Evert
Why choose the Agile Platform instead of a proper .NET setup ?

Can it be because OS asks if you want to use the product?

Product is great and offers lots of opportunities. But due to its price, there will be competitors, soon. Prices will go down, naturally.

I personally think that the optimal solution is to use the OS software as SaaS. The capabilities can be rented or bought. But output can not be rented forever.

"I personally think that the optimal solution is to use the OS software as SaaS. The capabilities can be rented or bought. But output can not be rented forever."

How do you suggest outsystems should price and support its product in this case? 

Hi Everyone,
I have been going through this discussion and a lot of valid points have been raised so far.My own take on this issue is that the Agile platform is definitely one of the most robust and productive platforms out there for now and just as @Justin has said,its  very  good when it comes SAAS model of business.But one of the crucial inputs that hasnt been stressedextensively  is the limit placed on the number of users that can make use of the application that is being developed on the agile platform.

 This is greatly dependent on the nature of the application being developed and the kind of business model.Let me give an example.If a client wants to develop an outfacing application like a forum so that the application would be deployed in house(not using saas).One thing  to  note is that its very common to see forums with over 10,000 REGISTERED USERBASE!!.let do the maths,assuming the forum was developed using the the standard 150.

 25 users = 400 euros monthly 
lets say 5,000 userbase = 80,000 euros(per month).

and mind you this is just the running cost ,the cost of development is not even included.This would definitely scare off the potential client because the running cost would be to expensive even if his application is generating some returns via adverts,user donations ad apps.its really hard to justify these cost to the client even though the agile platform is more thatn capable of delivering .I think the issue of limiting Named users is very critical in some situations and needs to be addressed.
Thanks.
Tmlewin -

You can get licenses with unlimited users. Is it a reasonable price to pay for running a forum or some other free, ad supported site? No. And the economics of the Agile Platform licensing don't support that anyways, unless it's something small and simple that doesn't require named users and can fit within 30,000 SUs (there's actually a site idea that I had that fits within those parameters, but it isn't a common app that makes sense). But if you are running a SaaS style operation, the cost of the unlimited SU, unlimited user license is more than made up for the development cost reduction. So unless you have a way to get free development work done (ie: you do all the work yourself, and have nothing else you *could* be doing for money) then Agile Platform can work out well for those scenarios.

J.Ja
@Justin James
Thanks for the reply but i think you misunderstood some of the points i made in my post .

1)Firtsly i reiterated that the saas model is an ideal business model for the agile platform.

2) secondly i cited a forum as an example may be not a good one but let me  rephrase my point.if a university is a client and  wants  a portal to be developed where  students can enroll ,make  payments ,study and do all sorts of stuff via the portal having in mind that the university have thousands of students and staff who are going to be registered users of the site.They insist that the site would be developed and deployed on their own dedicated solution.The running of cost of developing it on the agile platform would be quite expensive even if you secure an unlimited license.And have it in mind that there are other competitors who are offering low running cost if  developed on other technologies like php e.t.c.

3)the summary is that using the agile platform to develop depends on the nature of the app and mostly the kind of business model you run.Its very amazing/cost effective if you decide to run the saas model,but it might not alway be so.
@Tmlewin

Just a small correction:
As you can check out in our website at http://www.outsystems.com/agile-platform-editions the fee for that scenario would actually be €1.500 per month and not the €80.000 you refered to in your post.


The Agile Platform's pricing follows an approach based on user bands were the price per user drops dramatically with the number of users you are purchasing.

All the best,
    Pedro Oliveira
So this happens when you go on vacation :)

Still need to read through all of it, but I think we may have a solution or at least partial.

now just to find the perfect elevator pitch for it, and we're set.
Hi everyone,

Just thought I should wrap-up the discussion with a summary of what I've been hearing and my own thoughts on the subject.

I believe the overall conclusion is that the Agile Platform covers the full application life cycle. This means that:
  • the development time and cost is greatly reduced and with much greater predictability
  • changing and adapting your app to the business' requests over time has little cost and risk
  • anyone can quickly learn how to use the technology and immediately understand the code written by others
  • your application will have enterprise scalability support with little to none development effort
  • you can manage the full life cycle including not only development but also integration, staging, management, monitoring, version control, feedback capture, etc...
Overall this gives you an increased productivity of up to 10.9x for the entire app lifecyle.

On the other hand, as pointed out by some of you above, there are indeed situations where the benefits above are not really required. If what you are delivering is a one-of project; for an application that won't change over time; that won't require monitoring or maintenance, and where you don't really have a big time or cost pressure, then going for a plain hand-made application coded in .NET or another "traditional technology" might be the way to go.

To be honest, I don't think I've ever seen an enterprise application like this ever since I've started working in IT. From what I hear from the veterans in the industry they haven't seen many either. Even packaged applications very often end up with a bunch of customizations and extensions. Even if your application is perfect when you deliver it, within the next year, the business will change for sure and force you to adapt.

In any case, if your application does fit into the description above, you can always subscribe for 1 year to the Agile Platform and exercise the exit option to keep the application running after that with plain .NET or Java. Do take care as you know you will need to change the code at some point and you won't be able to get back to the Agile Platform then.

Overall we know that the licensing cost you get by subscribing to the Agile Platform is more than compensated for by everything you save in cost and risk in every other front. 

I hope this reflects your thoughts and is helpful for you.

All the best,
       Pedro Oliveira
@Pedro "In any case, if your application does fit into the description above, you can always subscribe for 1 year to the Agile Platform and exercise the exit option to keep the application running after that with plain .NET or Java. Do take care as you know you will need to change the code at some point and you won't be able to get back to the Agile Platform then."

Sorry but I must ask a very direct question.............why on earth doesnt outsystems let the user come back to the agile platform ever again, when there is an option to allow the user to come back?

There should be an option that does not require the user to deattach to .NET or Java - let the user keep their Agile Platform applications as it is running! without disruption to their business at all.

Now, when the user's license expires and it has not been renewed for another year, then all development features, debugging features, support agreement etc will no longer be available. Hence, the user will no longer be able to make new changes, publish new applications, not even fix bugs until the user renews his license for another year.

Wouldn't you think that would be a better option rather than not allowing the user to come back to the Agile platform ever again? 

p.s Some people wouldn't realise how good something really is, until it is gone! just like some business attempt to save alot of money and at the end of the day they realise how much money they are actually losing and want to go back to a time when everything was good (when they were using the agile platform), business makes mistake from time to time and when the mistake are made, there is no way to turn back??? in this case the customer lose and outsystems lose :( 

If this is a good way to do business, please explain how outsystems or the customer is benefiting by not having an option for the customer to return to the agile platform ever again?

(Of cause if the customer deattach to .NET or Java and then make changes manually without service studio, oviously the customer will not be able to come back to the agile platform again, technically outsystems can not do anything about this but outsystems can do something about with the suggestion made above and allow the user to come back to the agile platform again??)
Hi Robert,

From what i understand of the Outsystems platform licensing, well, getting back to the running version is indeed possible.

You just need to save the Outsystems code (Solutions and/or eSpaces) you had running at the moment you dettached, and then publish it again when you reinstall the Outsystems Agile Platform.

I can though see how good it would be for Outsystems to have some reverse engineering process, that would convert .NET code into Outsystems Markup Language. (I wonder if this is already posted in Wisdom of the Crowds).... 

The thing is : How do you get hold of all kinds of non standard .NET code and transform them into Outsystems fluxes ?

I believe that what Pedro mentioned when he said "Do take care as you know you will need to change the code at some point and you won't be able to get back to the Agile Platform then.", is that if you make any changes to your code in .NET, than Outsystems doesn't provide any tool to transform that code into OMLs. If your changes were just a few, perhaps you can get back to your old before-dettach Outsystems code and make those changes there.

If you completly changed the business and there is no way you can alter your old OMLs to get to where you are now with your apps, then, in my opinion, you have three options if you want to get back to Outsystems Platform :

1 - Rewrite it all over again with Outsystems (and by the way compare your development costs with the ones you had with .NET)

2 - Reconsider altering your old OMLs

3 - Compile your code into dlls, and integrate'em with Outsystems. 

Note: Please do consider before taking option number three, to make a ROI analysis on maintaining your old code in .NET, and then decide what is best for your business. If you have any doubts on how to build this ROI analysis, i am positive Outsystems would be glad to help you with that.

Hope i addressed your post right.

With best regards,

Diogo Cordovil S. Cordeiro
Hi Diogo,


Option 2 is not an option. Apart from very specific scenarios, it is an unethical and non legal practice.

It is your right to stop using the Agile Platform, but that includes stop using and destroying everything related with it, particularly the visual modeling language and its supporting formats, such as the OMLs. All this is integral part of the Agile Platform technology and must go away when you decide to stop using the technology.

The Intellectual Property of your applications after you exercise the exit option and detaching them, is given to you in the form of .NET or J2EE fully documented and optimized code, thus assuring no lock in to OutSystems.

We give you that not only to secure your investment, assure your business continuity, and your Intellectual Property (IP) continuity, but also because we know the Agile Platform is worth its costs. This continuity option cannot be used to avoid paying for the value you get by using the technology.
Hi guys, Robert,


We do let customers that terminate a subscription to use the Agile Platform again if they want. However it is not ethic to terminate a subscription for one year to avoid paying for all the Agile Platform value, and then starting another subscription in the year after for the same applications that he extracted. In fact, if the customer was using the same infrastructure, that would simply be a way for him not paying for one year.

Because this is such a huge and complete product, there is sometimes the misconception that the Agile Platform has no value when supporting running applications. It is natural, people cannot see everything the product has to offer... The Agile Platform provides a wide range of features that assure the applications are running smoothly and healthy, such as monitoring, analytics, horizontal scalability, debugging of malfunctions and fast hot fix, operation of network zones, support for disaster recovery, etc. These are the kind of things that you want to show your customer he needs to have on a production phase. He’ll be able to realize that, no matter how good a developer you are, software does need maintenance, his business WILL change, the conditions for which he thought your product would fit (x users, x records in the database) will change, you’ll have bugs in your code, etc.

If I choose not to pay for one year of electricity, I will have no power. The same for internet. The same for my phone. I keep getting benefits from these services so it is not strange to pay for them. The same happens with the Agile Platform. The subscription gives the customer access to all the great features of new Agile Platform versions and revisions. The customers use the platform features that keep the applications running smoothly. And we use the subscription money to invest in product development and make it better. Without subscriptions, there is money to invest in the product and it will stall. The same goes for other industries… Without my monthly bill, utility companies would not be able to improve the electric network, internet providers would not be able to improve the internet network, and phone operators would not be able to improve their coverage, upgrade to 3G and so on. That is why I pay my monthly bills: to access the service and have it better and better over the years.

We could have a perpetual model where customers would only pay once and own the Agile Platform forever. But then, in order to sustain the company and keep the product evolve, the perpetual price would need to be much higher than the yearly subscription. No one would buy it. With a subscription you can pay less as you go, while the software gives you value.


Thank you for all the feedback, this thread was very helpful.
Wow, I suddenly startled with the last posts. 

I understand the maintenance/support pricing part, and perhaps option 2 wasn't clear enough.

By "altering the old OMLs", i was not refering to the period when you don't have an Outsystems subscription licensed, but to the period when you get a new subscription.

Well, of course, Service Studio is available free of charge, and if the customer whishes to alter both .NET and old OS code (although wouldn't be able to test the last), i guess it's the customer decision, although i can hardly think of such a scenario....

I guess the comparison to the utilities services might not be entirely appropriate from what i can defer from the rest of the post. I think you were infering from my comment that the platform would still be there in the background....(but even if it is so....what good can it be if it is inoperative? I guess that when after a given time frame a license expires, all of its add-value tools would become unavailable too)

If you don't pay for electricity, internet, water, gas or whatever services you require, obviously you will not benefit of them. The same goes for the Outsystems platform while you are not paying.

But everything you did when you had electricity is yours by right, and so the same with the OMLs developed on a server with a valid license two or three years ago.

I really would like to understand this one.

What you are saying is that if a customer knows that he won't make any changes during a specific year, and wants to cancel the subscription for that year, and than get back to it the year after, he won't be able to do it?

If so, that's basically the same as saying " No, you cannot be my client this year. Either your business changes, or Outsystems does not want to support/make it's platform available to you. We won't take money from still businesses!"

(Of course that's obviously not the idea, but i must say that that is my reading of all this)

So, what is the Outsystems view on this one?

Best Regards,

Diogo Cordovil S. Cordeiro
Thanks for the responses.

@Rodrigo, When you do not pay your electrical bills, your electricity providers will no longer provide you with electricity, this in turn makes alot of sense.

However when you want to get electricity again all you have to do is pay your provider and they will return the electricity back into your home. With outsystems there is no return, once your off the platform, you are pretty much done, unable to return ever again!???

This seems to be very disruptive to a business, imagine not being able to get electricity back on, or not being able to get your mobile phone network to provide you with service ever again because you left, but that is another story.

I could understand that there will be (no doubt about it) customers that will stop their subscribing to the Agile platform for a year when they no longer require updates of their app. In this case maybe outsystems could charge these businesses a fee for running their web app only without service center features, without publishing features or any other features; Although this solution seems highly unlikely. 

An alternatively and more suitable solution, is to keep outsystems business model the same way as it is right now, except provide an option to allow the business to pay for the agile platform subscription on a monthly basises, vs paying the total annually fee in full in one go, you can charge more when a business pays monthly vs annually.
 
If amazon web services, salesforce, basecamp and other cloud service providers charged an annual fee, their service wouldn't be successful as they would be today. Business like paying small fee on a monthly basises just like they pay uitlity bills, even if it is more expensive than paying a larger annual fee with a discount, business like smaller fee because it does not kill their cash flow and it is less risky for their business to work this way, therefore businesses will close the deal and make decision much faster in turn, allows outsystems to become a more attractive product.

Outsystems might need to update the servicecenter to call home to validate the license each month, and get the credit card gateway to bill subscription on a monthly basises etc. This can seem like a big hassle but at the end of the day, at the end of the year you will make make more money by making it easier to sell the agile platform because you reduce the risk involved to start using the agile platform.

Paying for agile platform subscription fee on a monthly basises should at least be considered a option. It will help, of cause when business feel comfortable with the product, and start to make sense of it, they will most likely consider paying annually for the discount, if they choose.

Getting business to use the agile platform is very very hard, very hard to sell the agile platform, please do consider making it easier for software vendors to sell the agile platform!!! 

@Robert

It is definitely something to consider. I believe that with time we will get there and make it even more like utilities billing.

And as OutSystems becomes more pervasive, we might even consider charging a runtime fee as you say. But for now, that is not possible :)
@Rodrigo
"It is definitely something to consider. I believe that with time we will get there and make it even more like utilities billing."

that would be perfect!



"And as OutSystems becomes more pervasive, we might even consider charging a runtime fee as you say. But for now, that is not possible :)"

Great!