شما می توانید با ارسال ایمیل خود ، بصورت رایگان مشترک شده و از بروزسانی مطلع شوید.

ایمیل خود را وارد کنید:

در کتاب “Project Management Methodologies: Selecting, Implementing, and Supporting Methodologies and Processes for Projects” به مفهوم و جدول مرتبط جالبی برخوردم که بد ندیدم آن را در وبلاگ هم بگذارم. در این کتاب، “مدیریت پروژه” را جزیی از یک “اکو سیستم (ecosystem)” کامل می داند که از مولفه های (Component) مختلفی تشکیل شده است و [...]

باید بگویم آن انتظاری که از مشارکت در بحث پس از انتشار قسمت اول (اینجا) داشتم برآورده نشد. اگر چه دوستان دیگری در فضای وبلاگستان در یک رویداد تصادفا همزمان به بحث مواجهه با مقاومت در برابر تغییرات به صورت عمومی پرداخته بودند که جالب توجه است(برای مثال ۱ ، ۲ و ۳). اما برگردیم [...]

این نوشته آقای کمالیان را بخوانید: “پایان یک سازمان، چه زمانی و چرا؟” می بخشید که اینقدر صریح خواستم که آن نوشته را بخوانید، چون اولا اگر آن را نخوانید یک نوشته خوب را از دست داده اید و دوما بدون مطالعه آن قطعا خواندن ادامه این نوشته بی معنی است. اما بعد : اگر [...]

در سالیان اخیر و با طرح متدولوژی های چابک ، Agile Methodologies تقریبا همه عرصه های فرآیند توسعه نرم افزار (Software Development)  دستخوش تغییر شد، از جمله بحث مدیریت پروژه و به تبع آن مفهوم جدیدی ایجاد شد تحت عنوان مدیریت پروژه چابک یا Agile Project Management. اگر چه مبحث چابکی، فقط منحصر به صنعت [...]

در خبری مرتبط برای جذب همکار جدید برای رادمان آمده است(اینجا): برای بهبود فعالیتهای اجرایی شرکت رادمان،نیاز به حضور افراد پرانرژی و خلاق در پست های سازمانی زیر می باشد: منشی: فعال، مسلط به اینترنت و نرم افزارهای Office، آشنا به امور اداری و وظائف منشی در یک شرکت کامپیوتری، روابط عمومی بالا و قدرت بیان [...]

وب یا ویندوز… جمع بندی نهایی

سه نوشته قبلی را اگر دنبال کرده باشید بحث انتخاب برنامه سازی تحت وب و یا برنامه سازی تحت ویندوز را دنبال کرده بودیم، در آخرین مطلب، یک جمع بندی بر بحث صورت می گیرد. دقت کنید که چنانچه در نوشته اول هم اشاره کردم برخی تولید کننده ها و یا مشتری ها بعضا در یک حالت “جو گیر شده”! از روی ناآگاهی و یا به شکل احساسی روی یک محیط تعصب به خرج می دهند و  دیگری را به صورت کامل نفی می کنند، در حالیکه نمی توان هر کدام از این دو را به شکل کامل از رده خارج نمود، شاهد آنکه محیط های توسعه و ابزارهای برنامه سازی روی هر دو محیط هنوز هم در نسخه های جدید عرضه می شود و خواهد شد.
اگر بخواهیم در محیط های اداری انتخاب مناسبی داشته باشیم، به نظر می رسد باید به ملاک های زیر توجه کنیم:
- در محیط های با هدف تبادل اطلاعات نظیر سیستمهای اتوماسیون اداری، کارگروهی، مدیریت جریان کار، بولتن های الکترونیک و …. که نیاز به توزیع شدن روی بیشتر کامپیوتر ها را دارند و بیشتر به پردازش و به اشتراک گذاری متون و فایل ها می پردازند، برنامه های تحت وب روی شبکه اینترانت بهترین گزینه اند.
- در مسائلی که کاربر محدود به یک محدوده جغرافیایی خاص نیست و یا به صورت عام متقاضی اطلاعات و سرویس هستند برای مثال در سیستمهای تجارت الکترونیک، شهر الکترونیک، دولت الکترونیک، بانک الکترونیک و … که خدمات و سرویسهای عام المنفعه ارائه می کنند و مشتری می تواند کاربر نهایی (End User) نیز باشد، برنامه های تحت وب روی شبکه اینترنت مناسب هستند.
- در مسائل کاربردی که نیاز به پردازش اطلاعات، تعامل زیاد کاربران با نرم افزار و امکانات مناسب و سرعت قابل قبول روی نرم افزارهستیم مانند نرم افزارهای پردازش تراکنش (TPS) و یا سیستمهای دانش فنی (KWS) سیستمهای تحت ویندوز (و یا به صورت کلی هر نوع Desktop Application) مناسب تر هستند.
- در مسائلی که دو وجه از مسائل فوق را داشته باشند، اگر مسائلی نظیر هزینه تولید و سختی کار را در نظر نگیریم  (که آنقدر مهم است که باید دیده شود) ترکیبی از این دو جواب گو است (win-web). برای مثال در یک سیستم مالی می توان اسناد را به صورت تحت ویندوز پیاده سازی کرد تا کاربران به سهولت اسناد را صادر و یا ثبت کنند و گزارشات مدیریتی را به صورت تحت وب در آورد تا مدیران بتوانند به گزارش مورد نیاز خود در داخل و یا خارج از سازمان به سهولت دسترسی پیدا کنند.
-…


طبیعتا در محیط های خانگی، دانشگاهی و یا …. نیز با توجه به کاربرد باید انتخاب مناسب را انجام داد.
نکته حائز اهمیت آنکه داشتن دو شکل برنامه سازی به صورت تحت وب و تحت ویندوز برای یک شرکت نرم افزاری کوچک و یا متوسط سخت است. این دشواری از تفاوت روش تفکر و تولید در هر دو روش، عدم توانایی استفاده از همه تیم در همه زمانها و آموزش توام دو روش می آید. راه حل آن است که :
- یک تیم قوی داشته باشید که توانایی پیاده سازی در هر دو محیط را داشته باشند. (سخت است، چون یک نفر فرصت کافی در کسب مهارت را در هر دو زمینه ندارد و نهایتا در مورد یکی قوی و در مورد دیگر متوسط خواهد شد)
- یک معماری لایه ای انتخاب کنید با تنوع برنامه نویسانی که ۱- لایه های پایینی (داده و کاربرد) را بسازند، ۲- لایه واسط کاربری را در محیط تحت ویندوز بسازند و ۳- لایه واسط کاربری در محیط تحت وب را بسازند. (به دلیل مشترک دیدن لایه های پایین هر چند کم هزینه ترین روش است اما برنامه آن کارایی برنامه های مستقل را نخواهد داشت)
-دو گروه برنامه نویس جدا داشته باشید که هر یک در یک محیط کار کنند. در نهایت در پروژه های ترکیبی (win-web) تنها پایگاه داده را مشترک کنید و هر کس برنامه خود را بنویسد (هزینه تولید بالا می رود و مدیریت چنین تیمی و تقسیم زمان کار و بیکاری آنان مشکل می شود)
- بی خیال یکی از روشها بشوید! یا بگویید نمی توانم و یا از طریق برونسپاری (Out sourcing) عمل کنید. (که طبعات خاص خود را خواهد داشت)
در نهایت باید به این نکته اشاره مجدد داشته باشم که یک تیم نرم افزاری ابتدا باید با توجه به مساله و محیط آن، بستر پیاده سازی را انتخاب کنید و سپس فارغ از محیط انتخاب شده، برنامه را به بهترین شکل ممکن پیاده سازی نماید. این تیم همواره باید به یاد داشته باشد که در مهندسی نرم افزار “نمی توان برای همه درد ها یک نسخه نوشت!” بلکه باید درد را شناخت، آزمایشات لازم را جهت تصدیق شناخت خود انجام داد و سپس راه حل مناسب را پیشنهاد نمود، اجرا کرد و بر مطابقت آن با پیش بینی و عدم انحراف از نتایج دقت کرد.
متاسفانه ما مثل پزشکان اشتباهاتمان زیر خاک نخواهند رفت و نمی توان آنها را به سرنوشت و یا قسمت بیمار ربط داد! اشتباه ما آنقدر هویدا خواهد شد که …
همین!

۲ دیدگاه نوشته شده است! می توانید دیدگاه خود را بنویسید

  1. Ali Reza می‌گه:

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

  2. ali می‌گه:

    به نظر من برای موفقیت یا یک شرکت باید غول باشد (که در ایران وقتی غول شدی در چشم می آیی و همه تلاش می کنن که به زمین بزنندت) و یا اگر کوتوله ای باید با کوتوله های دیگر متحد شوی که یک جمع کوتوله می تواند بر یک غول تنها غلبه کند (که در ایران متحد شدن شرکتها بسیار سخت است)…
    همین!

دیدگاه خود را به ما بگویید.