خانهبلاگDevOpsتجربه‌ی توسعه‌دهنده (Developer Experience)

تجربه‌ی توسعه‌دهنده (Developer Experience)

واژه‌نامه

کاربرمحور  user-centered
ویژگی  feature
تحویل  delivery
مالکیت  ownership

فرسودگیِ شغلی  burn out
بهره‌وری  productivity
بین‌وظیفه‌ای  cross-functional

تجربه‌ی توسعه‌دهنده  developer experience
تحویل  delivery
دورا  DORA
رفاه well-being

پیش‌گفتار

نرم‌افزار به‌خودی‌خود ساخته نمی‌شود، حتی با کمک هوش مصنوعی. این افراد هستند که نرم‌افزار را می‌سازند و تجربه کاریِ آن‌ها یکی از اجزایِ اساسیِ موفقیتِ سازمان‌ها است.

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

در نهایت، نرم‌افزار برای مردم ساخته می‌شود؛ بنابراین وظیفه‌ی سازمان‌ است که محیطی ایجاد کند تا توسعه‌دهندگان بتوانند بر ساختِ نرم‌افزاری تمرکز کنند که تجربه‌ی کاربر را بهبود بخشد. همچنین یافته‌های دورا نشان می‌دهد که محیط‌های پایدار (جایی که اولویت‌ها به طورِ مداوم تغییر نمی‌کنند) باعثِ افزایشی کوچک، اما معنادار در بهره‌وری، و کاهشی مهم و قابلِ توجه در فرسودگیِ کارکنان می‌شوند. عواملِ محیطی تأثیراتِ قابل‌توجهی بر کیفیتِ محصولاتِ تولیدشده و تجربه‌یِ کلیِ توسعه‌دهندگانی که این محصولات را می‌سازند، دارند.

کاربر را در اولویت قرار دهید و تقریباً همه‌چیز درست خواهد شد

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

در این گزارشِ دورا،‌ شواهدِ قانع‌کننده‌ای وجود دارد که نشان می‌دهد اگر رویکردِ توسعه‌ی نرم‌افزار به‌گونه‌ای باشد که کاربرانِ نهایی را در اولویت قرار دهد، تاثیراتِ مثبتی هم برای کارکنان و هم برای سازمان‌ها خواهد داشت.

امسال در دورا، سؤالاتی مطرح شد تا مشخص شود که آیا توسعه‌دهندگان:

  1. از بازخورد کاربران، برای بازبینی و اولویت‌بندیِ مجددِ ویژگی‌ها استفاده می‌کنند.
  2. می‌دانند کاربران با یک اپلیکیشن یا سرویسِ مشخص چه چیزی می‌خواهند بدست آورند.
  3. باور دارند که تمرکز بر کاربر، کلیدِ موفقیتِ کسب‌وکار است.
  4. باور دارند که تجربه‌یِ کاربر یکی از اولویت‌های اصلی کسب‌وکار است.

یافته‌ها و معنای آن

داده‌هایِ گزارشِ DORA 2024 به‌طور قوی نشان می‌دهد که سازمان‌هایی که نیازها و چالش‌هایِ کاربران را به‌عنوانِ راهنمایِ اصلیِ خود درنظر می‌گیرند، محصولات بهتری می‌سازند. تمرکز بر کاربر، بهره‌وری و رضایتِ شغلی را افزایش داده و در عین حال خطرِ فرسودگیِ شغلی را کاهش می‌دهد. مهم‌تر اینکه این مزایا تنها به کارکنان محدود نمی‌شود و به کلِ سازمان نیز سرایت می‌کند.

در سال‌های گذشته، در گزارش‌های دورا، اشاره شد که سازمان‌های با عملکردِ بالا، نرم‌افزار را به‌سرعت و با قابلیتِ اطمینان ارائه (deliver) می‌دهند. این موضوع بیانگر این است که عملکردِ تحویلِ نرم‌افزار یکی از الزامات موفقیت است. اما داده‌هایِ امسال نشان می‌دهند که مسیرِ دیگری نیز برای موفقیت وجود دارد: توسعه‌دهندگان، کارفرمایانِ آن‌ها و به‌طور کلی سازمان‌ها، می‌توانند یک رویکردِ کاربرمحور (user-centered) در توسعه‌ی نرم‌افزار ایجاد کنند.

یافته‌های دورا نشان می‌دهد که پایداری و سرعتِ تحویلِ نرم‌افزار، الزامی برای «کیفیتِ» محصول نیست. کیفیتِ محصول زمانی بالا خواهد بود که تجربه‌ی کاربر (user experience) در اولویت قرار داشته باشد.

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

قابل درک است که برخی سازمان‌ها ممکن است تمایل داشته باشند که بر ایجادِ ویژگی‌ها (features) و نوآوری‌های تکنولوژی تمرکز کنند. در نگاهِ اول، این رویکرد منطقی به نظر می‌رسد؛ چراکه توسعه‌دهندگان به‌مراتب بهتر از کاربرانِ عادی خود، به جنبه‌های فنی و پیچیدگی‌هایِ تکنولوژی تسلط دارند. اما توسعه‌یِ نرم‌افزار بر اساس فرضیاتی در موردِ تجربه‌یِ کاربر، احتمالِ ساختِ ویژگی‌هایی را افزایش می‌دهد که شاید ظاهری جذاب داشته باشند اما عملاً چندان استفاده نمی‌شوند.

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

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

چرا رویکردِ کاربرمحور در توسعه‌ی نرم‌افزار، فلسفه و عملی قدرتمند است؟

تحقیقاتِ آکادمیک نشان می‌دهد که داشتنِ حِس و درکی از هدفِ کار، هم برای کارکنان سودمند و مفید است هم برای سازمان‌ها.

برای مثال، در نظرسنجیِ اخیر، ۹۳٪ از کارکنان اعلام کرده‌اند داشتنِ شغلی که کارشان در آن معنادار باشد برایشان مهم است. در یک نظرسنجیِ مشابه، به‌طورِ متوسط پاسخ‌دهندگان حاضر بودند ۲۳٪ از کلِ درآمدِ آینده‌ی خود را فدا کنند تا شغلی داشته باشند که همیشه معنادار باشد.

این یک معامله‌یِ قابل‌توجه است که کارکنان حاضر به انجام آن هستند. این موضوع به ما نشان می‌دهد «چه چیزی» به افراد انگیزه می‌دهد: افراد می‌خواهند وقتِ خود را صرف کاری کنند که برایشان اهمیت دارد و تأثیرگذار است.

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

ارائه‌ی مسیر روشن

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

این رویکرد به توسعه‌دهندگان اطمینان می‌دهد ویژگی‌هایی که روی آن‌ها کار می‌کنند دلیلِ وجودیِ مشخصی دارند.

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

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

افزایش همکاری‌های بین‌وظیفه‌ای (cross-functional)

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

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

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

این رویکرد می‌تواند به افزایشِ مشارکتِ کارکنان کمک کرده و محیطی پویاتر و چالش‌برانگیزتر ایجاد کند؛ محیطی که می‌تواند از احساس رکود و خستگی که معمولاً با فرسودگیِ شغلی همراه است، جلوگیری کند.

سازمان‌ها چه‌کاری می‌توانند انجام دهند؟

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

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

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

این یافته مشابه رفتاری است که در آن، مستندات، تأثیرِ قابلیت‌هایِ فنی بر عملکردِ سازمانی را تقویت می‌کند. مستندات به انتقالِ سیگنال‌ها و بازخوردهایِ کاربران در سراسر تیم و به درون محصول کمک می‌کند.

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

دورا از سالِ ۲۰۲۱، بررسیِ «مستندات» را شروع کرد و این موضوع را هرساله ادامه می‌دهد. دورا تاثیرِ مستنداتِ باکیفیت را چشم‌گیر می‌داند. یافته‌های امسال نیز بر این عملکرد صحه می‌گذارند. تصویر زیر را ببینید.

فرهنگِ مستندنویسی

اگرچه در مانیفستِ اجایل تاکید می‌شود که «نرم‌افزاری که کار می‌کند را به مستنداتِ جامع ترجیح دهید»، ولی یافته‌های دورا به وضوح نشان می‌دهند که مستنداتِ باکیفیت، یکی از اجزایِ کلیدیِ نرم‌افزارِ کارآمد است.

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

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

برای ایجادِ فرهنگِ سالمِ مستندسازی در تیمِ خود، می‌توانید از روش‌هایِ زیر که برای تهیه‌ی مستنداتِ باکیفیت توصیه شده‌اند، پیروی کنید:

خطراتِ اولویت‌هایِ متغیر

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

این تجربه‌ی رایج می‌تواند تأثیراتِ عمیقی بر کارمندان و سازمان‌ها بگذارد. در ادامه بررسی می‌کنیم که وقتی سازمان‌ها دائماً اولویت‌های خود را تغییر می‌دهند، چه اتفاقی می‌افتد.

یافته‌ها و معنای آن

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

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

چرا اولویت‌های ناپایدار برای رفاهِ کارکنان مضر است؟

دورا فرض می‌کند که اولویت‌های ناپایدارِ سازمانی باعث افزایشِ فرسودگیِ شغلی می‌شوند، زیرا:

  1. انتظارات را مبهم می‌کنند.
  2. حسِ کنترل کارکنان را کاهش می‌دهند.
  3. حجمِ کاریِ آن‌ها را افزایش می‌دهند.

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

باور بر این است که فرکانسِ تغییرِ اولویت‌ها تأثیرِ منفی بر رفاه کارکنان می‌گذارد. عدمِ قطعیتی که با ناپایداریِ اولویت‌ها همراه است، مشکلِ اصلی تغییراتِ مکرر است.

دهه‌ها پژوهشِ علمی، اثراتِ زیان‌بارِ استرسِ مزمن بر سلامتِ روان و رفاهِ افراد را نشان داده است. یافته‌های دورا شباهت‌های بسیاری با این پژوهش‌ها دارد. ناپایداریِ مزمن باعثِ افزایشِ عدم اطمینان و کاهشِ حسِ کنترل می‌شود. این ترکیب، شرایطِ ایده‌آلی برای فرسودگیِ شغلی فراهم می‌کند.

وقتی اولویت‌ها پایدار می‌شوند چه اتفاقی می‌افتد؟

یافته‌های DORA در این بخش کمی گیج‌کننده هستند. این داده‌ها نشان می‌دهند که وقتی اولویت‌ها پایدار می‌شوند، عملکردِ تحویلِ نرم‌افزار کاهش می‌یابد. در واقع روندِ تحویلِ نرم‌افزار کُند و از ثباتِ کمتری برخوردار می‌شود.

بنظر می‌رسد که این موضوع ممکن است به این دلیل باشد که سازمان‌های با اولویت‌های پایدار، معمولاً محصولات و خدماتی دارند که در شرایطِ کلیِ خوبی قرار دارند؛ بنابراین، تغییرات به ندرت اتفاق می‌افتد.

با این حال، این یافته‌ غیرمنتظره بود. فکر می‌کنید چرا پایدار شدنِ اولویت‌های سازمانی باعثِ کاهشِ سرعت و ثبات در تحویلِ نرم‌افزار می‌شود؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

This is a staging environment