I have a scenario where customers are asking to develop a new project on struts 1. It appears they have many applications running on Struts 1 and the in house IT team is comfortable with it.
For data access, we are asked to write JDBC, no ORM, not even Spring DAO. They have developed a framework and we have been asked to use that.
I'm wondering if anyone here have been in a similar situation, and managed to convince the customer to use newer frameworks.
I've lived a similarly painful scenario. To win an argument you first have to convince them.
Saying that "Struts 1 sucks" won't cut it, since they can always say that "it's tested, and it works for the other projects".
What I did is this:
1) I created a prototype in a better framework that I found suited for the job (in my case was Rife) ... in 3 days.
2) I created the same prototype in Struts 1.x ... I managed to do it in 5 days, but it was a lot more painful, as anticipated.
3) I then created a presentation with pretty pictures, code metrics, and things that I get for free from a framework like Rife, that I don't get from Struts 1.
In the end their choice was Struts 2 with Hibernate. Better, but still, it was in the end a bad decision. We delivered our application in 18 months when we could've done it in 3. The technological choice isn't the only one to blame here ... we had all sorts of internal procedures we had to follow, and we also had to rewrite large portions of code because of the shifting policies of our management, not to mention integration with all sorts of deprecated internal systems.
The only conclusion I came to was that enterprise software done in big shops really suck the life out of software developers.