What is our primary use case?
erwin is deployed on individual desktops and the individual users install it or have a help desk person install it for them.
Our primary use case is for during any type of project development or maintenance and application maintenance, we go through a process of modeling our data before it gets put into the database. We interact with the application development teams to determine what their requirements are and build the data models, and then turn them into actual physical database items.
How has it helped my organization?
erwin has definitely helped us improve our enforcement of standards and database design best practices. Before we really started using the tool or having a data modeling type of team, application development efforts all had their own database structures. Developers tend to not be too concerned with the data. They just want to make everything work for their application as easy as possible. Having the tool and having a team built around it has really helped us make sure that we're following the best normalization processes, we're not duplicating data, and we have a standard naming scheme that everybody has to follow.
What is most valuable?
The modeling portion of the tool is the most valuable. There are some notes, naming standards, and other functions that we use as well. There's a whole boatload of functionality in this thing and we use maybe 10% of it. It seems to be pretty common that not all the functionality is fully utilized. But it's got gobs and gobs of stuff that you can implement if you so choose to.
We've definitely expounded on the amount of features we use. They've built in some automated naming standards that have been really helpful for us. That's probably the biggest leap we've used. We've always used the comments and notes features, but the automated naming features have been very helpful.
Its ability to overcome data source complexity and enabling understanding and collaboration around maintenance and usage is extremely helpful because they give a visual to not only developers and database administrators, but the user base themselves. So the typical user isn't going to understand database functionality. Being able to show them a picture of how their data is actually going to look in the database is very helpful for their understanding of what we're trying to do with their data.
erwin's ability to compare and synchronize data sources with data models in terms of accuracy and speed for keeping them in sync is very good. We utilize that service quite a bit. The one drawback is if you have an extremely large complex model, the compare process can take quite a bit of time, more than four hours.
Its ability to generate database code from a model for a wide array of data sources cuts development time. The fact that you can generate the DDL correctly from the model saves us a bunch of time. I would say it saves us around 40% to 50%. So even though you can generate the DDL, you still have to go in and tweak it a little bit.
What needs improvement?
The only real complaint I have is the time it takes to do a database comparison on a large model. If they could speed that up, that would be the only thing I can think of that needs improvement.
For how long have I used the solution?
We've been using erwin since about 2000. We were using another product before, but it was way too cumbersome, so we switched to erwin.
What do I think about the stability of the solution?
Stability is excellent. It's been a solid product for years and I don't expect it to change.
What do I think about the scalability of the solution?
It's extremely scalable. Our environment has hundreds of tables.
We have five data modelers using the tool. That's the team that actually works with the app dev and DBAs to actually come up with the database design. Then we have another five users that act more in a read-only type of mode. They just want to look at the data models, but they don't actually do any of the design work.
How are customer service and technical support?
Their support was excellent. Typically it has to do with going through the upgrade process. If we have an issue, we'll reach out to them. The other thing we've had to reach out to them about was the time it was taking to do a data comparison on our extremely large model to the actual physical database. They were very helpful and very professional.
We don't typically have problems transitioning between the models. We did last time, but it was actually an error on our end. It wasn't an error on the erwin end.
Which solution did I use previously and why did I switch?
We were using Cayenne. We switched because it was cumbersome.
How was the initial setup?
The initial setup is typically straightforward. Just follow their instructions and everything goes pretty smoothly.
For the Data Modeler portion itself, on each desktop, the setup took around half an hour, and we have around 10 desktops.
We didn't necessarily have a deployment strategy. We just gave the product to anybody that thought they needed it and let them run with it.
For maintenance, we need one person, but it's definitely not a full-time job. It's just adding and subtracting users and going through the upgrade process when we do that. As far as installation, everybody basically installs it themselves. We don't require a full-time person for that either.
We have a team around it, so if we add our data modeling team up, we use it about six hours a day per person. That would be about 18 hours a day for those guys. The read-only users rarely use it, so they're pretty insignificant.
We probably only use 10% to 20% of the functionality and I don't see us expanding on that a whole lot. There's a lot of neat little things in there, but we don't have time to implement them all. There's some overhead that goes with those functions that we choose not to undertake.
Since we got a new guy on our team, he's gotten into some of those functions and has been able to utilize some of that stuff some more. We're actually probably closer to 30% or 40% of the functions at this point. We're not thinking about expanding because of the overhead.
What's my experience with pricing, setup cost, and licensing?
I don't remember what our costs are. I know they just recently switched from a per seat type of licensing to a concurrent user type of licensing agreement, which is neither here nor there. I don't think it has increased or decreased the cost at all, but it's not obtrusive or invasive as far as the cost goes. It's fairly affordable.
There are also internal costs if you have hosted on-prem because you have to have a server and database to stand it up on.
Which other solutions did I evaluate?
We didn't evaluate another solution because I had used erwin at another location and was extremely familiar with it. And I had also used Visio and some more manual-type methods like Visio. At the point that we decided to switch over, I was confident that erwin was the best solution out there.
What other advice do I have?
erwin is by far the best tool I've ever used.
My advice to somebody considering this solution is to go for it. It's easy. The functionality is fantastic. It's easy to pick up. It does basically everything you could want it to do.
The automation of reusable design rules and standards has helped us immensely once we implemented it because having the automated naming standards and things like that, we don't have to go in and think about it. We don't have to go in and physically type it. Between generating the DDL and getting it into physical implementation was saving us 40% to 50% of time. It's because of those automated features that that's happening as opposed to having to sit there and type out the DDL from scratch, it saves a ton of time.
It produces a time savings of about 40%.
The accuracy and the speed of this solution in transforming complex designs into well-aligned data sources absolutely make the cost of the tool worth it.
My advice would be to let things evolve over time. Start with the basics first. Just get into the ERD functions first and then start implementing some of the automated naming standards and things like that as you go. Otherwise, if you try to dive into the whole thing, you're just going to get overwhelmed because the product is so deep as far as features go. It's extremely intuitive. As far as the basics go, as far as getting your ERDs established, it's probably the easiest tool I've ever used. If you understand the basics of database design, it's extremely natural. If you have no clue about database design, then your learning curve is going to be large no matter what tool you pick. But erwin definitely cuts that learning curve down just because of its intuitiveness.
Once you start diving into the automated feature sets like naming standards and things like that, the learning curve there is a little steeper, but it's still not too bad. For a brand new person, if you try to delve into the automated stuff and all the additional functionality, you're just going to get overwhelmed and feel that there is too much overhead. But you don't need to implement all those features right off the bat.
I would rate erwin a ten out of ten.
Which deployment model are you using for this solution?
Which version of this solution are you currently using?