موجز ۱ از ۴ · ۴ دقیقه

نمی‌توانید در خلأ نرم‌افزار خوبی طراحی کنید.

بیایید لحظه‌ای درباره‌ی دستگاه‌های کتاب‌خوان الکترونیکی حرف بزنیم.

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

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

بااین‌حال، نخستین دستگاه‌های کتاب‌خوان الکترونیکی همه‌ی این کارها را انجام نمی‌دادند. در واقع، بیش از یک دهه توسعه لازم بود تا نرم‌افزار به جایگاه امروزی خود برسد. در اوایل دهه‌ی ۲۰۰۰، روشن نبود چه چیزی یک کتاب‌خوان الکترونیکی را ارزشمند می‌کند. ما فقط امروز این را می‌دانیم، چون نگاه به گذشته مثل دید ۲۰/۲۰ روشن است؛ و این نکته ما را به آزمایش فکری کوچکمان می‌رساند.

بیایید در زمان به عقب برگردیم. تصور کنید مسئول توسعه‌ی نرم‌افزاری شده‌ایم که کتاب‌های الکترونیکی را روی دستگاه‌های دستی کاملاً جدید نمایش دهد. چطور به این کار خواهیم پرداخت؟

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

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

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

پس در سند مشخصات چه چیزی آمده است؟ در یک کلام، همه‌چیز. این کتاب‌خوان الکترونیکی قرار است انقلابی باشد. قرار است قابلیت‌های بسیار زیادی داشته باشد. آمار بازار را برای ناشران ثبت خواهد کرد. یک فروشگاه اینترنتی خواهد داشت تا خوانندگان کتاب بخرند. نویسندگان خواهند توانست هنگام نوشتن کتاب‌هایشان، پیش‌نمایش آن‌ها را ببینند و ویرایششان کنند. و همه‌ی این‌ها قرار است ظرف ۱۸ ماه آماده شوند.

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

می‌توانید حدس بزنید بعد چه می‌شود؟ کتاب‌خوان وارد بازار می‌شود... و شکست می‌خورد. به‌شدت شکست می‌خورد. هیچ‌کس آن را نمی‌خرد.

کجای کار اشتباه بود؟

مسئله این است که نیازهای مردم ثابت نیستند؛ نیازهای مردم با گذر زمان تغییر می‌کنند. اگر تنها انتخاب شما اسب باشد، اسبی سریع‌تر می‌خواهید. اما اسب، هرقدر هم سریع باشد، وقتی همه‌ی دیگران از قبل خودرو می‌رانند، چندان به کار نمی‌آید. به همین ترتیب، نرم‌افزاری که مردم ۱۸ ماه پیش نیاز داشتند، همان نرم‌افزاری نیست که امروز نیاز دارند. از زمان آغاز پروژه‌ی ما، استاندارد صنعتی تازه‌ای برای کتاب‌های الکترونیکی پدید آمده است. هیچ خرده‌فروشی نمی‌خواهد کتابی را در قالب غیراستاندارد ما منتشر کند؛ این کار دردسر زیادی دارد. بنابراین هیچ‌یک از قابلیت‌های انقلابی ما پشتیبانی نمی‌شوند؛ این یعنی قابلیت‌های ما به کار هیچ‌کس نمی‌آیند.

این همچنین یعنی وقت و پول زیادی را صرف ساخت نرم‌افزاری کرده‌ایم که چندان ارزشمند نیست. پس چه کاری را باید جور دیگری انجام می‌دادیم؟

نمی‌توانید در خلأ نرم‌افزار خوبی طراحی کنید. — یادگیری چابک | موجز