شما در جایگاه مالک محصول[1] محصولی دیجیتال[2] را مدیریت و با تیم تولید[3] کار میکنید. آیا این بدان معناست که برای انجام کارتان به مهارتهای فنی[4] نیاز دارید؟ آیا باید بتوانید برنامهنویسی کنید و کد بنویسید؟ یا آیا همین که به فناوری[5] نرمافزار علاقهمند باشید کافی است و میتوانید کارهای دیگر را به تیم بسپارید؟ این نوشته پاسخها و پیشنهادهایم را در اختیارتان میگذارد.
شما میتوانید به عنوان مالک محصول بگویید که آیا مهارتهای فنی برایتان منفعتی دارند؟ به نظرم برای پاسخ به این پرسش بهتر است چگونگی ایفای نقش مالک محصول را بررسی کنیم. اگر محصول دیجیتالی را مدیریت میکنید که کاربران نهایی از آن استفاده میکنند، مانند برنامه کاربردی موبایل یا مبتنی بر وب، معمولاً به مهارتها فنی عمیقی نیاز ندارید. مهارتهای فنی شامل مواردی مانند برنامهنویسی با زبان جاوا[6]، نوشتن کد اسکیوال[7]، اطلاع از چهارچوبهای یادگیری ماشین[8] و تشخیص مناسب بودن تنسورفلو[9] برای محصولتان است.
اما اگر یک محصول فنی[10] را مدیریت میکنید- محصولی که با پیشنهاد بزرگتری مانند موتور فیزیک[11] که بخشی از بازی رایانهای است یکپارچه میشود- به مهارتهای فنی مناسبی برای بیان نیازمندیهای فنی[12] و تعریف واسطهای نرمافزاری(APIs) نیاز دارید. برای نمونه، اگر شما مسئول موتور فیزک هستید احتمالاً باید بتوانید با زبان سیپلاسپلاس[13] کدنویسی کنید، از یوامال[14] استفاده کنید و معماری نرمافزار[15] و الگوهای طراحی[16] درستی را به کار بگیرید.
اگر مالک مولفه[17] هستید موضوع بالا برای شما هم صادق است. مالک مولفه کسی است که اجزا سازنده معماری مانند خدمت[18]، مولفه[19] یا لایهی[20] محصولی دیجیتال را مدیریت میکند. اگر تجربه عملی در زمینه فناوریهای مناسب داشته باشید برای شما سودمند خواهد بود.
جدای از نوع محصولی که مدیریت میکنید باید به فناوری نرمافزار علاقهمند و از روندهای[21] اصلی مانند هوش مصنوعی[22] و اینترنت اشیا[23] آگاه باشید. میخواهم بگویم که هر مالک محصولی باید درک حداقلی از مفاهیم اصلی مانند شیگرایی[24]، الگوهای طراحی[25]، اصول معماری و تجربههای تولید چابک[26] از قبیل توسعه مبتنی بر تقدم آزمون[27]، بازسازی[28] و یکپارچهسازی مستمر[29] داشته باشد.
این دانش به شما کمک میکند تا بتوانید تصمیمهای درستی در مورد محصول بگیرید. برای مثال، میتوانید بررسی کنید که چگونه هوش مصنوعی و یادگیری ماشین میتوانند محصول شما را بهبود دهند یا برای بازسازی معماری زمان تخصیص دهید. همچنین به شما کمک میکند تا بتوانید با تیم تولید همدردی کنید و برخی از چالشهایی که اعضای تیم در هنگام طراحی، برنامهنویسی و آزمون محصول با آنها رو به رو میشوند را درک کنید.
آموختن برنامهنویسی به شما کمک میکند تا بتوانید دانش مربوطه را به دست آورید- واقعاً خوشحالم که فرصتی برای یادگیری کدنویسی و طراحی سامانههای نرمافزاری برایم پیش آمد. اما مراقب باشید که روی کار اصلی خود تمرکز کنید- مطمئن شوید که محصولتان تا حد امکان برای کاربران و شرکتتان ارزش ایجاد میکند. برای شما موضوعاتی از قبیل درک ارزشی که محصولتان برای کاربرانش ایجاد میکند، درک چیزی که محصول را برجسته میکند و آگاهی از منفعتی که کسب و کار به دست میآورد اهمیت بالایی نسبت به توانایی شما برای تشخیص مناسب بودن معماری لایهای[30] یا خدمتگرا[31] دارد.
علاوه بر این، خودمختاری[32] تیم تولید را با گرفتن تصمیمات تکنیکی خدشهدار نکنید. طبق تجربهای که دارم این موضوع میتواند برای مالکان محصولی که مهارتهای فنی قویای دارند وسوسهانگیز باشد. تصمیمگیری در مورد چگونگی تولید محصول کار تیم است نه کار شما. اگر احساس میکنید که افراد مهارتهای لازم برای تصمیمگیریهای فنی را ندارند در جلسه بازاندیشی[33] اسپرینت بعدی موضوع را مطرح کنید و در مورد سنجههای بهبود مناسبی به توافق برسید. به جای این که خودتان این کار را بر عهده بگیرید و به افراد بگویید چه کاری انجام دهند.
سرانجام، این موضوع را بپذیرید که ایفای نقش مالک محصول و کار در حوزه مدیریت محصول به اندازهای که هیجانانگیز است پرمسئولیت نیز است. اگر مهارتهای فنی ندارید ناراحت نباشید. سعی کنید این وضعیت را فرصتی برای یادگیری و رشد در نظر بگیرید و تجربه خود را در حوزه مدیریت محصول گسترش دهید.
مترجم: علیرضا افشار
منبع: www.romanpichler.com
عنوان مقاله: ?Do Product Owners Need Technical Skills
[1] Product Owner
[2] Digital Product
[3] Development Team
[4] Technical
[5] Technology
[6] Java
[7] SQL
[8] Machine Learning
[9] TensorFlow
[10] Technical Product
[11] Physics Engine
[12] Technical Requirements
[13] C++
[14] UML
[15] Software Architecture
[16] Design Patterns
[17] Component Owner
[18] Service
[19] Component
[20] Layer
[21] Trends
[22] Artificial Intelligence(AI)
[23] Internet of Things(IoT)
[24] Object Orientation
[25] Design Patterns
[26] Agile Development
[27] Test-First
[28] Refactoring
[29] Continuous Integration
[30] Layered
[31] Service-Based
[32] Autonomy
[33] Retrospective