I have been developing a software package for managing project-based material. The software includes importing an existing Excel spreadsheet bill of material (BOM) into either a BOM worksheet (custom software) or into a requisitions’ worksheet (custom software). The difference between a BOM and a requisition worksheet is the supplier is not defined and the cost is not firm in the BOM, but the Requisition will either have a default supplier or an alternate supplier can be chosen. The line item’s cost is confirmed prior to moving to a purchase order. One caveat of the BOM program is the line item (or record) must exist in the primary database before the record or complete BOM can be transferred to Requisitions.
The software package works with database records in two fashions: volatile and non-volatile. In the BOM software, each record is editable directly from the worksheet. Since the BOM is a development tool, records were chosen to be completely editable. A BOM to the customer does not require costs or suppliers. Depending on the BOM goals, generally only quantity, manufacturer, model, and description are required. Beyond the basic material descriptors, a comment may be required. Instruments often have a tag. Components within an enclosure may have a tag also. Most field equipment BOM’s include instrument ranges. Therefore, a column for range was included as an option. Additionally, the BOM has headers and footers, dates, page numbers.
The Purchasing Agent’s laborious task was to transfer the contents of a purchase order to the bookkeeping software. Anyone could imagine how much redundancy is involved in moving data from source to destination for a multitude of similar designs on a multitude of projects using the same components repetitiously. Granted, the bookkeeping software aided if properly set up. But transferring line-by-line was more than monotonous. The paramount guideline was one word: Accuracy!
Ground Base Goal: The initial concept of design was a singular focus: take the contents of an excel spreadsheet purchase order and transfer to the contractor’s bookkeeping package.

This idea was not simple in execution. Along with material specifics, costs and quantity were necessary. Additionally, the supplier was required and delivery information. Delivery was of two choices: House or Site. The site delivery could be also the contractor’s business or the owner’s address. Flexibility was needed.
In the initial development stages, the program would import an Excel spreadsheet into a Dataset (ref. Visual Studio, Dataset into a DataGridView). The following detail illustrates the extended development concept. All data resides in a database.

A considerable length of time later, the BOM program was brought on line to enhance BOM development and BOM ease of use with requisitions.

In all of this block flow, where does a programmer start? Points to consider:
- Is the organization team based?
- Is the work project based?
- Does each project have a project manager?
- Will each project manager have multiple projects?
- What are the parameters of each project?
- Fast track or long duration?
- Short term?
- Multiple site applications?
In a project-based organization, each item may have associated time.
- In a project-based organization, each item may have associated time.
- Is time to be tracked per project per employee?
- Does the project require a concept-of-design for approval?

If project labor is to be tracked, then employees will need information to allocate their labor. This will require access to project information, project number and title, and a method to keep track time used per project, which leads to a Time Sheet. Automating the time sheet with quickly accessible project information is beneficial to reduce the struggle of handling multiple projects. A Time Sheet program addressing the project’s database fields for number and title reduces the struggle of duplicating excel spreadsheets and clearing off old data. If the time sheet software restarts the new week with a cleared project list, the employee is more apt to reload with only projects they work on through the week.

For the programming package to have an included time sheet has the advantages of incorporating data mining easily. In a growing bidding environment, review is a necessity for survival. To have the option to review the bid proposal and to compare material and labor costs at the end provides for adaption.
Pingback: Concept of Programming – From Earth to Bench to Plant, a Journey