پرهیز از کمال‌گرایی غیر ضروری در توسعه نرم‌افزار

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

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

البته یکی از اصول توسعه نرم‌افزار خصوصاً در سال‌های اخیر که روش‌های «چابک» رواج بیشتری پیدا کرده‌اند این است که تا به چیزی به طور کامل نیاز پیدا نکرده‌اید، آن را انجام ندهید. از طرفی درست است که یک code base خوب به شما کمک می‌کند که امکان توسعه‌های آتی راحت‌تر فراهم شود و حتی خطایابی و پشتیبانی هم راحت‌تر و سریع‌تر شود، اما چیزی که واقعاً برای مشتری مهم است کارآیی برنامه و از طرفی پایین بودن زمان و هزینه توسعه است. اگر قرار باشد همه چیز به روش اصولی و صد در صد درست انجام شود، حتی موارد ساده و کم استفاده، آن وقت هزینه‌های تولید و پشتیبانی نرم‌افزار بیشتر از آنی خواهد بود که باید باشد. باور کنیم که تیم‌های تولید نرم‌افزار هم در استفاده از روش‌های برنامه‌نویسی باید «مقیاس‌پذیر» باشند. اگر مشتری کارش را در نصف زمان و با نصف هزینه خواست، تیم هم باید بتواند با به کارگیری روش‌های ساده‌تر و معمولی‌تر هزینه‌ها را کاهش دهد. نه این که با اصرار بر ایده‌آل گرایی هزینه‌ها را افزایش دهد.

به عنوان مثالی که اخیراً به آن برخورد کردم باید به ذخیره و خواندن تنظیمات سیستم از app.config اشاره کرد. مورد استفاده من نگهداری چندین value به ازای یک key یکسان بود. هر چند که دات‌نت اجازه چنین کاری را می‌دهد و خطا اعلام نمی‌کند. اما استفاده معمولی از ConfigurationManager.AppSetting فقط آخرین value را بر می‌گرداند. راه اصولی برای حل این مشکل استفاده از Config Sectionهای سفارشی بود. حتی می‌شد از راه‌حل‌های پیچیده‌تر مبتنی بر reflection برای حل مسئله استفاده کرد. اما یک راه فوق‌العاده ساده‌تر و کم هزینه‌تر هم وجود داشت. اضافه کردن یک عدد چند رقمی (بی‌استفاده) به انتهای keyها (تا از یکسان بودن در بیایند) و استفاده از یک foreach و عملیات استرینگی ساده برای به دست آوردن valueها! راه حل آخر را از یک برنامه‌نویس VB.NET یاد گرفتم.

Comments

  1. سعيد

    مطابق آمارها بيشتر عمر توسعه يك برنامه در فاز نگهداري اون صرف ميشه. بنابراين اصولي كاركردن اين قسمت رو ساده‌تر خواهد كرد و گرنه ميشه كار رو سريع بست و يك عمر درد كشيد. يا كمي آهسته‌تر اما با قدرت مانور بيشتر در طول زمان جلو رفت

  2. ناشناس

    Cost vs. Price:
    There are at least nine different types of car lifts out there for you to consider. Each one comes with its own unique set of benefits. It’s important to match up the lift type to your capacity needs, your work area, the type of work you perform and the vehicles you work on. Taking all these factors into consideration will make your list of optimal car lift candidates get smaller and smaller, and your choice will be much simpler.
    Hydraulic car lifts that are designed with safety in mind use specialized hydraulic flow restrictors or velocity fuses integrated into the hydraulic cylinders or hydraulic circuit to control sudden, rapid decent in the event of a hydraulic component failure. These essential safety devices can dramatically reduce or stop downward travel in a free-fall situation due to a hydraulic system failure other than the cylinders themselves.
    Choose your lift type:
    [url=http://www.icemachineschina.com]dvd car player[/url]Final Tips:
    Four-Post Car Lift Runway Ramps and Chocks
    Hydraulic Flow Restrictor
    Last, but not least, is the thought that has gone into the layout of these products. Palettes happen to be easy to carry around using a slender style, yet there is absolutely no shortcuts with functionality. You can buy bare palettes letting you transport your personal favorite items and styling brushes. With this anyone will just need one palette in your handbag.
    Know you’re safe:
    Car Lift Conclusions

  3. ناشناس

    A company called Toms Shoes have gone one better by devising a policy to donate a pair of shoes to children in poor countries for every pair bought by the buying public. This company was founded in America in 2006 after its owner saw poor children running around without footwear. Sometimes these children did not go to school as schools do not admit pupils if they do not have any shoes to wear.We're all aware that any Ralph production must feature the Polo pony and on this rule the espadrille is not left out. These pair come with wide white and blue cotton/canvas stripes that provide an ideal backdrop for the pony to be placed close to the heel without compromising the classic look. There are other modifications too i.e. the rope encircling the shoe while a rubber sole does the hard work beneath a padded foot bed lined with raffia. These are expensive at $200; they're Spanish made and carry the classic Ralph mark.[url=http://www.cheaptomsbuy.com]Cheap Toms sale[/url] Retailing at $70 from select online stores such as Onlineshoes dot com, Sperry Top-Sider Largo are built with a denser sole which offers a good support to the foot's arch, wearing a pair of these conjures up the tropical ease of Florida Keys. The shoes top tongue has been widened with elastic stitch spread, something that allows for greater flexibility when walking and slipping them on. The sole is rubber adorned with classic roping around the shoe. Tom's Shoes [url=http://www.cheaptomssite.com]Cheap Toms[/url] The system powers right up as soon as you've inserted the batteries and the Tom-Tom not only talks to the GPS system, but it also talks with the Nike system to update your running stats so that Cheap jordan shoes 2012 you can maintain a friendly rivalry with other members of your club and groups. [url=http://www.onlinetomsoutlet.com]Toms Shoes[/url] After a few hours of wearing TOMS, they will stretch slightly to conform to your feet. Please try your TOMS on a carpeted surface to keep them as clean as possible until you know they are the correct size. We do not accept returns or size exchanges on shoes that show wear or use.
    Relate Artcile
    http://www.neoxoto.ru/user/Wralorsviadia/
    http://www.blogger.com/comment.g?blogID=9192708096041422385&postID=4465215051671141557&page=1&token=1367194072576&isPopup=true

  4. محمد

    متاسفانه مدت هاست در ایران با این تفکر نرم افزار های ضعیف با طول عمر کوتاه و بدون کمترین استاندارد ها. هر کاری باید طبق اصول و استاندارد انجام بشه هر چند کوچیک و کم استفاده باشه

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *