Pages

Sunday, 23 February 2025

Agile Project Management Thoughts

Initially, this post was on keeping Project Management Simple.  This works well for small and medium-sized projects.  How I think Kanban boards are excellent, I like MS Planner as it's built into MS Teams and Outlook and stores project documentation within SharePoint connected to MS Teams.

There is a ton of sound Project Management software and approaches.  

Primavera (P6) - Oracle

Strong Project Management software focusing on the Construction and Infrastructure industry.  

Microsoft Project

A project management tool that offers advanced features such as tracking dependencies, costs, and complex project schedules. It is suitable for larger projects that require detailed planning and management. MS Project can be used in various forms, including Project for the Web, Project Online, and the Project desktop application.

Microsoft Planner

Microsoft Planner is a web-based planning application that allows you to assign and discuss tasks, manage tickets, and view progress charts. It is integrated with Microsoft Teams and Outlook, making it easy to organise team tasks and collaborate.

Problem-Solving (Explore/Interview Process to build IT solutions)


McKenzie Problem-Solving Approach

  1. Define the problems
  2. Find the root cause
  3. Use “hypothesis-driven” process
  4. Analyze with “issue tree”
  5. Propose solutions

My preferred approach is the three-step Problem-Solving approach:

  1. Problem
  2. Initial Hypothesis
  3. Proposed Resolution

Repeat until fixed/solved.

Monday, 3 February 2025

ProjectWise from Bentley - extend with Powershell

ProjectWise from Bentley - Document Management Software

ProjectWise is a Document Management Solution (DMS) from Bentley.  Its key use case is supporting BIM.

Architecture:  It appears to have a pretty old architecture with the ability to "webify" the DMS.  

Integration: There are APIs and Power Connectors, but they are extremely limited and not developer-friendly. You can also extend the capability using PowerShell. Be warned: Bentley does not support this, but the ProjectWise community does help to solve the issue.

There are add-ins for office software (word, excel, pptx) and some CAD products to make the BIM process easier.

This post outlines how I have extended ProjectWise to build out a pre-populated folder structure using PowerShell.  I then wrap the PS code in an HTTP Azure HTTP-triggered function to call.

Connecting to ProjectWise using PowerShell Example 1:

PS> Import-Module pwps_dab
PS> New-PWLogin -BentleyIMS

Federated login for PS

Note: You need to already have Bentley's federation auth set up on the local machine running the "CONNECTION Client."

Machine running PS must use the CONNECTION Client from Bentley and the user will be prompted to login.

Connecting to ProjectWise using PowerShell Example 2:
Login using Federated identity without a popup to select the datasource

PS> Import-Module pwps_dab
PS> New-PWLogin -Datasource 'org-pw.bentley.com:Org Delivery' -BentleyIMS

Connecting to ProjectWise using PowerShell Example 3:
Login with a local account - No Federated account needed.

PS> $Password = ConvertTo-SecureString "passwrdxxx" -AsPlainText -Force
PS> $Cred = New-Object System.Management.Automation.PSCredential ("my_user_logical", $Password)
PS> New-PWLogin -Datasource 'org-pw.bentley.com:Org Delivery' -UserName $Cred.UserName -Password $Cred.Password

Below are two error codes that tell you if your datasource or login credentials are incorrect.

Example 3.  Error code: 32768 - Datasource not found.


Example 3, this item has the wrong credentials Error code: 58064.



Next: I want to run my ProjectWise (PWPS_DAB module) within a serverless function triggered by HTTP endpoints.  I've chosen Azure Functions using PowerShell.

Problem: PWPS_DAB requires headers, and no serverless function will support PowerShell modules that require interaction/headered calls. 
ERROR: The property 'ThreadOptions' cannot be found on this object. Verify that the property exists and can be set.
... ... ERROR: Failed to load pwps_dab module. Error: Could not load file or assembly 'System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. The system cannot find the file specified.
 
Initial Hypothesis: There is no way around using PWPS_DAB as it does not support running in a headless mode.  Ouch, and i'm paying for this heavily :)

Possible Resolution: Run a VM or Docker container and expose the function via an HTTP endpoint.  It will be a mission, so i guess it docker. 


To Review: 
https://www.linkedin.com/pulse/understanding-bim-workflow-importance-microstation-yassir-el-yaqouby-ltinf/
https://www.linkedin.com/in/uday-singh-5b18a2155/recent-activity/all/
https://www.linkedin.com/pulse/bim-summary-day-1-introduction-what-building-modelling-uday-singh-d48xc/?trackingId=jVx9vtIRPnylCdD6UVE0ag%3D%3D

AutoDesk Revit

Revit 
https://www.linkedin.com/learning/bim-manager-managing-bim-360
https://www.linkedin.com/learning/search?keywords=Autodesk%20BIM%20360
AutoDesk Construction Cloud

Procore - Project/Construction Management 

https://www.linkedin.com/learning/search?keywords=BIM