سَندرُم Architecture Astronaut به وضعیتی اشاره دارد که در آن معماران و برنامه نویسان سیستم، به جای رفع مشکلات و نیازهای واقعی، به پیچیدگیها و جزئیات فنی میپردازند. این افراد بیشتر به دنبال استفاده از فناوریهای جدید، الگوهای طراحی و ایدههای پیچیده هستند .
زمانی که یک تیم توسعه نرمافزار برای حل یک مشکل به دنبال راهحلهای ساده و عملی است، ممکن است یکی از اعضای تیم بر روی معماری و ساختار سیستم تمرکز کند و به دنبال ایدههای پیچیده باشد. اما این ایدهها ممکن است در واقع مشکلات و پیچیدگی بیشتری را به وجود آورد و پروژه را به سمت شکست هدایت کند.
در این سَندرُم معماران و برنامه نویسان سیستم، به جای رفع مشکلات و نیازهای واقعی، به پیچیدگیها و جزئیات فنی میپردازند که برای رسیدن به یک سیستم کامل و بزرگ موردنیاز هستند. این پروژه ها ممکن است به دلیل اینکه تمرکز بر روی جزئیات فنی زیادی قرار گرفته و نیازهای اساسی کاربران و مشتریان نادیده گرفته میشود با معضلات زیادی همراه باشند و ممکن است به جای حل مشکلات، مشکلات بیشتری به وجود آید که میتواند باعث عقب ماندن پروژه و هزینههای زیاد شود.
به عنوان مثال، یک معمار فضایی ممکن است بخواهد از الگوهای مشابه شرکتهای بزرگی مثل Amazon و Google استفاده کند، اما این الگوها به دلیل محدودیتهای موجود در سازمان و منابع مالی قابل اجرا نباشند. در نتیجه، پروژه به تعویق میافتد و هزینههای اضافی برای توسعه بیشتر صرف میشود.
علائمی که بیشترین شیوع در افرادی دارند که درگیر این سَندرُم هستند عبارتند از:
۱) نادیده گرفتن واقعیتهای فنی: به جای پذیرفتن واقعیات فنی و ساختارهای موجود در سیستم، به دنبال راهحلهای تئوریک و عمومی هستند.
۲) زیاده روی در استفاده از الگوها و الهامگرفتن از سایر پروژهها: بعضی معماران علاقه زیادی به استفاده از الگوهای آماده دارند و با دغدغه ایجاد تطابق با سایر پروژهها، از ذهنیت خلاق خود دور میشوند.
۳) عدم توجه به نیازهای کاربران: معمارانی که درگیر این سَندرُم هستند، بیشتر به ساختار فنی توجه دارند و از نیازهای کاربران غافل میشوند.
۴) عدم توجه به محدودیت ها : عدم توجه به محدودیتهای زمانی و بودجه، و تمایل به تلاش برای حل تمامی مشکلات فنی در یک پروژه.
۴)پیچیدگی زیاد: این افراد، به دلیل اینکه به راهحلهای تئوریک و فرضی بیشتر از واقعیتهای سیستم توجه دارند، ممکن است پیچیدگی بیشتری در طراحی سیستم ایجاد کنند.
برای جلوگیری از این سَندرُم در پروژههای نرمافزاری، میتوان از راهکارهای زیر استفاده کرد:
۱) تمرکز بر نیازهای کاربران: به جای تمرکز بر روی جزئیات فنی و علتهای فنی، باید تلاش کرد تا به نیازهای کاربران و مشتریان توجه شود و دغدغه های آنها را در نظر گرفت.
۲) استفاده از راهحلهای ساده: استفاده از راهحلهای ساده و منطقی در طراحی سیستم، باعث کاهش پیچیدگی و افزایش قابلیت اجرا میشود.
۳) حفظ تعادل بین جزئیات فنی و نیازهای کاربران: برای جلوگیری از این سَندرُم باید تلاش کرد تا تعادلی بین جزئیات فنی و نیازهای کاربران حفظ شود و در طراحی سیستم به هر دو مورد توجه شود.
۴) انتخاب راه حلهای مناسب: در طراحی سیستم باید از الگوها و فریمورکهای مناسب استفاده شود و باید به دنبال یافتن راهحلهای ساده و قابل اجرا باشیم.
در کل، جلوگیری از این سَندرُم به معنی تلاش برای توازن میان جزئیات فنی و نیازهای کاربران و طراحی راهحلهای ساده و قابل اجرا در پروژههای نرمافزاری است.