راهکار ما چیست؟

ما تلاش می کنیم که بهترین راه‌حل ممکن را به مشتریان مان عرضه کنیم.

هر سازمانی فارغ از مقیاس عملکرد و حیطه فعالیت، ویژگی های منحصر به فردی دارد. حتی سازمان‌هایی که در یک صنعت واحد مشغول به فعالیت هستند، تفاوت‌های مهمی دارند. وضعیت فعلی سازمان، اهداف پیش رو، استراتژی‌های رسیدن به اهداف، طرز تفکر مدیران و بدنه سازمان، و بسیاری از موارد دیگر، موجب تمایز یک سازمان نسبت به سایر سازمان‌ها می‌شود.

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

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

حوزه‌های فعالیت

حوزه های فعالیت پروان پژوه کدامند؟ 

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

مدیریت ریسک و هزینه ها

هزینه سفارشی سازی؛ آیا لزوما همه راهکارهای سفارشی پر ریسک و پر هزینه اند؟

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

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

پروان پژوه چگونه تلاش می کند که ریسک‌ها و هزینه‌های راهکارهای سفارشی، مدیریت شود؟

ما در پروان‌پژوه با بکار گرفتن روش‌های مختلف و با تکیه به تجربه حاصل از سالها فعالیت در زمینه تولید نرم‌افزار، سعی می کنیم که ریسک‌ها و هزینه‌های پیاده‌سازی یک راهکار سفارشی را مدیریت کنیم. البته شاید همیشه کاملا موفق نباشیم، ولی به هر حال تلاش می کنیم که در راستای حفظ منافع مشتریان مان، تمام تلاش مان را صرف کنیم.

طراحی و پیاده‌سازی نرم‌افزار هزینه‌بر است. ولی همیشه هزینه‌هایی وجود دارد که می‌توان از آنها اجتناب کرد، یا آنها را بدون اینکه «بدهی فنی» به بار بیاید، به زمان مناسب موکول کرد.

هزینه پیاده‌سازی قابلیت‌های بلا استفاده

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

برای اجتناب از پیاده‌سازی قابلیت‌هایی که هرگز استفاده نمی‌شوند، یا برای اجتناب از پیاده‌سازی زودهنگام قابلیت‌هایی که ضرورت آنها به خوبی شناسایی نشده است، می‌بایست بر عطش «پر کردن سیستم از قابلیت‌های متعدد» غلبه کرد. نیازمندی که در حال حاضر ضرورت آن برای سازمان روشن نشده است، شانس بسیار کمی دارد که به خوبی شناسایی و تعریف شده و در نتیجه، راه‌حل کاملا موثری برای آن طراحی و پیاده‌سازی شود.

هزینه پیاده‌سازی قابلیت‌هایی که برای حل مسئله اصلی سازمان طراحی نشده‌اند

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

برای اجتناب از هزینه پیاده‌سازی قابلیت‌هایی که مسئله‌های اصلی سازمان را حل نمی‌کنند یا کاملا در راستای حل مسئله‌های اصلی سازمان نیستند، می‌بایست بجای تمرکز بر «قابلیت»، بر تولید «ارزش» مورد نیاز سازمان تاکید شود.

هزینه‌های غیر منطقی توسعه نرم‌افزار

بخش عمده ریسک‌ها و هزینه‌های تولید نرم‌افزار، مربوط به توسعه نرم‌افزار در آینده است. می‌دانیم که سازمانها در طول زمان تغییر می‌کنند و با نیازهای جدیدی مواجه می‌شوند. نرم‌افزار، همانطور که از واژه «نرم» انتظار داریم،‌ می‌بایست همگام با تغییر نیازهای سازمان، تغییر شکل دهد و نیازهای موجود را به شیوه‌های جدید برآورده سازد و برای نیازهای کاملا جدید، پاسخ درخور داشته باشد. اما اگر طراحی و معماری سیستم نرم‌افزاری پذیرای تغییرات نباشد، یعنی اگر با صرف هزینه معقول نتوان قابلیت‌های موجود را تغییر داد، یا قابلیت‌های جدید اضافه کرد، عملا ریسکها و هزینه‌های نگهداری و توسعه نرم‌افزار به شدت افزایش پیدا می‌کند. گاهی ریسک و هزینه ایجاد تغییر در نرم‌افزارهای در حال بهره‌برداری آنقدر افزایش پیدا می‌کند که سازمان‌ها ناچار می‌شوند به ابزارها و نرم‌افزارهای کمکی پناه ببرند، یا مجبور می‌شوند که به طور کلی، از انجام تغییر صرف نظر کنند. گاهی هزینه‌های پنهانِ چند پاره شدن امور یک سازمان میان چند نرم‌افزار مجزا و ناهماهنگ، و هزینه‌های پنهانِ صرف نظر کردن از ایجاد تغییرات مورد نیاز، از هزینه‌های تولید یک نرم‌افزار کاملا جدید بیشتر می‌شود.

برای اینکه هزینه‌های توسعه و تغییر نرم‌افزار در آینده از کنترل خارج نشود، طراحی و معماریِ درست نرم‌افزار بسیار حائز اهمیت است. در واقع از نرم‌افزار انتظار می‌رود آنقدر «نرم» باشد که هر وقت نیاز شد که شیوه پاسخگویی به یک نیازمندی تغییر کند، اعمال این تغییر ساده و آسان باشد. طراحی نرم‌افزار به شیوه DDD و به کار بردن معماری Clean Architecture کمک شایانی می‌کند تا نرم‌افزار به درستی طراحی و پیاده‌سازی شود و در آینده هزینه ایجاد تغییرات در آن معقول باشد.