Skip to content
Permalink
Browse files
added architecture sections
  • Loading branch information
aa7401 committed Feb 7, 2018
1 parent 493a0f7 commit 4602aed667aeba867674cc5e16337ddb87feb786
Showing 1 changed file with 23 additions and 5 deletions.
@@ -4,7 +4,7 @@ Each week you will be expected to complete a series of lab activities. You will

Start by reading the [assignment brief](README.md) carefully and discussing it with the rest of your team to make sure you all share a common understanding (what psychological principle are we addressing?). If you have any questions at this stage make sure to discuss then with your client (Lab Supervisor).

## Introduction to Agile
## 1 Introduction to Agile

During your lecture you were introduced to the principles behind agile development.

@@ -13,7 +13,7 @@ During your lecture you were introduced to the principles behind agile developme
3. If the _scope_ is not fixed how can you manage customer expectations?
4. How would you explain agile methodologies to the customer?

## Domain Modelling
## 2 Domain Modelling

Now its time to meet with your customer and start planning the product. The first step is to draw a domain model. This will be quite large and complex so you should use either a whiteboard or flipchart paper.

@@ -25,7 +25,7 @@ Now its time to meet with your customer and start planning the product. The firs
3. Discuss any questions with the client (Lab Supervisors) to make sure your domain model accurately reflects their understanding of the scope of the system.
4. Repeat this process until you have a complete _domain model_, invite the client over and walk through this to make sure it is correct (matches the customer's expectations).

## Requirements Gathering
## 3 Requirements Gathering

Meet with your client (see note at the top of this worksheet) and work with them to identify the features they want the product to provide. Record these because you will be referring back to them during the planning and development process. Make sure these are clear, unambigous and consistent.

@@ -58,7 +58,7 @@ Can you identify the _functional_ and _non-functional_ requirements in these use

----

## Agile Roadmap
## 4 Agile Roadmap

This activity should be carried out with the client. At the end of each step take a photograph of your roadmap, this will be useful when writing up your reflective report.

@@ -70,7 +70,25 @@ This activity should be carried out with the client. At the end of each step tak

You now have a product roadmap. Because your client has been actively involved in the process they will be happy with your plans and because the development team were also involved, they will also fully understand not only what needs to be done but also why. This roadmap is a live document and will be updated on a regular basis. In a permanent lab this would be left on view at all times (radiator vs icebox).

## Documentation

## 5 High-Level Architecture

There is a lot of planning to be carried out before you can start development. Using both your _Domain Model_ and _User Story Map_, start to plan the architecture of the product you will be developing. This architecture needs to be [evolutionary](https://www.thoughtworks.com/books/building-evolutionary-architectures) to allow for changes and support the agile development process you will be using. You should evaluate a number of architectural design patterns including:

1. publish-subscribe
2. model-view-controller
3. web apis

why is the _n-tier architecture_ poorly suited to agile development approaches?

## 6 Data Storage

Analyse the data storage requirements and decide:

1. What _type_ of database is best suited (relational, document, graph, etc.)
2. What database technology will be used (MySQL, Redis, Mongo, Neo4J, etc.)

## 7 Documentation

As a group decide on the tools you will be using to capture project documentation.

0 comments on commit 4602aed

Please sign in to comment.