For the past couple weeks I’ve had fun asking that of people. I’ve asked it of prominent PHP developers, customers, major enterprise software organizations, and product evangelists. The only conclusion that I’ve come to is that no one has a clue. In order to add to the chaos, I thought I’d offer my opinion.
An enterprise application is a system or products that live primarily to combine and extend an organization’s existing data, functions, and systems to help people do their jobs better.
In terms of attribution, this overlaps quite a bit with the definition given by my friend and colleague Josh Holmes, a Platform Evangelist with Microsoft.
To explain this further, let me put some boundaries on my definition:
First, the size of the team doesn’t matter. Facebook has hundreds of PHP developers on staff, but few would call it an enterprise application. That doesn’t discount the ability of their teams. Some of Facebook’s technology is amazing.
Next, the size of the application (lines of code) doesn’t matter. Most video games – especially MMO’s – have millions of lines of code, some may even have billions.
Next, it’s not the amount of traffic/usage that defines enterprise. The ‘I Can Haz Cheeseburger’ network is something like an estimated 178% of the web’s traffic.
Finally, it’s definitely not the development process. With the advent of cheap/free unit testing, deployment, and infrastructure tools, the most cash-strapped startups can have rock solid processes.
I think the key to all of this is intent. The goal – not necessarily the result – of most Enterprise Development is to make someone’s job easier or more effective by pulling together information and presenting it in new ways. Business intelligence, ERP, CRM, and reporting systems all fit into this category.
So why is this important to web2project?
I’m writing about this concept in this space because this is key to our Vision for web2project. Our goal is to make and improve the system based on real-world feedback, needs, and requests. We already work to pull together different data sources whether you consider the Project Importer to import Microsoft Project XML or the iCalendar feeds to publish data where the team members need it. Further, we support LDAP authentication so people don’t need to remember yet another password. Adding IIS support in January was a small but significant step.
Our Vision going forward is that web2project can be dropped into any organization’s existing infrastructure and simply work. It should be able to authenticate using the organization’s architecture. It should be able to retrieve from and broadcast data to CRM and billing systems. Assuming it is technically feasible with PHP, it should support the database system and web server software your organization already uses. Finally, and most importantly, it should make your team members’ jobs easier and give them better information.
If we fail in those things, web2project becomes a toy, not the enterprise tool it should be.