\par Without considering a defined system boundaries yet.  The diagram could represent just a section of a more extensive system, with the "loop" potentially completed by elements not included in the diagram.For problem analysis, focusing on dissecting the causes of a specific issue, the diagram might highlight the causes while possibly omitting some feedback effects. In general we want to improve farmers adoption of IoT, so that they can improve their ability to react to environmental changes. This is a primary goal that happens outside the scope of the is project. Understanding that their are other systems contribute to the factor of the farmers controlling their farming environment, but increase wireless technology adoption is one of the key component we try to improve.
\par For example, if the network coverage is improved, the project failure rate eventually decrease over time. This is a negative relationship. The most important factor to address is the loop of System Complexity, Reliance on Multiple Vendors, "Device Lifespan", "System Functionality" node. These nodes are completed with a feed backloop, and have the effect on "System Complexity". If we need to reduce the project failure rate, it need us to increase network connectivity, sensor malefunctions, and signifcantly reduce system complexity. When we reduce system complexity, we reduce the reliance on multiple vendors, and increase device lifespan. Thus, it would improve the system functionality, improve Farmers IoT adoption. Finally, it reduce the project failure rate since this is the negative relationship between the node.


\begin{figure}[ht]
  \centering % Center the figure on the page
\begin{tikzpicture}[
    node distance=2cm, % Increased node distance
    box/.style={rectangle, rounded corners, draw=black, text width=3cm, text centered, minimum height=3cm},
    arrow/.style={->, thick, >=Stealth},
    every node/.style={font=\scriptsize},
    scale=0.5, % Slightly reduced scale
    transform shape
    ]

  % Nodes
  \node (FailureRate) [box] {Project Failure Rate};
  \node (Connectivity) [box, above right=of FailureRate] {Network Connectivity Coverage};
  \node (Malfunctions) [box, right=of Connectivity] {Sensor Malfunctions};
  \node (Integration) [box, below right=of Malfunctions] {Integration Issues};
  \node (VendorReliability) [box, below=of Malfunctions] {Vendor Reliability};
  \node (RealTimeData) [box, below left=of Integration] {Real-Time Data Collection};
  \node (Complexity) [box, left=of RealTimeData] {System Complexity};
%  \node (MobilePracticality) [box, above left = of Complexity] {Practicality of Mobile Devices};
  \node (NewAdoption) [box, above right = of Integration] {New Sensor/Protocol Adoption};
  \node (VendorProfit) [box, right = of NewAdoption] {Vendor Profit Motive};
  \node (DeviceLifespan) [box, below right = of VendorProfit] {Device Lifespan};

  \node (FarmerAdoption) [box, below = of FailureRate] {Farmer Adoption of IoT};
  \node (EnvChanges) [box, below right = of FarmerAdoption] {Ability to React to Environmental Changes};
  \node (RelianceonVendors) [box, right=of Integration] {Reliance on Multiple Vendors};
  \node (SystemFunctionality) [box, below=of DeviceLifespan] {System Functionality};

% Arrows

  % Arrows - Reinforcing Loop 1
  \draw[arrow] (FailureRate) -- node[above left] {(-)} (FarmerAdoption);
%  \draw[arrow] (FarmerAdoption) -- node[below] {(-)} (FailureRate);

  % Arrows - Reinforcing Loop 2
%  \draw[arrow] (VendorProfit) -- node[above] {(+)} (NewAdoption);
%  \draw[arrow] (NewAdoption) -- node[right] {(-)} (VendorProfit);
\draw[arrow] (VendorProfit) -- node[right] {(-)} (NewAdoption);
  % Arrows - Balancing Loop 1
  \draw[arrow] (RealTimeData) -- node[above] {(+)} (Complexity);
  \draw[arrow] (Complexity) -- node[above] {(+)} (FailureRate);
%  \draw[arrow] (FailureRate) -- node[above right] {(-)} (RealTimeData);
\draw[arrow] (RealTimeData) -- node[below left] {(-)} (FailureRate);
  % Arrows - Balancing Loop 2
  \draw[arrow] (Complexity) -- node[above] {(+)} (RelianceonVendors);
  \draw[arrow] (RelianceonVendors) -- node[right] {(-)} (DeviceLifespan);
  \draw[arrow] (DeviceLifespan) -- node[right] {(+)} (SystemFunctionality);
  \draw[arrow] (SystemFunctionality) -- node[below] {(+)} (FarmerAdoption);


  % Additional Arrows
  \draw[arrow] (Connectivity) -- node[left]{(-)}(FailureRate) ;
  \draw[arrow] (Malfunctions) -- node[left]{(+)}(FailureRate);
  \draw[arrow] (VendorProfit) -- node[right] {(-)}(Malfunctions);
  \draw[arrow] (Integration) -- (FailureRate);
  \draw[arrow] (VendorReliability) -- node[left]{(-)}(FailureRate);
  \draw[arrow] (RealTimeData) -- (Complexity);
  \draw[arrow] (FarmerAdoption) -- node[right] {(+)} (EnvChanges);
  \draw[arrow] (NewAdoption) -- node[right] {(+)} (RealTimeData);
  \draw[arrow] (Complexity) -- node[above] {(+)} (RelianceonVendors);
  \draw[arrow] (RelianceonVendors) -- node[right] {(-)} (DeviceLifespan);
  \draw[arrow] (DeviceLifespan) -- node[right] {(-)} (SystemFunctionality);

\end{tikzpicture}
   % \caption{CLD - Project Failure Rate (New System Introduced) % Add a caption
      \caption{CLD - Project Failure Rate Analysis (Current Stage)} % Add a caption
    \label{fig:causal_loop_example} % Add a label for referencing
\end{figure}
