Engagement Models for Software Development