100% found this document useful (1 vote)
144 views

Computing Project: Topic 1

This document discusses planning and managing a computing project. It covers choosing appropriate artifacts like models and code, defining aims and objectives, planning the project through work breakdown and time estimates, and selecting a suitable development method and risk management approach.

Uploaded by

Kay Tun
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
144 views

Computing Project: Topic 1

This document discusses planning and managing a computing project. It covers choosing appropriate artifacts like models and code, defining aims and objectives, planning the project through work breakdown and time estimates, and selecting a suitable development method and risk management approach.

Uploaded by

Kay Tun
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 45

Computing Project

Topic 1:
Introduction

© NCC Education Limited


V1.0
Introduction Topic 1 - 1.2

Scope and Coverage


This topic will cover:
• Appropriate artefacts
• Planning your project
• Appropriate development methods
• Appropriate risk management
• Appropriate configuration management

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.3

Learning Outcomes
By the end of this topic, students will be able to:
• Project manage the analysis, design,
development and deployment of a computing
artefact.

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.4

Key Points
• The content of this lecture is not meant to replicate or
replace concepts and techniques introduced in other
modules associated with this programme.
• It is meant to complement concepts and techniques
introduced in other modules associated with this
programme.
• This lecture should help YOU decide how YOU want
to carry out YOUR project and justify YOUR decision.

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.5

Appropriate Artefacts

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.6

What is an Artefact?
• Something that you produce during the course of your
project. This could include:
- Models
• Use Case diagrams
• Class diagrams
• Sequence diagrams
- Code (the programmes that you write)
- The Working System
- Supporting Documentation (test scripts, Gantt charts,
user guides, etc.)

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.7

Artefacts for Your Project - 1


• Models
- YOU must justify why you have chosen a particular
type of model for YOUR project.

• Code
- What language are YOU going to use to code
YOUR project (Java, PHP, MySQL, etc.)?
- YOU must justify why you have chosen a particular
language to code YOUR project.

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.8

Artefacts for Your Project - 2


• The Working System
- Is YOUR project going to develop a website, a
database system, or something else?
- YOU must justify why YOU are going to develop a
particular type of system for YOUR project.
• Supporting Documentation
- What documentation will support YOUR project?
- Future lectures will help with the definition of this
particular set of artefacts.

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.9

Planning Your Project

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.10

Defining YOUR project


• Aims

• Objectives

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.11

Aims - 1
• The aims of YOUR project are associated with
things that YOU are going to:
- Design
- Develop
- Evaluate
- Investigate

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.12

Aims - 2
• Typical aims for a student project are:
- To develop a database system to achieve
something
- To develop a web-based system to achieve
something
- To investigate the use of a particular tool or
technique in a particular project environment

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.13

Objectives - 1
• Objectives are things that you need complete in
order to achieve the aim(s) of YOUR project.
• If the aim of YOUR project is to develop a database
system for a telephone company – your objectives
might be:
- Complete a literature search about existing
database systems for telephone companies.
- Gather user requirements.

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.14

Objectives - 2
- Develop a model of the database system for YOUR
project.
- Code the model to produce a working system.
- Test the working system.
- Deploy the working system.
- Write YOUR report.

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.15

SMART Objectives - 1
YOUR objectives should be SMART:
• Specific
- Provide enough detail to understand what should
be done.
• Measurable
- Provide enough detail to measure progress of the
objective and know when it is complete.

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.16

SMART Objectives - 2
• Appropriate
- With respect to the aim(s) of the project
• Realistic
- Achievable within the duration of the project
• Time-related
- Provide a statement of how long the objective will
take and by when should it be completed.

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.17

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.18

Planning YOUR Project - 1


• Work Breakdown
- Produce a model that shows the tasks that must
be done in order to complete the project.

• Time Estimates
- Produce estimates of the time required to
complete the tasks.

• Milestones
- Significant points in your project that can be used
to give an indication of how well the project is
going

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.19

Planning YOUR Project - 2


• Activities
- Identify the order in which tasks must be
completed.

• Present YOUR Plan


- Use the tasks, time estimates, milestones and
activities to produce a plan, normally in the form of
a Gantt chart.

• Re-plan (if required)


- Sometimes things go wrong – you may need to re-
plan YOUR project.

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.20

Appropriate Development
Methods

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.21

Different Methods
• You have been introduced to several different
software development methods throughout this
course:
- Agile
- Object-oriented
• Both of the above methods are appropriate for
student projects; however, they both have their
strengths and weaknesses for various types of
projects.

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.22

Agile
• An all round method that can be used for most
student projects:
- Can be used with object-oriented techniques
- Good for database development and website
development
- Clearly defined project management approach
- Not good for developing real-time systems

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.23

Object-Oriented
• A method that can be used for most student
projects:
- UML notation can be used to model database
systems.
- Good for database development, website
development and the development of real-time
systems

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.24

The Method for YOUR Project


• YOU are responsible for choosing the method:
- Choose the project
- Choose the method
- Choose the language
• Make sure the method fits the project and the
language fits the method.

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.25

Appropriate Risk Management

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.26

What is Risk Management?


R is k M a n a g e m e n t

R is k P r io r it is a t io n R is k R e d u c tio n R is k P la n n in g R is k C o n tr o l

R is k e x p o s u r e B u y in g in f o r m a t io n R is k ite m p la n n in g R is k r e s o lu tio n

C o m p o u n d r is k s R is k a v o id a n c e R is k p la n in t e g r a t io n R is k m o n ito r in g

R is k t r a n s fe r R is k r e p o r tin g

R is k r e d u c t io n le v e r a g e R is k r e a s s e s s m e n t

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.27

Relax!

You are not required to follow everything on the


previous slide for your student project!

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.28

Risk Management for Student


Projects
• REMINDER – You are not required to use this
approach. It is presented to give you an idea of the
level of detail with which you need to approach risk
in your project!
• Risk Management Approach
- Identify Key Stakeholders
- Identify Critical Success Factors
- Isolate the Baseline Plan
- Analyse and Assign Risks

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.29

Identify Key Stakeholders


• Many people want many things from a software
development project.

• Identify the key stakeholders: the people whose


wants count.

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.30

Identify Critical Success Factors


• Ask the key stakeholders what they require for
success.

• The answers are the critical success factors of


the project and are used to measure the success of
the project.

• A risk is something that could prevent one or more


of the critical success factors being met.

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.31

Isolate the Baseline Plan


• Risks must be associated with a plan before they
can be handled.

• As risks could prevent the achievement of


objectives, plans for achieving the objectives must
be in place before risks can be considered.

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.32

Analyse and Assign Risks


• Identify
- What are the potential risks?
• Assess
- What is the likelihood of the risk occurring?
- What is the impact of the risk?
- What containment and/or contingency is appropriate?
• Allocate
- To whom can I assign the risk? (very likely to be you)

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.33

Containment vs. Contingency


• Containment
- Action taken before the risk occurs
- Might prevent the risk from occurring
- Should reduce the impact if the risk occurs

• Contingency
- Plan of action made before the risk occurs
- Alternative plan triggered by the risk occurring

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.34

Major Sources of Risk


• Contractual/Environmental

• Management/Process

• Personnel

• Technical

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.35

Contractual/Environmental
• There are many factors that cause this type of risk.
The one most relevant to a student project is:
- An unreasonable customer

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.36

Management/Process
• There are many factors that cause this type of risk.
Those most relevant to a student project are:
- Inadequate control of development products
- Problems and errors detected late
- Inadequate technical approaches

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.37

Personnel
• This type of risk is to do with people:
- Wrong grade
- Wrong training
- Wrong expertise
- Too many people
- Too few people
• The above risks are not likely to occur on your project
as YOU are the only team member and you have
been educated on this NCC Education programme.

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.38

Technical
• Requirement Changes
- Genuine changes of mind by the customer
- Hidden implications within requirements
• Failure to Meet Requirement
- Cannot produce a feasible design
- Acceptance test fails
• Problem or Error Detected
- Inconsistent design
- Missing component
- Inadequate time for testing

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.39

How Display Risks


Risk Impact Likelihood Severity Tracker Action/Contingency
Insufficient 3 3 9 Vic (A) Investigate cost &
disk space. lead time for upgrade.
Insufficient 2 2 4 Ian (No action at present)
memory.
Version 2.0 9 3 27 Kami (A) Send Kami on early
of the training course. (C) Use
database is version 1.0.
a bit buggy.
Requirement 8 5 40 Vic (A) Check on progress
s not too and choose best areas
detailed. for phased delivery.
Users not 6 6 36 Ian (A) Check user plans
available for (C) Use external
CAT. testers.

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.40

Appropriate Configuration
Management

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.41

What is Configuration
Management? - 1
• Common problems in software development
projects are in the co-ordination and control
associated with project artefacts.
• Configuration management, for large projects, is
facilitated by the use of expensive software to
enable the following:
- The building of different systems to meet the
requirements of different users

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.42

What is Configuration
Management? - 2
- The preservation of old versions of the system,
e.g. to investigate a fault
- The building of a version of the system that
contains certain fixes but not others
- To allow two or more developers to work on the
same artefact at the same time
- To store artefacts efficiently

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.43

The Good News


• YOU are not required to use a complex and
expensive configuration management system for
your student project.

• A simple directory structure will be appropriate.

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.44

Simple Directory Structure


• A simple directory structure along with supportive
documentation is included in Exercise 1 in your Student Guide.
• The purpose of Exercise 1 is to:
- Show you the type of directory structure that is appropriate for
a student project
- Show you the level of supportive narrative required in a
student project
- Give you an opportunity to develop your own directory
structure and supportive narrative
WARNING – do not copy the directory structure and
supportive narrative into your project; however, you can tailor it
to support the needs of your project.

V1.0 © NCC Education Limited


Introduction Topic 1 - 1.45

Computing Project – Introduction

Any Questions?

V1.0 © NCC Education Limited

You might also like