توسعه نرمافزار معمولاً با هدف انطباق مشخصات با پیادهسازی انجام میشود.
به همین دلیل، نرمافزار را طوری طراحی میکنیم که مشخصات را برآورده کند و سپس آن را بر اساس آن طراحی پیادهسازی میکنیم. پس از آن، از آزمایشها برای تأیید اینکه پیادهسازی مطابق با مشخصات است، استفاده میکنیم و در صورت وجود مغایرت، پیادهسازی را اصلاح کرده یا در صورت مبهم بودن مشخصات، آنها را شفافسازی میکنیم.
این رویکرد را میتوان مهندسی مبتنی بر مشخصات و پیادهسازی نامید.
در مقابل، امروزه در بحث نرمافزار، تجربه کاربری اهمیت فزایندهای پیدا کرده است.
علاوه بر این، آنچه واقعاً تجربه کاربری را شکل میدهد، رفتار نرمافزار است، نه پیادهسازی آن.
بنابراین، خارج از چارچوب مشخصات و پیادهسازی، تجربه و رفتار وجود دارد.
در نتیجه، معتقدم که ارزش دارد مفهوم مهندسی تجربه و رفتار را که بر پایه تجربه و رفتار استوار است، بررسی کنیم.
لیکویدور (Liquidware)
مهندسی تجربه و رفتار با روشهای سنتی توسعه نرمافزار رویکردی غیرواقعبینانه است.
این به این دلیل است که این رویکرد نیازمند بهبود تجربه کاربری بدون مرزهای سختگیرانه یا تقسیمبندیهای عملکردی در مشخصات است. یک درخواست ساده از سوی کاربر برای بهبود تجربهاش ممکن است حتی مستلزم کنار گذاشتن تمام نرمافزارهای قبلاً توسعهیافته باشد.
از سوی دیگر، اگر زمانی فرا رسد که اتوماسیون توسعه نرمافزار مبتنی بر عامل با استفاده از هوش مصنوعی مولد رایج شود، بازسازی کل سیستمهای نرمافزاری قابل قبول خواهد بود.
علاوه بر این، در چنین عصری، با مجهز کردن نرمافزار منتشر شده به یک چتبات مهندس هوش مصنوعی، میتوان تصور کرد که وارد عصر "لیکویدور" (نرمافزار مایع) خواهیم شد، جایی که رابط کاربری میتواند مطابق با ترجیحات هر کاربر تغییر یابد.
لیکویدور به معنای چیزی انعطافپذیرتر از نرمافزارهای سنتی است که کاملاً با هر کاربر منفرد منطبق میشود.
هنگامی که این عصر توسعه خودکار و لیکویدور فرا رسد، پارادایم مهندسی مبتنی بر مشخصات و پیادهسازی منسوخ خواهد شد.
در عوض، ما به پارادایم مهندسی تجربه و رفتار منتقل خواهیم شد.
رفتار چیست؟
به بیان ساده، رفتار حالتی است که در طول زمان تغییر میکند.
و آزمایش رفتار چیزی جز آزمایش همین حالت متغیر با زمان نیست.
علاوه بر این، آزمایش رفتار به معنای تأیید انطباق با مشخصاتی که نحوه تغییر حالتها را تعریف میکند، نیست. بلکه رفتار بر اساس کیفیت تجربه کاربر آزمایش میشود.
البته، اگر اشکالاتی وجود داشته باشد که باعث شود سیستم عملیات ناخواستهای توسط کاربر یا توسعهدهنده انجام دهد، این موارد نیز به طور قابل توجهی تجربه کاربری را مختل میکنند. بنابراین، آزمایش رفتار شامل تأیید انطباق عملکردی و اعتبار عملکردی است.
پس از برآورده شدن این الزامات عملکردی اساسی، تمرکز به سمت آزمایش رفتار با کیفیت بالا از منظر تجربه کاربری معطوف میشود.
تجربه نهایی
برای انسانها، تجربه کاربری نهایی کنترل بدن خود در زمان سلامت کامل است.
به این نکته فکر کنید: هر روز، ما بدنی پیچیده، اما بسیار محدود و دارای قید و بند به وزن دهها کیلوگرم را کنترل میکنیم و از آن برای فعالیتهای هدفمند بهره میبریم.
اگر کسی بخواهد چنین سیستم سنگین، پیچیده، و بسیار محدود را برای انجام فعالیتهای دلخواه کنترل کند، معمولاً تجربه بسیار ضعیفی خواهد داشت.
اما، تا زمانی که حالمان بد نباشد، این بدن سنگین، پیچیده، و بسیار محدود را طوری حرکت میدهیم که گویی بیوزن است، آن را به آسانی یک مکانیزم ساده به کار میبریم، و به محدودیتها و قید و بندهای آن توجهی نمیکنیم، گویی وجود ندارند.
این همان تجربه نهایی است.
با دنبال کردن رفتار با کیفیت بالا، ممکن است بتوان تجربهای همسطح با کنترل بدن خودمان ارائه داد.
به عبارت دیگر، حتی اگر یک سیستم در پردازش کند، در عملکرد پیچیده، و دارای محدودیتها و قید و بندهای زیادی باشد، میتوان یک تجربه لیکویدور کاملاً بدون استرس را محقق کرد.
در نتیجهگیری
لیکویدور نهایی (نرمافزار مایع نهایی) تجربهای شبیه به تجربه بدن خودمان را ارائه خواهد داد.
چنین لیکویدوری برای ما چیزی شبیه به یک بدن خواهد شد.
هر بار که لیکویدور نهایی گسترش یابد یا عملکردهای آن تقویت شود، احساس خواهیم کرد که گویی بدن خودمان در حال گسترش است.