سوالات مهندسان نرمافزار از متخصصین و تحلیلگران داده
ارتباط بین صنعت و کار آکادمیک از جمله مسائل حل نشدهای است که همواره مورد بحث است. در این مطلب به سوالات مهندسان نرمافزار از محققان حوزه تحلیل داده میپردازیم.
به دلیل دسترسی بیش از پیش به داده و قدرت پردازشی بالا، تحلیل داده و تحقیق در این حوزه به یکی از مسائل مهم تبدیل شده است. کسب و کارهای متنوعی هستند که برای بهبود وضعیت خود به تحلیل مشتریان خود میپردازند. حتی تیمهای فوتبال هم با تجزیه و تحلیل صحیح به موفقیت میرسند. در حوزه مهندسی نرمافزار هم محققان بسیاری به استفاده از دادهها در بهبود فرآیندهای تولید نرمافزار تاکید بسیاری دارند و نیاز به متخصصان تحلیل داده بیش از پیش احساس میشود. طبق گزارش موسسه جهانی McKinsey پیشبینی میشود تا سال ۲۰۱۸ کشور آمریکا با کمبود متخصصان تجزیه و تحلیل داده روبرو میشود. اما واقعا مهندسان نرمافزار چه سوالاتی از تحلیلگران داده دارند؟
در یک نظرسنجی از ۱۵۰۰ مهندس مایکروسافت خواسته شد ۵ سوال خود را از تحلیلگران داده مطرح کنند و ۲۰ سوال پر تکرار آنان بعد از رتبهبندی و دستهبندی به ترتیب زیر است:
۱. کاربران چگونه از برنامه من استفاده میکنند؟
۲. چه بخشهایی از نرمافزار بیشتر مورد علاقه/استفاده کاربران است؟
۳. چقدر تستهای کیفیت ما موثر است؟
۴. چگونه میتوانیم تعاملات و اشتراکگذاری بین تیمها را بیشتر کنیم؟
۵. بهترین شاخصهای کارایی برای نظارت بر سرویسها چیست؟
۶. تاثیر تغییر کد یا تغییر نیازمندی در پروژه و تست آن چیست؟
۷. تاثیر ابزارها در خلاقیت و نوآوری چیست؟
۸. چگونه میتوان با استفاده از جستجوی کد یا به اشتراکگذاریها از اختراع مجدد چرخ جلوگیری کرد؟
۹. رایجترین الگوی اجرای برنامه من چیست؟
۱۰. چقدر پوشش تستها میتواند مطابق با بخشهای کد مورد استفاده مشتریان باشد؟
۱۱. چه ابزاری میتواند به ما در ارزیابی ریسک تغییر کد کمک کند؟
۱۲. چه معیاری برای اندازهگیری کیفیت ارسال موثر است؟
۱۳. چقدر تغییر طراحی هزینهبر است و چگونه میتوان ریسک آن را کاهش داد؟
۱۴. بهترین راه برای تغییر ویژگیهای برنامه بدون از دست دادن مشتریان چیست؟
۱۵. چه استراتژی برای تست بیشترین باگ را پیدا میکند؟
۱۵. چه زمانی باید از ابتدا کد را نوشت و چه زمانی باید از کدهای قدیمی استفاده کرد؟
۱۷. هزینه و تاثیر یافتن باگ در هر مرحله از توسعه نرمافزار چیست؟
۱۸. مصالحه (trade off) بین افزایش ویژگیهای بیشتر یا انتشار سریعتر چیست؟
۱۹. چه خطاهایی توسعهدهندگان در نرمافزار خود مرتکب میشوند و کدامیک رایج تر است؟
۲۰. یک نیازمندی خاص چقدر مهم است؟
این سوالات به عنوان بسیار ضروری و ارزشمند دستهبندی شده اند و همه اینها تقریبا سوال نیمی از توسعهدهندگان بوده است. دو سوال اول نیز با بیشترین تعداد تکرار، مورد پرسش ۸۰ و ۷۲ درصد توسعهدهندگان هستند.
این مطلب از مقاله [1] استخراج شده است که نتایج مفصلتری از پژوهش آنها را در مقاله اصلی میتواند مطالعه کنید.
اگر تجربه تحقیقات آکادمیک داشته باشید حتما متوجه شدید که انتخاب مساله و موضوعی که جدید و تاثیرگذار باشد چقدر مهم است و ساختن ابزارهایی که منجر به بهبود و پیشرفت واقعی شوند چقدر ارزش دارد. به همین دلیل نتایج چنین نظرسنجیها و بررسیهایی میتواند بسیار مهم و ارزشمند باشد.
با گسترش تقاضا برای تحلیلگران داده، تحقیقات بیشتری نیاز است تا بفهمیم مهندسان نرمافزار چه تصمیماتی اتخاذ میکنند و چگونه دادهها وابزارها میتواند به کمک آنها بیاید. با بهرهگیری مناسب از این اطلاعات میتوان به افزایش کیفیت نرمافزارها و کاهش زمان تولید آنها منجر شد.
شما به عنوان یک مهندس نرمافزار چه چالشهایی در روال توسعه نرمافزار دارید که مایلید با تحلیل دادهها جواب مناسب آن را بیابید؟
[1] Begel, Andrew, and Thomas Zimmermann. “Analyze this! 145 questions for data scientists in software engineering.” In Proceedings of the 36th International Conference on Software Engineering, pp. 12-23. ACM, 2014.