A
A
Andrey Shevchuk2012-10-12 17:19:35
Web development
Andrey Shevchuk, 2012-10-12 17:19:35

What is the best way to build an information system in a company?

It was necessary to choose a tool for implementing an information system for the internal needs of the company, and, ideally, to estimate the time and cost. Since I have practically no experience in creating such systems, I want to additionally consult with the community.
How is this supposed to work
There is a company. The company has projects. The project is managed by an employee, in the course of work, a set of goods for purchase and their quantity are associated with the project. The employee takes these goods from the catalog, which is filled by the employees themselves, so if the desired product is not in the catalog, he can create it and then associate it with the project. On the project page, it also uploads a file with project documentation, which it periodically updates by uploading again, while the system stores only the latest (ie, the latest version). The format is exotic, so you don't have to think about versioning and sometimes even textual display. When the preparation of the project is completed, the employee uploads a scan of the document on coordination with the managers (PDF, separately from the documentation!) to its page and changes the status to, say, “Ready for implementation”.
The log of project operations is displayed on its page: 10/10/2012 13:37 Mstislav the Great uploaded the documentation file, 10/11/2012 07:40 Yitzhak Arkadyevich changed the project status to "Ready for implementation", etc.
With the change of the status of the project, other employees come into play =) It is important for them what needs to be purchased and how much. In addition, for a specific project, there may be a small amount of goods for purchase, which makes their order unprofitable. Therefore, products for all projects with the required status are aggregated and displayed on a separate page. Upon purchase, employees enter information into the system. In other words, they create a record associated with the product, indicate the quantity, and this is taken into account on the page with the list of products for purchase. Upon receipt of the goods, this record is updated (i.e., the purchase receives the status "Successfully completed"). To know what is in stock, goods (and their quantity) from successfully completed purchases are displayed on a separate page.
The goods are then distributed among the projects and they are actually implemented, but so far there is no talk of reflecting this within the framework of the IP.
The main question
is How to implement it better: write from scratch, or based on a lightweight framework, or something heavier (like Symfony, ZF), or use an even more ready-made Drupal, or another CMS / CMF? Or is it something completely different in general (i.e., maybe I'm looking in the wrong place)?
Questions with an asterisk =)

  • How to estimate the time when implementing alone (maybe there will be several, but for now only one for estimation)? I'm thinking about 3-4 months. I am well?
  • How to estimate the cost? It is clear that the minimum is the market salary multiplied by the time, and the maximum is the customer's resources. How to find a balance? How much do these things sell for, anyone have experience?

I understand that the answer largely depends on the background (common "what you understand better, do it"). I have been using Drupal for quite a long time, but not very deeply, I have not yet had to write modules myself, although I have a rough idea of ​​what is there and how. I used PHP frameworks, but lightweight ones, not Symfony and ZF (even wrote something like a small CRM). Those. I’m not a ninja =) In the end, it’s possible that I won’t be involved in the implementation at all, or I’m not the only one, but I’m still evaluating, but there is not enough experience in such systems - that’s why the community’s expertise is needed.
Thank you for your attention, I will be glad to hear any advice and opinions.

Answer the question

In order to leave comments, you need to log in

6 answer(s)
D
Danny Chernyavsky, 2012-10-12
@DEHisOK

I did not see anything complicated in the TK. Users, projects, directory. I didn’t understand the moment of distribution of goods a little, but I think there’s nothing complicated here either.
Based on my "background" - codeigniter will do (as I understand it, you are focused on PHP).
You can try to file some ready-made solution for the project management system, but I won’t tell you in this matter, because. I love redmine, and he is in ruby. There is no product catalog there, but there is all the rest of the functionality.
If we return to the idea of ​​self-writing, I repeat, I don’t see anything complicated. The ideal solution, I think, would be to choose a light project management engine and finish the theme with products and their statuses (in fact, each product is a subtask, if you really estimate it very roughly). In redmine terminology, this can be a related task.
For example, there is a certain project “New Year's action CHOCOLATE AND IRON AS A GIFT” (I don’t know the context, I give only a fictitious example). In this case, the related tasks will be “buy chocolates”, “buy irons”. Each of the purchase tasks will have a description and statuses (purchased in full, etc.). That's all :)
Ie . my suggestion is to conduct a research on ready-made proposals and estimate the complexity of the revision. If there is an option in which there are typed tasks, then it should not be difficult to make the “purchase” task type.
According to labor costs from scratch 1-1.5 (all authorization with access rights, projects, catalog). This is a pessimistic calculation. There are faster solutions in the freelance market, I think.

V
Vampiro, 2012-10-12
@Vampiro

If the solution is niche, then it makes sense to make a self-written one, so that later it can be promoted in this niche and recapture some of the funds.
If it is highly custom, then it is quite possible to make a revision of something ready. But don't forget support. When you need to change something, finding a programmer who can find jambs in the resulting thing will be difficult.
Only the developer can estimate the time, because what one can do in 6 hours, the second will rivet for three days. =/

N
Nikolai Turnaviotov, 2012-10-13
@foxmuldercp

You can also try to look towards some document management systems and take some things from there, although they are usually integrated with project management

D
Daniel Newman, 2012-10-14
@danielnewman

In a similar freeze. I'll cut in.
In the banking sector (even in the top 10 banks of the Russian Federation), in enterprises (here the circle is even wider), very often simple tasks are solved by bundles of software, dozens of open windows in one session, etc., which causes trouble for everyone. Although there (in big business) both budgets and specialists - everything is there. Why is there such a madhouse - the topic of a separate article ... UKRF)
In theory, there are some "ideologies" such as ERP, CRM, etc., which contain some business models, just like a good CMS has its own content models, its own elementary units information (post, node, etc.) and their basic properties (post/node date, its title, author, category, tags, etc.), as well as methods for working with these data units. Sorry for the terminological rubbish, but I'm not an architect.
There are interfaces (UI) to display a list of posts, taxonomies, authors, etc. and we are also looking towards CMS as the backbone for the future system. Of course, I had to see all sorts of alterations to the CMS, but to imagine how in the same Joomla the archaic hard interface with new “goodies” twisted by our logic will look ugly - frost on the skin.
About Drupal - generally keep quiet, because. I do not touch it precisely because of its interface. The absence of an interface. Although, maybe over the past two years everything has changed there (big doubt).
It is logical to assume that specifically for ERP tasks (if this is the term) there should be similar open solutions, with their models based on practice, their own interfaces and logic. That would immediately have its own “idea of ​​taxonomy” at the core level and did not have to, out of ignorance, invent it from scratch. Well, of course, there should be its own business logic. And all this talk about how you can write 1C in Drupal, and write your own SAP in C ++ (with this very cool framework) ...) Let's take a realistic look at life.
Like the author of the post, the question, in CMS terminology, resembles the one asked 1001 times before on Habré and sounds like this: “is it worth using a ready-made CMS or writing from scratch”. All these conversations, in fact, come to the same conclusions that it is better to cut someone else's CMF/Framework if there is no experience in writing your own series of successful CMS/CMF/Framework with a dozen implementations. Ruby, symphony and even uyy are inevitably remembered. Well, they are fiercely minus for the proposal to write a .NET application. Everyone disagrees with the same opinion with which they came to comment, the author of the question does not choose anything, but everyone hung out cool. )
The conversation in those matters, of course, is about sites, but the essence is identical. Therefore, the conclusions must be very close. The idea that Joomla/Droopal are sufficient CMFs... Well, maybe Drupal, but it's a monstrous solution, covering only 20% of the existing formulated tasks, because belongs to a slightly different class of solutions, rewards with excessive heavy functional garbage and extra business logic from another opera. (Here I can exaggerate the real problem). By the way, Wordpress is also called CMF on Wikipedia (hehe). And in the weekly topic “best posts” there is a ToDo List application on wordpress. I myself am a fan of WordPress, but I don’t want to build a fence with a file. I don't even want to think about it.
If the question does not die, I would very much like to hear about real-life and applied solutions, with community, api, practices and all the benefits that are in the current three CMS, because the idea is to write ERP from scratch without understanding all existing business logics ( in the sense of a real business, not a programmer) and models ... If from scratch, then you need to start from something, otherwise it's like going online for the first time in your life and writing your really good CMS in 1.5 months
. Sorry for the many letters. Unpleasant topic.)

A
Alexander Alexandrov, 2012-10-17
@BraveHeart

It is obvious from the essay: a moderated pseudo store is needed.
Moderated - because many have the right to change the status, the ability to change / add.
Pseudo - because it is not so much a store as a system of accounting and communication.
In store builds for Drupal, there is a similar and more interesting functionality. There is also a huge support team - Russian, English, Belarusian, Ukrainian, even Moldavian, and the possibilities are chic. It is possible to do without writing modules, if you filter the thoughts of the TK several times and structure them in the theses.
Galactic voice towards simplification, Drupal. ;)

D
Danny Chernyavsky, 2012-10-12
@DEHisOK

Regarding the assessment of resources, it makes sense to estimate the number and complexity of the main modules and count based on them. I think your experience should be enough. It makes sense to immediately multiply the result by 1.2-1.5.
In the same way with money - time is multiplied by the average market value (for example, at the rate of 10-12 dollars per hour). And also multiply by 1.2 :)

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question