Implementation Document Chad Harris Dan Steinmetz

  • Upload
    ob37

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

  • 8/13/2019 Implementation Document Chad Harris Dan Steinmetz

    1/10

    Chad Harris Dan Steinmetz

    MBA 614 Winter 2013

    Construction Estimating

  • 8/13/2019 Implementation Document Chad Harris Dan Steinmetz

    2/10

    2Chad Harris & Dan Steinmetz

    CONSTRUCTION ESTIMATING SOFTWARE

    EXECUTIVE SUMMARY

    BACKGROUND While most large construction firms have sophisticated estimating software programs that help simplifythe process, many smaller construction firms are often still using pencil and paper to prepare theirproject bids. For these smaller contractors, this method can be very time consuming. It can also be avery inaccurate method as a result of human error. Incorrect calculations or the omission of important

    items can result in crippling losses for the contractor.

    OVERVIEW This program is designed to minimize the time a contractor must spend to prepare a bid for aconstruction project while helping to eliminate the mistakes that can occur when a contractor prepares abid using pencil, paper, and calculator. To use the program, the contractor must first enter in all of their

    project information. Cost information is automatically updated from an access database and the internetinto the program, and then automatically updated back into the access database as well. Once pricing isup to date, the contractor can begin building an estimate for that project. The program includes asummary sheet with all of the typical necessary categories or trades that need to be estimated whenbuilding a home. The summary sheet is linked to individual sheets built specifically for estimation of eachtrade, such as Flooring or Framing. The contractor has the ability to navigate quickly through eachcategory through links on the summary sheet or through custom buttons on the ribbon. Once anestimate is complete, the contractor can send a proposal to the client via email just by clicking a buttonon the ribbon. The program can also create pdf files of the proposal and the contractors estimate withthe click of a button. The program is also designed to track project costs and compare them with theestimate as a project is being completed. All of these features allow for a quick and accurate estimationof a construction project, saving valuable time and other resources, allowing the contractor to focus more

    on getting their projects completed.

  • 8/13/2019 Implementation Document Chad Harris Dan Steinmetz

    3/10

    3Chad Harris & Dan Steinmetz

    IMPLEMENTATION DOCUMENT

    STARTING ANEW PROJECT

    The user of this program would have a Template version of the software in a folder somewhere on thehard drive. This template version of the workbook cannot be saved over to prevent a user from deletingany necessary data or disturbing the functionality of the program. Upon opening the template workbook,the user is immediately presented with a User Form that requests information regarding the new project

    they would like to begin compiling an estimate for. (See Figure 1)

    Figure 1 Input New Project Information

    This User Form asks the user to enter a number of details about the new project, including the customername and the customer email. Of the eight input boxes on the form, five of the them require input fromthe user because the details entered into those input boxes is used later in the process when thecompleted proposal is emailed to the client. To ensure we receive this information from the user, weincluded code to check for the details. If the user clicks the OK button without having entered data inall required fields, a message box will pop up alerting the user that required fields were left blank. Theuser is then sent directly back to the User Form in order to fill in any remaining required fields.

    The only way for the user to exit this User Form is by completing all required fields and pressing OK, orby pressing the Cancel button. As discussed earlier, we dont want the user to be able to save over thetempl ate version of the workbook, so if the user clicks the Cancel button, the template file is simplyclosed without saving changes. If the user clicks OK, the data entered by the user is then carried overinto the project spreadsheets. A new subfolder is then created and the name of the subfolder is thename of the client on the new project. The workbook is then saved in that new subfolder and is also

    given the name of the client.

  • 8/13/2019 Implementation Document Chad Harris Dan Steinmetz

    4/10

    4Chad Harris & Dan Steinmetz

    UPDATE MATERIALCOSTS WITHINNEW PROJECT

    After a user begins a new project and that new project is saved in the new subfolder, the next step in theprocess would be for the user to update all material costs. Doing this by hand would be complicatedsince this program contains dozens of worksheets and hundreds of different items. In order to ensurethe proposal reflects current material costs, those costs need to be updated each time a user starts a new

    project estimate. To accomplish this, we have an Update Costs button on our ribbon. (See Figure 2)

    Figure 2 Project Ribbon with New Buttons

    When the user presses the Update Costs button, the program will connect to an Access database that islocated in the same system folder as the original Template file. The table in the Access databasecontains all the items fr om the entire program and the idea is that a member of the companys office

    staff would be tasked with continually updating the costs in this database whenever supplier pricing

    changed. (See Figure 3)

  • 8/13/2019 Implementation Document Chad Harris Dan Steinmetz

    5/10

    5Chad Harris & Dan Steinmetz

    Figure 3 Cost Data within Access Database

    By pre ssing the Update Costs button, the workbook connects to Access, creates a new worksheet calledCost Data, and then populates that worksheet with the data it pulls in from Access. (See Figure 4)

    Figure 4 Cost Data Pulled into Excel from Access Database

    Some of the items imported from the database have URLs listed. The URLs are where those particularitems can be found online at Lowes.com. These would be items that a contractor chooses to buy on aLowes account rather than buying from a materi al wholesaler. For the items that do have a lowes.comURL, our code takes each URL and runs a web query to find the cost to buy that product on the companyaccount at Lowes. Once the web query runs, the cost of that particular item is placed into the C ostData sheet.

  • 8/13/2019 Implementation Document Chad Harris Dan Steinmetz

    6/10

    6Chad Harris & Dan Steinmetz

    Once all the cost data has been imported to this Excel workbook and the costs of items available atLowes have been updated, t he program then takes all this cost data and goes line-by-line through thatdata in order to find that item in the workbook and update with the new cost pulled from Access. Theprogram then takes all of the updated cost information and returns it to the Access database, ensuringthat all costs are up to date in both locations. Once all costs throughout the workbook and Access

    database have been updated , the new Cost Data worksheet is deleted. A t this point, the user is readyto begin actually building the estimate.

    Occasionally, the user will also want to push the updated costs from Lowe s back to the Access database.In order to do this, we provided a Push Lowe s Costs to Access button. This helps to ensure that thecosts for all materials available at Lowe s can be updated automatically on a routine basis.

    BUILDING ANESTIMATE

    After the new project workbook has been created and all material costs have been updated, the user can

    now begin to build out the estimate. The program has a total of 33 worksheets the user must go throughand enter quantities for the different materials. (See Figure 5) These 33 worksheets are considered theDetail worksheets and each sheet is dedicated to one particular building trade (e.g. roofing, electrical,HVAC, or insulation).

    Figure 5 Building the Estimate

  • 8/13/2019 Implementation Document Chad Harris Dan Steinmetz

    7/10

    7Chad Harris & Dan Steinmetz

    As the user navigates through each of the 33 Detail worksheets and inputs the quantity for each item,formulas contained within each worksheet calculate the total cost for each item. Formulas also calculatea subtotal at the bottom of each Detail work sheet, and those subtotals are returned to the CostBreakdown Summary worksheet. As the user navigates through the workbook, we also added several

    navigation buttons to the ribbon to assist the user. (See Figure 6)

    Figure 6 Navigation Buttons

    The Previous and Next navigation buttons simply give the user another way to move from sheet tosheet within the workbook. The View Cost Breakdown button takes the user to theCostBreakdownSummary sheet so the user can view the current details at any time while building theestimate. The View Proposal button will take the user directly to the CustomerProposal worksheet sothe user can view the details of that proposal as the estimate is built. We felt these buttons werenecessary because the workbook has so many worksheets in it. With dozens of worksheets, it saves theuser time to be able to click the button and go directly to the cost breakdown sheet or the proposal sheet

    without having to scroll through all the sheets to find them.

    PRINTINGBREAKDOWN ANDPROPOSALSHEETS TOPDF

    After the user has gone through each of the 33 Details sheets and built out the estimate, we have

    provided buttons on the ribbon to allow the user to save the CostBreakdownSummary sheet and theCustomerProposal sheets as PDFs. (See Figure 7)

  • 8/13/2019 Implementation Document Chad Harris Dan Steinmetz

    8/10

    8Chad Harris & Dan Steinmetz

    Figure 7 PDF of the Customer Proposal

    When the Print Proposal to PDF or the Print Breakdown to PDF buttons are pushed, the PDFs arecreated and named using the Project Name and are put in the subfolder that is also named after theProject Name. Either file can then be accessed in the future by the user so the user doesnt have to

    open the project workbook back up to get the details of the cost breakdown or the customer proposal.

    EMAILING THECUSTOMER PROPOSAL

    Once the project estimate has been completely built out and the cost breakdown summary and customerproposals have been saved as PDFs, our ribbon contains an Email Proposal button. When the userpushes this button, code runs to send an email to the customer. The body of the email is a form letter

    that is created in Gmail using a text file we created. (See Figure 8)

    Figure 8 Text File Used to Create Email to Customer

    This text file contains the basic text of the form letter and the variables needed to convert some elementsof the form letter to specific project information (e.g. customer name, project name).

    In order to send the email, our code first connects to Gmail. After connecting to Gmail, a User Form willappear which prompts the user to enter a Username and Password. After the user enters thisinformation, the code then uses the text file to create the body of the email and also attaches thecustomer proposal to the email. The email is then sent to the client at the address specified in theproject workbook. (See Figure 8) At this point, the estimate is complete and the client has received the

    proposal.

  • 8/13/2019 Implementation Document Chad Harris Dan Steinmetz

    9/10

    9Chad Harris & Dan Steinmetz

    Figure 8 Send Email to Client with Proposal Attached

    LEARNING AND CONCEPTUAL D IFFICULTIES ENCOUNTERED

    One of the biggest things we learned as we worked to complete this project was the importance ofsetting a detailed plan before beginning to write code. If we had spent more time planning anddetermining all the features the program needed, it would have saved us some time. For example, weinitially added six new buttons to our workbook ribbon. As we moved forward with writing the code, welater determined that the program really needed two more buttons. We then went back and had to addthese new buttons. The process would have been much quicker had we determined up front how manynew buttons we needed and then been able to add all the new buttons at once.

    Another thing we learned as we worked on this project is that making a minor change to correct one issuein the program can then lead to unintended interruptions elsewhere within the program. For example,our program creates new files each time a new project is started. Initially, we had this file being saved inthe save system folder as the workbook template. We later decided that each individual project shouldbe saved in its own subfolder within the folder where the template is located. After changing the code to

    create such a subfolder and save the new project in that folder, it then affected other functions of ourprogram, such as the print to PDF. We then had to go to those other sections of code and change thecode to reflect the new location of the project workbook. Luckily, we had been good about insertingcomments throughout all of our subprocedures, so we were able to quickly locate all the lines of code

    that needed to be edited to reflect the change.

    One conceptual difficulty encountered with this project was the database we were using to updatematerial costs each time a new project is started. Because the workbook contains thousands of items, wesimply didnt have the time to create a database that contained each of those items. We ended upcreating our own database just to show that our code would function properly for this project. Thisdatabase we created only contains 28 of the items listed in the project workbook. However, it performsthe exact functions we need it to perform on this small scale, so we feel confident that if we had the time

  • 8/13/2019 Implementation Document Chad Harris Dan Steinmetz

    10/10

    10Chad Harris & Dan Steinmetz

    to build out a database that contained each one of those items, it would still function properly when the

    Update Costs button was pushed.

    For a small contractor, the creation of this massive database would be very time consuming. But oncethe database was created, maintenance would be minimal. Essentially, an office assistant could be tasked

    with receiving cost changes from suppliers and then just opening the database and changing those costsaccordingly. Because most cost changes from suppliers are fairly infrequent, we would assume that theoffice assistant would only be changing prices on a handful of items at a time. For larger contractors, thiswould be a complete non-issue because they typically pay for a subscription to a construction database.This means these companies always have access to a complete database of costs without having to beresponsible for updating those costs. If this were the case, our code could quickly be edited so that

    rather than connecting with an internal Access database, it would connect to the external cost database.The cost data from this external database would then be pulled back into the project workbook and could

    be used to update the material costs in the same way our Access database currently does this.

    ASSISTANCE

    In writing the code for this project, the only help we received was from Professor Allen. We alsoreferenced several of the in-class projects we wrote throughout the semester. Professor Allen helped usto debug the code that connects us to our Access database. The in-class projects we referenced then

    helped us correctly extract the data from the database and insert it into the Excel workbook.