SENG 608

SENG 608

Analytical Software Project Management

Winter



(1) Why Studying Software Project Management?


Software project management deals with software projects and the challenges of human-based development (as opposed to the more deterministic processes in traditional projects). The higher flexibility in software development approaches puts new demands on the capabilities of software project management. Weaknesses in planning, organizing, staffing, directing, and controlling are hard to be counterbalanced by more efficiency in technical development work. As Fred Brooks stated “. . . today’s major problems with software development are not technical problems, but management problems” (Brooks 1987).
Software-intensive systems of the twenty-first century increasingly vary in their content, size, complexity, and their degree of interaction with other systems (Ruhe & Wohlin 2014). In the presence of dynamically changing environments and development praradigms (open source, outsourcing, crowdsourcing, global software development), the management of software-based systems gets even more challenging.

(2) What is Analytical Software Project Management?

Analytical Software Project Management (ASPM) is defined as

  • the application of analytical methods such clustering, classification, regression, machine learning, optimization, simulation on
  • questions of managing artefacts and processes and
  • their impact on time, cost, resource, and quality of software projects.

(3) Content of the Course

Descriptive, diagnostic, predictive, prescriptive and decisive analytics in the context of the ten knowledge areas of software project management, in particular related to

  • Time management
  • Cost and effort management
  • Human resource management
  • Communications management
  • Risk management

(4) Grading

Component Weight
Assignment 1 20%
Course project (problem scoping and definition) 10%
Course project (problem solution and mid-term results) 15%
Course project (Final presentation and written report) 30%
Assignment 2 20%
Participation and discussion 5%


Notes
  1. The emphasis of the course is on analytical methods, tools and techniques applied for the purpose of improvement of the software processes and products.
  2. Analytical methods and techniques are a means, but not the end in this process.
  3. Analytical methods are important, but not the primary focus. They as good and important, as they help to reach the stated improvement goals.

References
  1. Brooks, F.P. (1987): No silver bullet: Essence and accidents of software engineering, IEEE Computer 20(4): 10–19
  2. Ruhe, G. and Wohlin, C. (2014): Software Project Management in a Changing World, Springer
  3. Shaw, M.: Writing good software engineering research papers. In 25th International Conference on Software Engineering. 2003. Proceedings. (pp. 726-736).
  4. Kitchenham, B. et al.: Systematic literature reviews in software engineering -A systematic literature review. Information and Software Technology, 51(1), pp. 7- 15.
  5. Buse,R.P., Zimmermann, T.: Information needs for software development analytics, in: Proceedings of the 34th international conference on software engineering, IEEE Press, 2012. pp. 987-996.
  6. Kim, M., Zimmermann, T., Deline, R., Beg el, A.: Data scientists in software teams: State of the art and challenges, IEEE Transactions on Software Engineering 44 (11) (2018) 1024-1038.

SEDS Laboratory