Software Development Methodology What do you need to


















- Slides: 18
Software Development Methodology What do you need to know? Creative Commons License – Curt Hill.
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 Creative Commons License – Curt Hill.
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. Creative Commons License – Curt Hill.
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? Creative Commons License – Curt Hill.
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 Creative Commons License – Curt Hill.
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 Creative Commons License – Curt Hill.
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 Creative Commons License – Curt Hill.
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 Creative Commons License – Curt Hill.
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 Creative Commons License – Curt Hill.
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 Creative Commons License – Curt Hill.
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 Creative Commons License – Curt Hill.
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 Creative Commons License – Curt Hill.
Really? Creative Commons License – Curt Hill.
Creative Commons License – Curt Hill.
Creative Commons License – Curt Hill.
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 Creative Commons License – Curt Hill.
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 Creative Commons License – Curt Hill.
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 Creative Commons License – Curt Hill.


















