  Advances in the use of cognitive and machine learning (ML) enabled systems
fuel the quest for novel approaches and tools to support software developers in
executing their tasks. First, as software development is a complex and dynamic
activity, these tasks are highly dependent on the characteristics of the
software project and its context, and developers need comprehensive support in
terms of information and guidance based on the task context. Second, there is a
lack of methods based on conversational-guided agents that consider cognitive
aspects such as paying attention and remembering. Third, there is also a lack
of techniques that make use of historical implicit or tacit data to infer new
knowledge about the project tasks such as related tasks, task experts, relevant
information needed for task completion and warnings, and navigation aspects of
the process such as what tasks to perform next and optimal task sequencing.
Based on these challenges, this paper introduces a novel paradigm for
human-machine software support based on context, cognitive assistance, and
machine learning, and briefly describes ongoing research activities to realize
this paradigm. The research takes advantage of the synergy among emergent
methods provided in context-aware software processes, cognitive computing such
as chatbots, and machine learning such as recommendation systems. These novel
paradigms have the potential to transform the way software development
currently occurs by allowing developers to receive valuable information and
guidance in real-time while they are participating in projects.
