\psset{griddots=0,gridlabels=8pt,subgriddiv=5} \psset{xunit=10mm,yunit=10mm} \begin{pspicture}(14,26) % \psgrid \newcommand{\clr}{black} % master \newcommand{\masterx}{7} \psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\masterx,1)(\masterx,26) \psset{fillcolor=\clr} \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,2) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,6) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,7) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,8) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,11) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,12) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,13) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,15) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,16) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,17) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,18) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,23) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,24) \rput(\masterx,0.5){ \psset{fillcolor=white} \psset{fillstyle=solid} \psset{linecolor=\clr} \psset{framearc=.5} \psframebox{\textcolor{\clr}{white2\_master}} } % release/.../iteration_1 \renewcommand{\clr}{ForestGreen} \newcommand{\featurex}{3} \psset{fillcolor=\clr} \psline[linewidth=2pt,linecolor=\clr](\masterx,2)(\featurex,3) \psline[linewidth=2pt,linecolor=\clr](\featurex,3)(\featurex,11) \psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\featurex,11)(\masterx,12) \psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\featurex,2.5)(\featurex,8.5) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\featurex,3) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\featurex,7) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\featurex,11) \rput(2.5,2){ \psset{fillcolor=white} \psset{fillstyle=solid} \psset{linecolor=\clr} \psset{framearc=.5} \psframebox{\textcolor{\clr}{release/white2/I320/iteration\_1}} } % release/.../iteration_2 \psset{fillcolor=\clr} \psline[linewidth=2pt,linecolor=\clr](\masterx,12)(\featurex,13) \psline[linewidth=2pt,linecolor=\clr](\featurex,13)(\featurex,17) \psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\featurex,17)(\masterx,18) \psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\featurex,12.5)(\featurex,17.5) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\featurex,13) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\featurex,17) \rput(2.5,12){ \psset{fillcolor=white} \psset{fillstyle=solid} \psset{linecolor=\clr} \psset{framearc=.5} \psframebox{\textcolor{\clr}{release/white2/I320/iteration\_2}} } % release/.../iteration_3 \psset{fillcolor=\clr} \psline[linewidth=2pt,linecolor=\clr](\masterx,18)(\featurex,19) \psline[linewidth=2pt,linecolor=\clr](\featurex,19)(\featurex,23) \psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\featurex,23)(\masterx,24) \psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\featurex,18.5)(\featurex,23.5) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\featurex,19) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\featurex,23) \rput(2.5,18){ \psset{fillcolor=white} \psset{fillstyle=solid} \psset{linecolor=\clr} \psset{framearc=.5} \psframebox{\textcolor{\clr}{release/white2/I320/iteration\_3}} } % fix/error_1 \renewcommand{\clr}{Maroon} \newcommand{\fixx}{5} \psline[linewidth=2pt,linecolor=\clr](\featurex,3)(\fixx,4) \psline[linewidth=2pt,linecolor=\clr](\fixx,4)(\fixx,6) \psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\fixx,6)(\featurex,7) \psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt,linestyle=dashed]{->}(\fixx,6)(\masterx,7) \psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\fixx,3.5)(\fixx,6.5) \multido{\nA=4+2}{2}{ \psset{fillcolor=\clr} \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,\nA) } \rput(5.5,3.3){ \psset{fillcolor=white} \psset{fillstyle=solid} \psset{linecolor=\clr} \psset{framearc=.5} \psframebox{\textcolor{\clr}{fix/error\_1}} } % fix/error_2 \psline[linewidth=2pt,linecolor=\clr](\featurex,7)(\fixx,8) \psline[linewidth=2pt,linecolor=\clr](\fixx,8)(\fixx,10) \psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\fixx,10)(\featurex,11) \psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt,linestyle=dashed]{->}(\fixx,10)(\masterx,11) \psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\fixx,7.5)(\fixx,10.5) \multido{\nA=8+2}{2}{ \psset{fillcolor=\clr} \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,\nA) } \rput(5.5,7.3){ \psset{fillcolor=white} \psset{fillstyle=solid} \psset{linecolor=\clr} \psset{framearc=.5} \psframebox{\textcolor{\clr}{fix/error\_2}} } % fix/error_3 \psline[linewidth=2pt,linecolor=\clr](\featurex,13)(\fixx,14) \psline[linewidth=2pt,linecolor=\clr](\fixx,14)(\fixx,16) \psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\fixx,16)(\featurex,17) \psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt,linestyle=dashed]{->}(\fixx,16)(\masterx,17) \psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\fixx,13.5)(\fixx,16.5) \multido{\nA=14+2}{2}{ \psset{fillcolor=\clr} \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,\nA) } \rput(5.5,13.3){ \psset{fillcolor=white} \psset{fillstyle=solid} \psset{linecolor=\clr} \psset{framearc=.5} \psframebox{\textcolor{\clr}{fix/error\_3}} } % fix/error_4 \psline[linewidth=2pt,linecolor=\clr](\featurex,19)(\fixx,20) \psline[linewidth=2pt,linecolor=\clr](\fixx,20)(\fixx,22) \psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\fixx,22)(\featurex,23) \psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt,linestyle=dashed]{->}(\fixx,22)(\masterx,23) \psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\fixx,19.5)(\fixx,22.5) \multido{\nA=20+2}{2}{ \psset{fillcolor=\clr} \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,\nA) } \rput(5.5,19.3){ \psset{fillcolor=white} \psset{fillstyle=solid} \psset{linecolor=\clr} \psset{framearc=.5} \psframebox{\textcolor{\clr}{fix/error\_4}} } % feature/f_1 \renewcommand{\clr}{RoyalBlue} \renewcommand{\fixx}{11} \psline[linewidth=2pt,linecolor=\clr](\masterx,2)(\fixx,3) \psline[linewidth=2pt,linecolor=\clr](\fixx,3)(\fixx,5) \psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\fixx,5)(\masterx,6) \psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\fixx,2.5)(\fixx,5.5) \rput(11.5,2){ \psset{fillcolor=white} \psset{fillstyle=solid} \psset{linecolor=\clr} \psset{framearc=.5} \psframebox{\textcolor{\clr}{feature/f\_1}} } \psset{fillcolor=\clr} \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,3) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,5) % feature/f_2 \renewcommand{\fixx}{9} \psline[linewidth=2pt,linecolor=\clr](\masterx,2)(\fixx,3) \psline[linewidth=2pt,linecolor=\clr](\fixx,3)(\fixx,7) \psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\fixx,7)(\masterx,8) \psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\fixx,2.5)(\fixx,7.5) \rput(\fixx,2){ \psset{fillcolor=white} \psset{fillstyle=solid} \psset{linecolor=\clr} \psset{framearc=.5} \psframebox{\textcolor{\clr}{feature/f\_2}} } \psset{fillcolor=\clr} \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,3) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,5) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,7) % feature/f_3 \renewcommand{\fixx}{11} \psline[linewidth=2pt,linecolor=\clr](\masterx,7)(\fixx,8) \psline[linewidth=2pt,linecolor=\clr](\fixx,8)(\fixx,12) \psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\fixx,12)(\masterx,13) \psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\fixx,7.5)(\fixx,12.5) \rput(\fixx,7){ \psset{fillcolor=white} \psset{fillstyle=solid} \psset{linecolor=\clr} \psset{framearc=.5} \psframebox{\textcolor{\clr}{feature/f\_3}} } \psset{fillcolor=\clr} \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,8) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,10) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,12) % feature/f_4 \renewcommand{\fixx}{9} \psline[linewidth=2pt,linecolor=\clr](\masterx,11)(\fixx,12) \psline[linewidth=2pt,linecolor=\clr](\fixx,12)(\fixx,14) \psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\fixx,14)(\masterx,15) \psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\fixx,11.5)(\fixx,14.5) \rput(\fixx,11){ \psset{fillcolor=white} \psset{fillstyle=solid} \psset{linecolor=\clr} \psset{framearc=.5} \psframebox{\textcolor{\clr}{feature/f\_4}} } \psset{fillcolor=\clr} \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,12) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,14) % dev_fix/error_5 \renewcommand{\clr}{Magenta} \renewcommand{\fixx}{11} \psline[linewidth=2pt,linecolor=\clr](\masterx,12)(\fixx,13) \psline[linewidth=2pt,linecolor=\clr](\fixx,13)(\fixx,15) \psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\fixx,15)(\masterx,16) \psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\fixx,12.5)(\fixx,15.5) \rput(11.5,12.5){ \psset{fillcolor=white} \psset{fillstyle=solid} \psset{linecolor=\clr} \psset{framearc=.5} \psframebox{\textcolor{\clr}{fix/error\_5}} } \psset{fillcolor=\clr} \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,13) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,15) % external release \renewcommand{\clr}{RedOrange} \psset{fillcolor=\clr} \psdot[dotsize=5pt,dotstyle=o,linecolor=\clr](3,23) \rput(3,24){ \psset{fillcolor=white} \psset{fillstyle=solid} \psset{linecolor=\clr} \psset{framearc=.5} \psframebox{\textcolor{\clr}{customer release}} } \psset{linecolor=white} \rput(10.5,25){ \psframebox{\textcolor{ForestGreen}{Release Canditates}} } \rput(10.5,24.5){ \psframebox{\textcolor{RedOrange}{Customer release}} } \rput(10.5,24){ \psframebox{\textcolor{Maroon}{Error dedected by system test}} } \rput(10.5,23.5){ \psframebox{\textcolor{Magenta}{Error detected while development}} } \rput(10.5,23){ \psframebox{\textcolor{RoyalBlue}{Feature implementation}} } \end{pspicture}