چرا هر شرکتی یک شرکت نرمافزار است؟
علم کامپیوتر، علمی معاصری بهحساب میآید. هنوز صدسال از اختراع اولین کامپیوتر نگذشته است. پس از اختراع کامپیوتر در بحبوحه جنگ جهانی دوم نیز حدود ۳۵ سال طول کشید که کامپیوتر از یک ابزار صرفا علمی و نظامی به یک محصول تجاری تبدیل شود. در روزهای ابتدایی پیدایش، کامپیوتر بیشتر با سختافزار آن شناخته میشد.
علم کامپیوتر، علمی معاصری بهحساب میآید. هنوز صدسال از اختراع اولین کامپیوتر نگذشته است. پس از اختراع کامپیوتر در بحبوحه جنگ جهانی دوم نیز حدود ۳۵ سال طول کشید که کامپیوتر از یک ابزار صرفا علمی و نظامی به یک محصول تجاری تبدیل شود.
در روزهای ابتدایی پیدایش، کامپیوتر بیشتر با سختافزار آن شناخته میشد. این سختافزار بود که ساختنش سخت و گران بود. نرمافزارهای روی کامپیوتر محدود، کوچک و منحصر به هر کامپیوتر بودند.
اما با ظهور کامپیوترهای تجاری و خلق سیستمعاملهای متعدد، نرمافزار خود به یک حوزه مهم در این حوزه بدل شد.
تغییرات و نا اطمینانی
بااینهمه در ابتدا کامپیوتر آنقدر پرکاربرد و همگانی نبود. از آنسو هنوز اینترنت به ابزاری کاربردی تبدیل نشده بود و افراد کمی در توسعه کامپیوتر و نرمافزارهای آن دخیل بودند.
اما با گسترش اینترنت، تعداد افراد دخیل در صنعت نرمافزار افزایش یافتند و این باعث تنوع و تغییرات فراوانی شد. شرکتها در ابتدای کار بخش تولید نرمافزارها را مثل هر واحد تولیدی پیش از آن اداره میکردند.
یعنی یک طرح تولید را از قبل طراحی و اجرا میکردند. طبق این طرح تولید، تیمها را گرد هم میآوردند. چیزهایی را یاد میگرفتند. منابع را در اختیار تیمها قرار میدادند و کار را آغاز میکردند.
در صنعت تولید نرمافزار نمیتوان هر چیز لازم را پیش از شروع کار یاد بگیریم.
این یک سیستم مدیریتی بود که به صنعت تولید خودرو یا هر صنعت غیردیجیتال قرن بیستم تعلق داشت و برای اجرای خط تولید استفاده میشد. در اواخر قرن بیستم هم که تولید نرمافراز خود به یک صنعت تبدیل شده بود، دقیقا از همین ساختار برای آن استفاده میشد.
همه اینها تا زمانی که بازیگران متعدد وارد بازی نشده بودند، مشکلی نداشت.
اما با رشد لینوکس ، پروژه جیانیو (GNU) و مهمتر از همه ایده نرمافزارهای کدباز، شرکتهای تولیدکننده نرمافزار به مشکل برخوردند. نرمافزارهای کدباز معمولا انعطاف بیشتری داشتند و بسیار سریعتر میتوانستند نیازها و درخواستهای کاربران را تامین کنند.
خط تولید به درد نرمافزار نمیخورد
شرکتها با پروتکلهای و طرحهای تولیدی بر پایه سیستم «خط تولید» کار میکردند. بااینکه این پروتکلها در صنایع دیگر مثل خودروسازی مفید بودند و برای مدیریت کیفیت به خوب عمل میکردند، اما در صنعت نرمافزار به درد نمیخوردند.
سیستم «خط تولید» یک طرح تولیدی دارد که در آن فرض شده است هر چیزی را که برای ساختن محصولی لازم است، پیش از کار میتوانیم بفهمیم و یاد بگیریم. این یک قاعده کلی برای ساخت همهچیز از خودرو تا نرمافزار در طول قرن بیستم بود.
اما افزایش سرعت تغییرات که باعث ایجاد یک انقلاب دیجیتال در ابتدای قرن ۲۱ شد، فرضهای اساسی این سیستم تولیدی آبشاری از بالا به پایین را به چالش کشید.
زیرا همه متوجه این شدند که در صنعت تولید نرمافزار نمیتوان هر چیز لازم را پیش از شروع کار یاد بگیریم. یا اینکه بفهمیم دقیقا باید به کجا برسیم. بلکه بسیاری از چیزها را در مسیر تولید یاد میگیریم و متوجه میشویم.
مانیفست منعطف در تولید نرمافزار
به همین دلیل در سال ۲۰۰۱ برنامهنویسان و توسعهدهندگان هفده شرکت فناوری دور هم جمع شدند تا راهحلی برای این مشکل بیابند.
این توسعهدهندگان متوجه شدند که سیستم خط تولید دیگر در دنیای پر تغییر به درد نمیخورد؛ زیرا سطح نااطمینانی در تولید نرمافزار بسیار افزایش یافته است.
یعنی دیگر تضمینی وجود ندارد که وقتی شما از قبل دقیقا مشخص کردهاید چه لازم دارید در انتها نیز دقیقا به همان برسید یا همان را لازم داشته باشید؛ زیرا انتظارات مشتریان و کاربران در همین زمان کلی تغییر میکنند.
چیزی که کاربران در آغاز پروژه فکر میکنند لازم دارند یا میخواهند، معمولا با چیزی که در انتهای پروژه از محصول انتظار دارند، فرق دارد.
این توسعهدهندگان در تلاش برای حل این مشکل در نهایت به یک طرح یکصفحهای با نام مانیفست منعطف (Agile Manifesto) با این ۱۲ اصل رسیدند و تصمیم گرفتند دستیافتههای خود را نیز در آینده در این حوزه با هم با اشتراک بگذارند.
- مهمترین اولویت ما جلب رضایت مشتریان با عرضه سریع و دائم نرمافزارهای ارزشمند است.
- ما حتی در مراحل پایانی توسعه هم در صورت لزوم تن به تغییرات میدهیم. فرآیندهای منعطف، تغییرات را برای ایجاد مزایای رقابتی هدایت میکنند.
- ما باید بهصورت مداوم نرمافزار تولید کرده و بهروزرسانی کنیم. فاصله این بهروزرسانیها از چند هفته تا چند ماه متغیر هستند اما هر چه کوتاهتر باشند، بهتر است.
- برنامهنویسان و دیگر نیروهای فعال در حوزههای تجاری شرکت، باید دائما کنار هم روی پروژهها کار کنند.
- باید پروژهها را به آدمهای دارای انگیزه بسپاریم. باید به آنها محیط و حمایت موردنیازشان را ارائه دهیم و به آنها برای انجام و اتمام کار اعتماد کنیم.
- بهینهترین و موثرترین راه تبادل اطلاعات بین افراد در یک تیم توسعهدهنده، مکالمه رودررو است.
- اولین سنجه برای اندازهگیری پیشرفت، چگونگی عملکرد نرمافزار است.
- فرآیندهای منعطف به توسعه پایدار منجر میشوند. حمایتکنندگان مالی، توسعهدهندگان و کاربران باید بتوانند دائما از عهده سرعت تغییرات دائمی و ثابت برآیند.
- توجه دائمی به کیفیت فنی و طراحی، خود باعث بهبود انعطاف سازمان میشود.
- سادگی ضروری است. سادگی یعنی بیشینه کردن کارهایی که نباید انجام دهیم.
- بهترین معماریها، ملزومات و طراحیها از تیمهایی خودگردان حاصل میشوند.
- در یک بازه منظم، تیمها خود خواهند دانست که چگونه کارایی بیشتری داشته باشند و لازم نیست رفتارها و نحوه کار آن تنظیم شود.
تحول دیجیتال
در قرن بیستم مدلهای تولید یک محصول ممکن بود ۴۰ سال نیز دوام بیاورند. به همین دلیل هم بود که یک خط تولید بسیار بهینه و یک طرح تجاری پنجساله میتوانست تا چندین دهه سود تولید کند.
امروز چرخه زندگی محصولات معمولا کمتر از ۵ سال است و در نتیجه یک طرح تجاری ۵ ساله بهدردنخور است.
در دنیای امروز شرکتهایی که روی ارائه محصولات دیجیتال فعال هستند، بالاترین سودها را تولید میکنند و در تلاش هستند دائما انتظارات در حال تغییر مشتریان را برآورده کنند.
در بقیه شرکتها هم بخشهای دیجیتال بسیار مهم شدهاند و طولی نمیکشد که بخش اصلی تجارت را شامل شوند.
هر چه صنایع بیشتر بهسوی دیجیتالی شدن پیش میروند، کارهای اصلی شرکتها عوض میشوند زیرا شرکتها عملا به یک شرکت نرمافزاری بدل میشوند.
یکی از مثالهای این مورد میتواند صنایع خودروسازی یا حتی صنعت ساختوساز باشد.
وقتی هم خودروسازی و هم مسکن کاملا دیجیتال شوند یعنی زمانی که شبکه 5G وجود دارد و اینترنت اشیا نیز بسیار گسترش یافته است، این صنایع، پلتفرمها و نرمافزارهایی بسیار عظیمی برای جمعآوری و تحلیل حجم زیادی از دادهها خواهند داشت.
این دادهها از منازل و خودروها به دست میآیند. نکته اینجاست که در چنین زمانی احتمالا درآمد حاصل از همین دادهها بسیار بیشتر از درآمد ناشی از فروش خودرو یا مسکن توسط این شرکتها باشد.
رشد اقتصاد داده که باعث این تغییرات دیجیتال میشود عملا به این مسئله منجر خواهد شد که از لحاظ تولید سود و درآمد، سختافزارهای تولیدی در بسیاری از شرکتها در اولویت دوم شرکتها قرار گیرند و اولویت اول دادهها باشد. زیرا این دادهها برای مدیریت دادهمحور ، افزایش رضایت مشتریان و پیشبینی تقاضا به کار میروند و از این روی هم برای خود شرکت و هم برای شرکتهای دیگر بسیار مفید خواهند بود.
حتی در چنین حالتی ممکن است شرکتهایی پیدا شوند که بهرایگان به افراد خودرو و مسکن بدهند که صرفا از دادههای آنها سود ببرند.
تحول دیجیتال همهچیز را به شرکتهای نرمافزار بدل میکند
تحول دیجیتال در نهایت ارتباط بین تجارت و نرمافزار را دگرگون خواهد کرد. همین ۱۸ سال پیش در اولین روزهای قرن ۲۱ شرکتها، فرآیند تولید و تغییر نرمافزارها را مثل خودروها اداره میکردند؛ اما امروزه برعکس است.
تحول دیجیتال باعث شده که شرکتها امروزه هر چیزی را مثل نرمافزار مدیریت کنند؛ زیرا عملا هر شرکتی به یک شرکت نرمافزار بدل میشود. چون سرعت تغییرات امروزه در هر حوزهای بسیار زیاد شده است.
وقتی چنین تغییراتی در حال انجام است، مدیران و رهبران شرکتها باید طرحها و برنامههای سفتوسخت پیشین را رها کنند. بهجای آن آنها باید درسهایی جدیدی را که یاد میگیرند اجرا و سیستم مدیریتی را که مانیفست منعطف در این گنجانده شده است، اجرایی کنند.
زیرا این اصول و این مانیفست روش بهتری برای رویارویی با دنیایی است در آن هر لحظه میزان نااطمینایی افزایش مییابد.
نظرات