CS19 : Round and round


In this section, we will briefly look at the different software development methodologies available to software developers before considering the main stages involved in all of them.

We are learning ...
  • About the waterfall method and the software development life cycle;
  • About agile programming techniques;
  • About analysis, design, development, testing and evaluations.
So that we can ...
  • Describe different software development methodologies;
  • Describe and implement analysis techniques;
  • Describe and implement design techniques;
  • Describe and implement development techniques;
  • Describe and implement testing techniques;
  • Describe and implement evaluative techniques;
  • Be a good software developer.

Activity 1 Software Development Methodologies 

All software development methodologies works on the following basic principle ...

https://drive.google.com/file/d/0B83yXMOilskaSGx2bW12NVk4ZnM/view?usp=drive_web
Click to view

The implementation / order / depth of each of these stages changes based on the chosen method. These are the main, software development methodologies ...
  • Waterfall
  • Iterative
  • Spiral
  • V-model
  • Big Bang
  • Agile
  • RAD
  • Software Prototyping

Task 1.1
 Research into traditional software development methodologies
Web browser

Rather than explain it myself, let Tutorials Point do my work for me! The world of Software Development can be confusing and full of 'teamwork' mumbo jumbo. However, try to see through the clouds - they are all very similar.

http://www.tutorialspoint.com/sdlc/index.htm
Click image to visit site

In your notebook : You only need to read through the Overview, Waterfall, Spiral, Agile and RAD sections for this task. For each one, create a quick summary of the main points, maybe draw a diagram and reproduce a list of Pro's and Con's for each method.

OUTCOME : A general overview, diagrams and Pro's and Con's for each main methodology listed.

Focus on : Agile Software Development

Agility

A newer software development methodology introduced in 2001 in an attempt to force a rethink into the static methodologies of the day. The two most common Agile Strategies are eXtreme Programming and Scrum.

Extreme Programming (0:51)

Scrum (1:08)



Task 1.2
 Research
Web browser

In your notebooks : This web article explains Agile software development much better than I could. I guess I could have copied and pasted it but, you know, copyright and all. Read and make notes. Follow the links at the end for eXtreme Programming and Scrum (if you haven't already).

Weblinks you may wish to use ...
Here are two resources that may help you to write some notes

Introduction to Scrum (shameless plug) (1:21)

Differences and similarities between Scrum and eXtreme Programming (4:07)

OUTCOME : A set of notes on Agile software development (XP and Scrum) and a new way of thinking.


Activity 2 Stages in software development

Whatever overall methodology we use, we still need to go through the same stages during software development. On it's simplest level, there are two people involved here ...


The stakeholder and the developer are in constant contact. They work as a team. She pays his wages.

Here I outline the main steps in each stage of software development as a series of speech bubbles. The developer is telling us what he should be doing at each stage. Remember that each stage is iterative - he could, and probably will, repeat each stage or sub-stage multiple times during the process.

https://drive.google.com/file/d/0B83yXMOilskaNERmTUFtM2g4dlE/view?usp=drive_web
Click to view

https://drive.google.com/file/d/0B83yXMOilskaSFNvdHJ4X3MwYkE/view?usp=drive_web
Click to view

https://drive.google.com/file/d/0B83yXMOilskaVzNVeEJTUHFkaDQ/view?usp=drive_web
Click to view

https://drive.google.com/file/d/0B83yXMOilskaX3QxSFEtdENXRUk/view?usp=drive_web
Click to view

https://drive.google.com/file/d/0B83yXMOilskac2NSNW5qaHVmVDA/view?usp=drive_web
Click to view

Take special note that the stakeholder need to be involved at every stage. Developers are creative people - unless kept on a tight reign, they tend to do their own thing ...

Task 2.1
 Stages in software development
Mind mapping software (Freemind)

As a mindmap : Convert the speech bubbles in to a lovely mind map using Freemind or equivalent. You will use this methodology when you develop solutions to complex problems later on in the course. If you can, try to introduce the concept of iteration within and between each stage. This is pretty crucial.

(If you are struggling to start, there is a template in the resources - shhhhh!)

OUTCOME : A lovely, bright, colourful mindmap.


Software installation methods

When the stakeholder has accepted your coding masterpiece, it is time to install it in a production environment. There are 4 accepted methods of software installation ...
  • Direct : The company switches off the old system and switches on the new one.
  • Parallel : The company runs both systems in parallel for a period of time.
  • Phased : Small parts of the system are replaced in turn.
  • Piloted : Complete system is installed in a limited number of locations.

Task 2.2
 Installation method - pros and cons.
Brain
Mouth

With a partner : What are the advantages and disadvantages of each software installation method? Have a discussion with your partner and come up with an agreed answer.

In your notebooks : Write down your collaborative ideas.

OUTCOME : Write down your ideas in a suitable format in your notes.




Extension Activities 

How about these?
  • Being a developer is not easy ...

    https://blog.toggl.com/2014/12/programmer-problems-comic/

    Discuss.

  • There are a number of documents in the resources for this lesson which are very detailed descriptions of the finer points of software development. How about reading through them and adding more detail to your mind map. Don't print them out - they is too much right now.

  • The Teach-ICT website has a useful (if a little dull) section on the Systems Life Cycle. Read through the 24 (!) sections and use this to help you augment your notes. You may wish to consider creating a lovely 'infographic' if you feel like impressing me.


What's next?

Before you hand your book in for checking, make sure you have completed all the work required and that your book is tidy and organised. Your book will be checked to make sure it is complete and you will be given a spicy grade for effort.

END OF TOPIC ASSESSMENT