I am newly employed by a company. After a couple of weeks, I have heard lots of time that there is a huge project which most of the programmers are working on it. They call it something like Managing Everything Software. Then, somehow I got the document which they define what the MES will do. The document itself was 60 pages but contains only about what it does, not how it does.
The document simply describes properties of these softwares:
- Enterprise Resource Planning (ERP),
- Human Resources Management System (HRMS),
- Content Management System (CMS),
- Learning Content Management System (LCMS),
- Enterprise Social Platform,
- Document and Workflow Management System,
- File Management System that can search on any file type like PDF, Word, etc.(like Elastic Search)
- LDAP based authentication and authorization
Not only that, all these will be wired to each other.
It may seem those are different software projects but they are not. The project is, to make all of these with one big software:
Most of you already know the divide and conquer method to apply to software development. If it would be me, I would divide those tasks into small pieces. Then define database tables for each piece. Every piece would be responsible for their own data. No other part would have direct access to those tables which belong to other piece of program. If they need to access it, they would ask the responsible program to do it. This is pretty much an architecture of the SOA. But the way this big project is written, never mentions those pieces nor how connections between them will be. According to documentation, every part can see or change any table (if authorized).
Since people so involved in what the software will achieve, they pretty much seem in a position which they had narrowed vision. The project is reflected as silver bullet for all problems. I have to tell them we should slice the project into little ones and connect them like in SOA and this will make everything much more easier. But the problem is I don't know how to convince them that their approach is not the best way to do it. I have to provide solid evidence, sources, books, links and maybe videos to convince them that this is not gonna work.
I couldn't find any documents to support me(since my English is not so great to search this non technical stuff on internet). Can you please provide any information about why doing everything with one software project is wrong?