Over mounds of meat and eggs the other night, we derived the famous Enterprise Software Ladder. The theory goes that the development of Enterprise Software typically goes through the following stages:
- Features/Innovation: You come up with some system that takes data in one end, transforms and/or arranges it, and spits it out the other end, or ends.
- Multi-user: You change the system so that multiple people can use it at once.
- Role-Based Security: You change it so that each of those users can be put into groups, and each of those groups can do different things.
- Fine-grained security: Your “static” groups — admin, user, etc. — aren’t good enough for everyone, so you add in a full-blown permission driven security model where new groups can be created with all possible combinations of rights to do things.
- Externalized security: Integration with other security systems: LDAP, Active Directory, etc.
- One word: dashboards.
- Playing Well Together: With multiple systems running around in your company, someone says, “holy crap! We’ve got 400 different applications, and none of them talk to each other! Let’s integrate all these things!”
At the end, some plucky group in your own company or, more typically, another company, has started at the lower rung of the ladder, coming up with newer, better features. And your customers have started to notice.