نکته : مانند تمامی نوشته های این وبلاگ ، این متن هم بر اساس نظر و تجربه شخصی نوشته شده است. پس مثل همیشه پر از اشکال و ایراد است. 


تقلید کردن با کپی کردن فرق دارد. به زبان ساده ، تقلید کردن یعنی ادای کسی را در آوردن. حال چه در عرصه نرم افزار باشد یا در حوزه فلسفه یا مکانیک. 

 در تقلید کردن ، حداقل مباحث پایه را می دانم. حداقل می دانم که چطور باید ادای کسی را در آورم. ممکن است که خودم چیزی را هم به دلخواه اضافه کنم. 

اما کپی کردن ، یعنی منتقل کردن تمامی  هر آنچه که در دنیای خارج وجود دارد به دنیا تعریف شده خودمان. بدون کم و کاست. 

خب این بحث ها و تعاریف را انجام دادم که در ابتدای کار مشخص کنم که تقلید کردن در دنیای نرم افزار با کپی کردن بسیار متفاوت است.

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

در تقلید کردن باید سفارشی سازی انجام شود. یعنی وقتی منِ نوعی می خواهم برای یک سازمان نرم افزار بنویسم ، ابتدا باید قواعد و قوانین را از یک منبع خارجی تقلید کنم. 

سپس باید مشخص کنم که در این سازمانی که من می خواهم برایش نرم افزار بنویسم ، کدام یک از آن ها مفید واقع می شود و کدام یک به دردنخور و سربار پروژه ؟ 

فرض کنید می خواهم سیستم مانیتورینگ و داشبورد یک سازمان را بنویسم. در ابتدا باید بدانم که زیر ساخت سازمان چگونه عمل می کند؟ 

بعد از انجام این مرحله تازه متوجه می شوم که قد و قواره سازمان در چه حدی است؟ آیا آنقدر بزرگ است که من بخواهم از مدل هایِ سازمان هایِ بزرگ استفاده کنم یا نه ؟ 

خب بر فرض مثال مشخص می شود که با یک سازمان متوسط حدود 100 الی 1000 نفر رو به رو هستیم. در این مرحله کار تقلید به درد می خورد. 

باید بر اساس پرسش و جستجو مشخص کنم که سازمان هایی در این حد و اندازه ، چگونه نرم افزارهایشان را مدیریت و راه اندازی و استفاده می کنند ؟ 

این مرحله هم که انجام شد ، یک لیست  شامل شرکت هایی که از این دسته نرم افزارهای مانیتورینگ و داشبود استفاده می کنند ، پدیدار میشود.

پس انجام کار تقلید اساسی در این مرحله شروع می شود. خب چطوری می شود تقلید کرد ؟ 

1) مراجعه به شرکت هایی که این دسته نرم افزار ها را می نویسند و یا استفاده می کنند.( در صورت امکان)

2) استفاده از دموی نرم افزار شرکت سازنده ( در صورت امکان ) 

3) خرید نرم افزار مربوطه در صورت نیاز : این مرحله برای مواقعی کاربردی و مفید واقع می شود که ما می خواهیم یک نمونه خارجی را مطابق با فرهنگ سازمان، سفارشی  کنیم و  بخواهیم در آینده این نرم افزار را به سازمان های مختلفی بفروشیم. 

4) ساختن نرم افزار بر اساس نیازهای سفارشی مشتری. این کار هزینه بردار ترین روش و پایدار ترین روش است. پایدار ترین را هم بدین خاطر به کار برده ام که در آینده و در صورت لزوم اعمال تغییر ، کار خیلی راحتتر و ارزانتر تمام می شود .


 ادامه دارد...