DevOps از دو کلمه‌ی Development (توسعه) و Operation (عملیات) تشکیل شده و به نوعی این دو مفهوم را با هم ترکیب کرده است. دواپس بین تیم توسعه‌ی محصول و تیم عملیاتی شرکت، همکاری و تعامل ایجاد می‌کند. DevOps یک زبان یا یک تکنولوژی خاص نیست بلکه ترکیبی از فلسفه، فرهنگ، شیوه‌ها و ابزارهایی است که کمک می‌کنند محصولات یا خدمات ما سریع‌تر به دست مشتریان برسد.

مرحله 1 : برنامه ريزی و تجزيه و تحليل نيازمنديها

تجزيه و تحليل نيازمنديها، مهمترين و اساسی ترين مرحله در روند چرخه حيات توليد نرم افزار محسوب ميگردد. اين امر توسط كارشناسان ارشد و اعضای متبحر تيم با استناد به داده های ورودی مشتريان، بخش فروش و بررسی های بازار و متخصصين اين حوزه از صنعت انجام ميگيرد. پس از اين مرحله، اطلاعات گردآوری شده، جهت طراحی اساس و پايه پروژه و مطالعه امكان سنجی آن در حوزه های اقتصادی، عملياتی و فنی مورد استفاده قرار ميگيرد. طراحی تضمين كيفيت نرم افزار و همچنين شناسائی ريسكها و خطرات بالقوه پروژه نيز در مرحله برنامه ريزی انجام ميگيرد. نتيجه مطالعات و امكان سنجی ها موجب بدست آوردن ديدگاههای مختلف فنی خواهد بود كه ميتواند باعث پياده سازی موفقيت آميز پروژه با حداقل ريسک گردد.

مرحله 2 : تعريف نيازمنديها

زمانی كه تجزيه و تحليلها به پايان ميرسد مرحله بعد يعنی تعريف دقيق نيازمندی ها و مستند نمودن آن آغاز می شود. اين مستندات شامل نيازهای نرم افزار مورد نظر بوده كه مورد تائيد مشتری و همچنين تحليل گران بازار قرار گرفته است. سند اصلي در اين مرحله سند مشخصات نيازمنديهای نرم افزار است كه شامل كليه نيازهای محصول بوده كه در روند چرخه حيات پروژه می بايد طراحی و فراهم گردد.

مرحله 3 : طراحی معماری نرم افزار

سند مشخصات نيازمنديهاي نرم افزار (SRS (Specification Requirement Software يك سند مرجع براي معماری نرم افزارمحسوب ميگردد كه در آن انواعي از بهترين معماريها جهت توليد نرم افزار مورد نظر تشريح گرديده است. كارشناسان معماری سيستم ها معمولا براساس نيازمنديهای مندرج در مستند مذكور، يک و يا دو طرح پيشنهادی را جهت تعيين نهائی معماری مورد نياز انتخاب و در مستند ديگری بنام سند مشخصات طرح Specification Document Design(DDS) ارائه و پيشنهاد مينمايند. سند مذكور توسط كليه ذينفعان و براساس معيارهاي گوناگون نظير ارزيابي ريسك، پيمانگي طرح (modularity) قابليت استفاده در شرايط مختلف، محدوديت زمانی و بودجه مورد بررسی و ارزيابی قرارگرفته و سرانجام بهترين طراحی جهت توليد نرم افزار انتخاب ميگردد.

در طراحي نرم افزار كليه و تمامي جنبه هاي معماري و همچنين روشهاي ارتباطي و جريان ارسال و دريافت داده ها از سامانه های ديگر (در صورت وجود آنها) مد نظر قرار ميگيرد. در معماری پيشنهادی، مي بايد طراحی داخلی كليه مدل ها و پيمانه ها به نحوی كاملا واضح و آشكار و با ذكر تمامی جزئيات در سند مشخصات طرح (DDS) درج گردد.

مرحله 4 : توليد نرم افزار

در اين مرحله از چرخه حيات توليد نرم افزار، روند عملياتی آغاز و نرم افزار توليد ميگردد. در اين مرحله كد برنامه ريزی به همان صورتی كه در سند مشخصات طرح تاكيد گرديده تهيه ميگردد. چنانچه طرح بر مبنای جزئيات مندرج در سند مذكور و بصورت سازمان داده شده پياده شود توليد نيز بدون هيچ مشكلی انجام خواهد شد توليد كنندگان نرم افزار ميبايد از رهنمودهای كد گزاری كه بوسيله سازمان خود و ابزار برنامه نويسی تعريف شده است تبعيت نمايند. اين توليدكنندگان الزماً از ابزارهایی نظير هم گردانها (compilers) مفسرها (interpreters) خطا زداها (debuggers) و غيره جهت توليد كدها استفاده خواهند نمود زبانهاي مختلف برنامه نويسی سطح بالا نظير C و ++C ، پاسكال، جاوا و PHP براي برنامه نويسی عموماً مورد استفاده قرار ميگيرند. انتخاب زبان برنامه نويسی معمولا با توجه به نوع نرم افزاری كه ميبايد توليد شود انتخاب ميگردد.

مرحله 5 : آزمايش محصول

اين مرحله معمولا زيرمجموعه ای از كليه مراحل ديگر در مدلهای نوين چرخه حيات توليد نرم افزار محسوب ميگردد. عمليات مربوط به آزمايش محصول اغلب در كليه مراحل توليد محصول انجام ميگيرد. ولي آزمايش در اين مرحله زمانی انجام ميگيرد كه نقص يا كاستی هایی مشاهده و يا گزارش شده است. بدين لحاظ كارشناسان پس از پيگيری نقص و يافتن علل، نقص يا كاستی را بر طرف و مجدداً تا زماني كه محصول در سطح استانداردی كه در سند مشخصات نيازمنديهای نرم افزار مشخص گرديده است قرارگيرد نرم افزار را آزمايش می نمايند.

مرحله 6 : پياده سازی در بازار و نگهداری

زمانی كه نرم افزار مراحل نهایی آزمايش را طي و آماده پياده سازی شد، عرصه رسمی آن در يک بازار ويژه آغاز ميگردد. گاهي اوقات پياده سازی نرم افزار در يک سازمان بصورت مرحله ای انجام ميگيرد و اين امر بستگي به استراتژی كسب و كار سازمان مذكور دارد. امكان دارد كه يک نرم افزار در ابتدای امر در بخش محدودي از يک محيط تجاری واقعی پياده سازی شود كه اين امر “آزمايش به شرط قبول كاربر” ناميده می شود.در اين شرايط و با توجه به بازخوردها امكان دارد كه پيشنهادات ديگری برای كاركرد بهتر محصول ارائه و تغييراتی متناسب با نيازهای بازار انجام گيرد. پس از پياده سازی نرم افزار مرحله نگهداری و پشتيبانی از مشتری موجود آغاز ميگردد.