\begin{document}
\usetikzlibrary{shapes, arrows}
% Define flowchart symbols
\newcommand{\startstop}[1]{\tikz \node[shape=rectangle, rounded
corners, draw] {#1};}
\newcommand{\process}[1]{\tikz \node[shape=rectangle, draw] {#1};}
\newcommand{\decision}[1]{\tikz \node[shape=diamond, draw] {#1};}
\newcommand{\document}[1]{\tikz \node[shape=rectangle, draw, text
width=2cm, align=center] {#1};}
\newcommand{\internal}[1]{\tikz \node[shape=double ellipse, draw]
{#1};}
\newcommand{\training}[1]{\tikz \node[shape=diamond, draw] (train)
{#1}; \draw[->] ([Link]) ++(0,-0.5) -- ++(0,-1.5) |- ++(1.5,0); }
\newcommand{\communication}[1]{\tikz \node[shape=cloud, draw]
{#1};}
% Flowchart elements
\startstop{Start}
\process{Need Assessment \& Gap Analysis}
\decision{Stakeholders Identified?}
\node [above=of decision] {Yes};
\draw [->] ([Link]) ++(0.2,0) -- ++(1.8,0);
\process{Review Project Documents}
\document{Facilitate Discussions}
\document{Benchmark Projects}
\process{Develop a Quality Plan}
\document{Define Objectives}
\document{Develop Criteria}
\document{Create Procedures}
\process{Develop Monitoring Tools (Ongoing)}
\document{Create Flowcharts}
\document{Develop Control Charts}
\internal{FMEA}
\decision{Potential Failures?}
\node [above=of internal] {Yes};
\draw [->] ([Link]) ++(0.2,0) -- ++(1.8,0);
\process{Develop Mitigation Strategies}
\draw [->] ([Link]) ++(0.5,0) -- ++(0,1.5);
\node [above=of internal] {No};
\draw [->] ([Link]) ++(-0.2,0) -- ++(-1.8,0);
\process{Implement QC Plan}
\training{Train Personnel}
\internal{Quality Control Team} \label{qct_team}
\process{Monitor \& Continuously Improve}
\decision{System Effective?}
\node [above=of decision] {Yes};
\draw [->] ([Link]) ++(0.2,0) -- ++(1.8,0);
\document{Analyze Data (SPC \& Pareto)}
\decision{Corrective Actions Needed?}
\node [above=of decision] {Yes};
\draw [->] ([Link]) ++(0.2,0) -- ++(1.8,0);
\process{Implement Corrective Actions}
\draw [->] ([Link]) ++(0.5,0) -- ++(0,1.5);
\node [above=of decision] {No};
\draw [->] ([Link]) ++(-0.2,0) -- ++(-1.8,0);
\document{Update QC Plan}
\communication{Stakeholder Engagement} [right of=process]
\terminator{End}
% Draw arrows between elements
\draw [->] (startstop) – (process);
\draw [->] (process) – (decision);
\draw [->] (decision) -- ++(2.2,0);
\draw [->] (decision) – ([Link]);
\draw [->] (process) – (document);
\draw [->] (document) – ([Link]);
\draw [->] ([Link]) – ([Link]);
\draw [->] ([Link]) – ([Link]);
\draw [->] ([Link]) – (internal);
\draw [->] (internal) – ([Link]);
\draw [->] ([Link]) -- ++(2.2,0);
\draw [->] ([Link]) – ([Link] south);