Software Development Methodology What do you need to

  • Slides: 18
Download presentation
Software Development Methodology What do you need to know? Copyright © 2015 -2019 Curt

Software Development Methodology What do you need to know? Copyright © 2015 -2019 Curt Hill

Introduction • Some of this should be a review from previous courses • We

Introduction • Some of this should be a review from previous courses • We will consider the process of Software Development • You should know something already on all of these topics Copyright © 2015 -2019 Curt Hill

What is Engineering • Engineering is the application of mathematics, empirical evidence and scientific,

What is Engineering • Engineering is the application of mathematics, empirical evidence and scientific, economic, social, and practical knowledge in order to invent, innovate, design, build, maintain, research, and improve structures, machines, tools, systems, components, materials, and processes. Copyright © 2015 -2019 Curt Hill

Software Development • Not the only topic of Software Engineering – Arguably the most

Software Development • Not the only topic of Software Engineering – Arguably the most important • There are many other topics, but if there is no software development, would any of the rest be of interest? Copyright © 2015 -2019 Curt Hill

What tasks? • There are various things that need to go on during development:

What tasks? • There are various things that need to go on during development: – Requirements and Specifications – Development – Validation – Maintenance – Enhancement • Other sets of terms are also possible • Each of these could have other sequences Copyright © 2015 -2019 Curt Hill

Who? • There are several groups all of whom are stakeholders in the process

Who? • There are several groups all of whom are stakeholders in the process • It is easiest to divide into two groups – Those who will develop and maintain – Those who will use • Communication between the two is essential Copyright © 2015 -2019 Curt Hill

Plural Not Singular • The stakeholders are typically plural in both groups • What

Plural Not Singular • The stakeholders are typically plural in both groups • What software is used by one person only? – In general this course is not interested in such projects • What software is developed by one person? – Many cases but far from the majority – Again, this course is mostly interested in team developed software Copyright © 2015 -2019 Curt Hill

Teams • The Declaration of Independence asserts that all men are created equal –

Teams • The Declaration of Independence asserts that all men are created equal – This is a legal point of view • In general, each person has different: – Skills, experience, intelligence etc. • We may also fulfill different roles • One of the keys of personal success is to understand what you are good at and what you like to do Copyright © 2015 -2019 Curt Hill

Methodology • Definition: a body of methods, rules, and postulates employed by a discipline

Methodology • Definition: a body of methods, rules, and postulates employed by a discipline : a particular procedure or set of procedures • A software development methodology is a system that organizes software development work – This usually defines phases, processes and roles Copyright © 2015 -2019 Curt Hill

Methodologies • Many software development methodologies: – Waterfall – Prototyping – Iterative and incremental

Methodologies • Many software development methodologies: – Waterfall – Prototyping – Iterative and incremental development – Spiral development – Rapid application development – Extreme programming – Many flavors of agile development • Each of these work in right situation • We will cover several others as well Copyright © 2015 -2019 Curt Hill

Processes not Products • A Software Development Methodology is not a product • In

Processes not Products • A Software Development Methodology is not a product • In a product: – You pick from one of several – Once chosen everything is now determined • It is a process – Each enterprise or team can modify the process – Pick some things out of one and some from another Copyright © 2015 -2019 Curt Hill

Business Processes • There are very many business processes – Such as accounts receivable

Business Processes • There are very many business processes – Such as accounts receivable • Everyone starts out doing it their own way • Eventually these ways improve and often converge – These become the best practices • This convergence has not yet happened in software development methodologies Copyright © 2015 -2019 Curt Hill

Really? Copyright © 2015 -2019 Curt Hill

Really? Copyright © 2015 -2019 Curt Hill

Copyright © 2015 -2019 Curt Hill

Copyright © 2015 -2019 Curt Hill

Copyright © 2015 -2019 Curt Hill

Copyright © 2015 -2019 Curt Hill

Bias? • This cartoon is amusing, but somewhat biased • It makes waterfall look

Bias? • This cartoon is amusing, but somewhat biased • It makes waterfall look good and mocks all others • Not quite fair since each has its proponents and detractors • There are so few software development cartoons – So we had to use it Copyright © 2015 -2019 Curt Hill

What is next? • There is a series of presentations on various methodologies •

What is next? • There is a series of presentations on various methodologies • Each one will attempt to briefly describe how this methodology operates • We contrast and compare these Copyright © 2015 -2019 Curt Hill

Finally • What should we be looking for? • Each methodology will have different

Finally • What should we be looking for? • Each methodology will have different approaches for: – The team roles – The processes used – The timing of the process – Among others • What you need to understand is their basic workings and how they compare Copyright © 2015 -2019 Curt Hill