Software Development Processes

Hans-Petter Halvorsen

1 2 3

Schedule Week Assignment Textbooks Quiz Previous Next 

×

Software Development Processes - This week's highlights

 

This weeks topic is Software Development Processes (Video, Sommerville). Our main focus will be Agile development methods, and espessially Scrum. We will introduce how we use Scrum in Azure DevOps.

 

Scrum (Video, Halvorsen): It's easy to learn the theoretical aspects of Agile and Scum. The challenging part is to implement Scrum in practical use in the organization/company and within the development team in an effective manner. Therefore, we will focus on the practical part of Scrum in the class activities, i.e., using Azure DevOps (pdf) as our Scrum tools, i.e., we will implement so-called Product Backlog, Sprint Iterations and Sprint Backlogs, as well as using the Task Board and Burn-down Chart, etc.

 

The theory part of Agile and Scrum is "reading material", so be sure to take a look at some of the Textbook resources located on this website, and especially ch. 2 + 3 in the Sommerville-book. There are also lots of videos and other resources about Agile and Scrum on this web site.

 

For more details, see the Week Assignment.

 

1. Preparations

2-3h. Main focus: Prepare to participate in class activities. It is important that you are prepared when you come to class. 

Software Development Processes - This week's highlights

 

Software

You need the following Software (make sure to install them before you come to class!):

(You will need more software later)

PC recommendations - The main tool will be your PC, so make sure your PC is up to date.

 

Note! In class we will need to use the software mentioned above. Installing software is time consuming! Don't waste your, the group or the teachers time in class. Make sure to install it before class. If you don't have the software ready for class, you cannot keep up with the practical exercises and project work that you should do in class.

 

Resources

Please go through the resources below before you meet in class.

 

Video: Agile and Plan-based Software Processes:

 

Video: Scrum with Examples using Azure DevOps (Visual Studio Team Services):

More Videos:

Introduction to Scrum

 

Daily Scrum Meeting:

The pupose with the Scrum Meeting (Daily Scrum Meeting) is to Synchronize activities and create a plan for the next 24 hours. It is a short status meeting that track the progress of the development. The meeting is held at the same time and place every day. The Daily Scrum Meeting are also known as “Stand Up Meeting”, this mean you normally hold this meetings when you stand up (not sitting). The main Agenda in these meeetings are (each team member explains): What has been accomplished since last meeting? What will be done before the next meeting? What obstacles are in the way?

Daily Scrum Meeting

Daily Scrum Meeting

 

Video: Introduction to Azure DevOps (make sure to take a look at the Scrum section of the video):

Azure DevOps (YouTube) + PowerPoint (PDF)

 

 

Textbooks

The theory part of this course is "reading material" (it's like reading a novel), so be sure to take a look at some of the textbook resources below, and especially the Sommerville book (or O’Reilly For Higher Education if you dont have the Sommerville book). The main concept in this course is to read the theory at home and they apply the theory concepts on the project.

Software Development Literature

 

Read the following chapters in one ore more of the following Textbooks below before you meet in class:

Textbook Syllabus
Software Development - A Practical Approach
  • Ch. 6: Software Development Process
  • Ch. 7: Scrum
Software Engineering (I. Sommerville)
  • Ch. 2: Software Processes
  • Ch. 3: Agile Software Development
Essentials of Software Engineering (Frank Tsu et al.)
  • Ch. 4: Software Process Models
  • Ch. 5: New and Emerging Process ...
Software Engineering (Saikat Dutt, et al.)
  • Ch.1.3: Software Process Models
  • Ch.25: Agile Software Development

 

2. Activities in Class

6h. Main focus: Practice applying key concepts with feedback. Execution and review of the week assignments will be the main focus in the scheduled class activities.

 

Review: Each group should deliver their UML diagrams in Teams. Nils-Olav will join us and give you useful feedbacks. The UML diagrams with additional descriptions should be part of the SRD document.

 

Week Assignment

It is important that you do what's in the weekly assignments. The weekly assignments guides you through the course with a red line with a primary focus on important topics in software engineering and practical implementation of these topics through a large project. The contents of the week assignments are important criteria when it comes to censorship and grading in this course. 

Main Tasks:

 

Videos:

The following Videos will be presented in class:

Scrum in 2min - gives a short an precise overview of the Scrum Methodology

Scrum at Microsoft - the vendor of Azure DevOps (Visual Studio Team Services) are using Scrum when developing new versions of Azure DevOps

Daily Scrum Meeting (we stop at 3:30 in class - you should watch the rest at home)

Class discussions around these videos in class.

 

Web Resources:

Atle (42) står bak Amazon-skyen og bruker Scrum - digi.no (2013). Class discussions around this article.

 

Scrum:

We will do the following Scrum activities in Class:

 

Quiz:

Quiz - Can you relax this weekend? - or do you need to take an extra look at some of the available resources? In order to Pass this Quiz, you need to get a Score >= 70%. You should answer the questions without any aids!

Note! Extended and Important Quiz this Week! (30-40 Questions)

 

 

3. Complementary Work

6-7h. Main focus: Finish Week Assignment. Check your understanding and extend your learning. Go through the following resources in order to review and get a deeper understanding of what you should learn in this topic. You may also need these resources in order to solve the week assignment.

 

Documents

It is recommended that you read the following documents:

Software Development Life Cycle (SDLC)   

Scrum

Agile Development

The Scrum Guide - Recommended! Also available in Norwegian.

 

Videos

It is recommended that you watch the following videos:

Using Scrum in Large Systems:

Scrum is well suited for development of small software systems with changing requirements, but is it suited for development of larger systems?

Video: Agile methods for large systems:

 

Video: Scaling Agile methods:

 

Web Resources

Below you find some additional resources for deeper understanding and reflection:

Scrum

The Official Scrum Guide

Manifesto for Agile Software Development

Product Backlog Examples

 

Articles:

Agile Teams - Article in Computerworld

Lapper på veggen redder prosjektet - tu.no (2008)

IKT-bransjen i endring – Nå fordeler man oppgaver på post it-lapper - tu.no (2012)

Ikke så smidig prosjektmetode, likevel? - tu.no (2011)

 

Azure DevOps:

How-To Choose a Development Process

Choosing the right Version Control for your Project

Define and using Features and Epics

 

Review

Review Questions - Note! This is mandatory! In order to Pass this Quiz, you need to get a Score >= 50%.

In order to get best outcome, you should answer the questions without any aids! You should also write your answers in your own words using Norwegian language. Don't just copy the text directly from the PowerPoints or the Textbooks, in that way you dont learn anything! When answering the Questions, pretend you are sit down taking the final written Exam. This means you should watch Videos, read the Textbooks, PowerPoints and oher Resources in advance before you start answering the Review Questions.