مهندسی نرم افزار یک کسب و کار مبتنی بر دانش است و چگونگی مدیریت دانش و تجربه، در فرآیند توسعه نرم افزار، یکی از چالش های اصلی پیش روی مهندسین نرم افزار می باشد. اصلی ترین سوالی که در این پژوهش به دنبال پاسخ آن هستیم این است که دانش، در فرآیند توسعه نرم افزار چالاک به چه چیزی اتلاق می شود و چگونه می توان آن را مدیریت کرد؟ دانش کسب شده طی مراحل پنجگانه توسعه نرم افزار(ارتباط، برنامه ریزی، مدل سازی، ساخت و استقرار) شامل مستندات مربوط به نیازهای مشتری و تجزیه و تحلیل آنها، زمانبندی پروژه، تخمین هزینه، مدلسازی نیازها، کدها، خطاها، الگوها، مدیریت ریسک، آزمون های نرم افزار و ... می باشد. در این پژوهش، دانش مهندسی نرم افزار به دو بخش دانش ضمنی و دانش آشکار تفکیک شده است که با استفاده از مدل نوناکا-تاکوچی سعی در تبدیل این دو به یکدیگر داریم.