INSE - Lecture 6a Prototyping. Or: “ Not building a Leaning Tower …”

Slides:



Advertisements
Similar presentations
For some of us, sex is part of our College/University experience. Decisions about sex (whether or not to have it, with whom and when) are thought about,
Advertisements

Organise and complete daily work activities
How to Succeed in Mathematics WOU Mathematics Department
Software Development Life Cycle. Why Do We need Software Development Models Helps to make sure that we cover all bases during planning and implementation.
Advanced Database Projects In Access © Hodder Education 2008 Access Projects – Problem Specification.
Introduction to Project Planning
CS405 Project Management 1. Project Management “A well-planned project will take twice as long as originally expected; a poorly-planned project, three.
Systems Analysis, Prototyping and Iteration Systems Analysis.
INSE - Lecture 4a Requirements Elicitation. Requirements Elicitation vs Specification [Many people in the industry confuse Requirements Elicitation with.
INSE - Lecture 11 Testing u Verification testing vs pursuit testing u Philosophy of testing u Stages of testing u Methods of testing u Design of test data.
Chapter 10 Schedule Your Schedule. Copyright 2004 by Pearson Education, Inc. Identifying And Scheduling Tasks The schedule from the Software Development.
Computer Engineering 203 R Smith Project Tracking 12/ Project Tracking Why do we want to track a project? What is the projects MOV? – Why is tracking.
© The McGraw-Hill Companies, Software Project Management 4th Edition Monitoring and control Chapter 9.
Project Management Workshop. Nick Cook  Citigroup Corporate and Investment Bank  European Technology Business Office Manager Edinburgh University April.
Informatics 43 – April 16, Homework 1 What is the purpose and goal of each section in the document? Two audiences: non-technical users and technical.
W5HH Principle As applied to Software Projects
Applied Software Project Management Andrew Stellman & Jennifer Greenehttp:// Applied Software Project Management Introduction.
Applied Software Project Management INTRODUCTION Applied Software Project Management 1 5/20/2015.
Chapter 1: Key Points Program = Useful to the programmer in the garage Programming Product = Useful to anyone Programming System Component = Part of a.
CS351 © 2003 Ray S. Babcock Cost Estimation ● I've got Bad News and Bad News!
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Swami NatarajanJune 17, 2015 RIT Software Engineering Reliability Engineering.
SE 450 Software Processes & Product Metrics Reliability Engineering.
Test Environments Arun Murugan – u Rohan Ahluwalia – u Shuchi Gauri – u
Possible incorporation of Prototyping in the Conventional Approach to Systems Development FEASIBILITY STUDY REQUIREMENTS ANALYSIS SYSTEMS ANALYSIS SYSTEMS.
NJIT Inception is not the Requirements Phase Chapter 4 Applying UML and Patterns Craig Larman.
CS4723 Software Validation and Quality Assurance Lecture 9 Bug Report Management.
THINGS SUCCESSFUL PEOPLE DO. THEY CREATE AND PURSUE S.M.A.R.T. GOALS. S.M.A.R.T. goals are S pecific, M easurable, A ttainable, R elevant, and T imely.
Project Planning with IT Y/601/7321
Software Testing Lifecycle Practice
Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
STUDY AND TEST TAKING STRATEGY What is Success? Achievement of an action within a specified period of time or within a specified parameter. Success can.
Copyright (c) 2003 CPTTM 1 Common fears of a software development manager Common fears of a software development manager: –Deadline.
Software Project Planning CS470. What is Planning? Phases of a project can be mostly predicted Planning is the process of estimating the time and resources.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
COMP 208/214/215/216 Lecture 3 Planning. Planning is the key to a successful project It is doubly important when multiple people are involved Plans are.
1 Project Information and Acceptance Testing Integrating Your Code Final Code Submission Acceptance Testing Other Advice and Reminders.
Testing E001 Access to Computing: Programming. 2 Introduction This presentation is designed to show you the importance of testing, and how it is used.
Chapter 23 – Project scheduling Lecture 1. Project scheduling  Project scheduling is the process of deciding how the work in a project will be organized.
The Art of Estimating Programming Tasks Adriana Lopez Development Director Dragon Age II.
Problem Solving. What is Problem Solving???? Well you could find several definitions of problem solving, but we only have to concentrate in the fact that.
Writing requirements specifications. Why we need requirements specifications To give structure to your desires To avoid waste of resources To avoid slippage.
Inception Chapter 4 Applying UML and Patterns -Craig Larman.
1 Chapter 3 1.Quality Management, 2.Software Cost Estimation 3.Process Improvement.
STEP 4 Manage Delivery. Role of Project Manager At this stage, you as a project manager should clearly understand why you are doing this project. Also.
VCE IT Theory Slideshows By Mark Kelly Vceit.com Problem Solving Methodology 3 Development.
HOW TO STUDY??? STUDY HABITS Who needs them? We all do. Everyone has deadlines to assignments. No matter how much we like or dislike a subject we are working.
Systems Development Life Cycle
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Course Overview  What is AI?  What are the Major Challenges?  What are the Main Techniques?  Where are we failing, and why?  Step back and look at.
Click to add text Systems Analysis, Prototyping and Iteration.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System A Use Case Primer Organizing.
CS451 Software Implementation and Integration Yugi Lee STB #555 (816) Note: This lecture was designed.
CS223: Software Engineering Lecture 4: Software Development Models.
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
© 2015 albert-learning.com How to talk to your boss How to talk to your boss!!
Identify and Explain Effective Working Practices OCR Diploma Level 2.
Project Management Enabling Quality Marien de Wilde, PMP April 2007.
1 Requirements Engineering for Agile Methods Lecture # 41.
Tests of Significance We use test to determine whether a “prediction” is “true” or “false”. More precisely, a test of significance gets at the question.
© NALO Solutions Limited NALO Solutions, presents the – Revenue Collector App Using Mobile Phones to gather Revenue SOFTWARE ENGINEERING.
Pitfalls of your first paper Shu Cai Institute of Computing Technology, Chinese Academy of Sciences
How to use your time effectively Outcome: To recognise the skills needed and develop strategies to improve time management ‘How to use your time effectively’,
5. SERVING STEPS  Think of some ways and places you could serve God in the church or the youth group at Max age.  What ways do you personally want to.
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
CSE403 Software Engineering Autumn 2000 Requirements
Software Testing Lifecycle Practice
Presentation transcript:

INSE - Lecture 6a Prototyping

Or: “ Not building a Leaning Tower …”

Validation is needed  Having written a specification... - irrespective of whether it is in English or some formal notation - how do we ensure the specification matches the user requirements?  One method is prototyping

Differences between a prototype and “ the real thing ”  The prototype must be available very early so that lessons learnt from it can be fed back into the Requirements, Specification and Design documents.  This means we take whatever short-cuts are needed: e.g. –incomplete having only key facilities; –on the wrong machine; –too slow; –too big –...

Typically  We build an approximation to the doubtful parts of the desired system;  if needed we simulate any special hardware or peripherals;  we have users try it to see what they mis- understand, mis-use, say is wrong, like/dislike, …  Often it changes the user ’ perception of what they need.

Variations  a mock-up;  a hand-built cut-down of “ the real thing ” ;  using some sort of “ prototype-maker ” –maybe from a formal spec, or –maybe in logic programming or other special language.

Postscript on Prototyping  No matter how a prototype is made prototypes are thought to save far more than they cost.  And if you don ’ t prototype intentionally, your chances of fundamental error are so high that a good motto is “ build one to throw away (because you will, anyhow) ”

INSE - Lecture 6b Estimating

Estimates... … are almost always needed - usually in 2 forms -- £££ -- man-years “ Man-years ” often helps to -- estimate the £££ ; -- decide realistic deadlines; -- decide what resources are likely to be needed.

Issues that arise...  Milestones for keeping track of “ whether the project is on schedule ” ;  Brookes Law;  estimates –often are wildly wrong; and –usually are under-estimates. [But they are now usually much better than in the early days.]

Milestones  Estimate the whole cost as the sum of (pessimistic) estimates of the costs of parts;  then decide the final deadline and total number of people;  then derive a target deadline for each part of the project.  Each deadline-for-a-part is then a milestone;  project progress can be checked by seeing whether milestones are reached by the expected deadlines.

Brookes Law  “ Adding manpower to a late software project will make it even later. ”  New people joining mid-project –need to do a lot of learning before they can achieve anything; –waste the established people ’ s time by asking questions on everything not yet documented; –will make mistakes when they do start achieving; –will never be fully committed to the project.

Avoiding Brookes ’ Law GET THE ESTIMATES RIGHT!

When Brookes ’ Law comes into action  limit later damage by having the new people write the missing documentation

Why do estmates go wrong? Reasons include  we tend to estimate for the bits we like, omitting the bits we don ’ t like;  getting the program out before the competition get theirs out –therefore hurry –therefore haste –therefore less speed.

Why estimates go wrong … continued  Middle management do the estimates –not done technical work for years; –therefore out of touch.  Middle management will want to please higher management –therefore err on the low side.  The producers won ’ t be emotionally committed to the deadlines, so won ’ t try as hard.

Why estimates go wrong … continued  Ultimately, it will be guessing, supported by experience.  Most of these are reasons for the estimates to be low.

After this lecture  from here out, consider prototyping for any non-trivial or non-obvious programs or parts of programs you build;  keep records of how much time you spend on building programs, web-pages, writing up notes; after a while start using that information to begin predicting...