03
  • This Tutorial is based on questions from the book Software Engineering 10 by Ian Sommerville and is based on the material covered in chapter 3.

    Week 3 Tutorial

    Agile Development

    1. What are the shared characteristics of different approaches to rapid software development?
    2. For what types of system are agile approaches to development particularly likely to be successful?
    3. List the 5 principles of agile methods.
    4. List 4 questions that should be asked when deciding whether or not to adopt an agile method of software development.
    5. What are three important characteristics of extreme programming?
    6. What is test-first development?
    7. What are the possible problems of test-first development?
    8. Briefly describe the advantages of pair programming.
    9. What is a Scrum sprint?
    10. What are the barriers to introducing agile methods into large companies?
    11. Extreme programming expresses user requirements as stories, with each story written on a card. Discuss the advantages and disadvantages of this approach to requirements description.
    12. Suggest four reasons why the productivity rate of programmers working as a pair might be more than half that of two programmers working individually

    Download PDF Version
  • This is a short scenario which outlines the requirements for a proposed information system. You will use this scenario in some of the labs for the module.

    Mobile Mechanic Scenario

    Caledonian Mobile Mechanics (CMM) currently employ 4 mechanics each equipped with their own Transit sized van. The mobile mechanics travel around the city primarily to carry out scheduled services on customers cars. Currently everything is done by use of telephones and specifically for the mechanics by mobile phone. The mechanics work out of a small Industrial Unit which has sufficient capacity to store basic items such as oil, seat covers etc. The Industrial unit is manned by a single person from the hours of 09.00 to 17.00. This person is also responsible for ordering the supplies that mechanics use as part of the service. Normally parts arrive within 2 hours and a “kit” is made up to ensure that the mechanic has the appropriate parts needed to carry out the service. The mechanics normally load up at the start of the day with all the parts that are needed for that days work. Each mechanic is given a paper copy of their schedule for the day. If a “servicing slot” is not filled the mechanic is required to “park up” before proceeding to the next appointment. Alternatively if a servicing slot is not filled the mechanic is permitted to return to base if it is close enough to make the journey worthwhile. The mobile mechanics only return to base during the day if they run out of an item or require to pick up a specific item subsequently needed for the service.

    The short to medium term plan is to have an online presence which allows customers to book services for their vehicles up to 24 hours in advance.

    Week 3 Lab Exercise: A first pass at using some aspects of Scrum and XP

    This lab exercise is intended to introduce you to the Agile process known as Scrum. You will be given a Scenario for an application that requires to be developed. Read through the scenario.

    Task 1
    Read through the scenario and record how the current system operates. This activity is referred to as Business Process Modelling. There is a specific notation that can be used but for this task just record the activities using normal English language.

    Task 2
    Using Scrum as the basis for an Agile approach to the development process produce an initial product backlog for the application that was discussed in the Scenario that you were given.

    Task 3
    Once you have produced your initial Product backlog assign some form of ordering to the features that you have identified. You should apply “appropriate” logic to this task and think through which activities should need to be implemented first. Is there a natural ordering in the way that you would go about the implementation the features that you have identified?

    Task 4
    Take each feature that you identified in turn and product an XP (Extreme programming) style user story. Produce a story card for each feature. You should do this for at least 5 non trivial features of your system. You may want to read through section 3.3 of the Sommerville book Software Engineering 9.

    Download PDF Version