![Page 1: The university is planning to stop printing schedule books ...faculty.chas.uni.edu/~wallingf/teaching/172/materials/session08.pdf · The university is planning to stop printing schedule](https://reader034.vdocuments.us/reader034/viewer/2022042105/5e84480dcef6ae35e900a432/html5/thumbnails/1.jpg)
The university is planning to stop printing schedule
books every semester.
Work in groups of 2 or 3to create a list of features
that you would like for the new on-line system to have.
Write each feature in one sentence.
Example:When a department changes the room for a course,it is immediately updated in the system.
.
![Page 2: The university is planning to stop printing schedule books ...faculty.chas.uni.edu/~wallingf/teaching/172/materials/session08.pdf · The university is planning to stop printing schedule](https://reader034.vdocuments.us/reader034/viewer/2022042105/5e84480dcef6ae35e900a432/html5/thumbnails/2.jpg)
<assemble a complete list of requirements>
How many of these are ordinary cases? Special cases?Are we missing any requirements in either category?How can we know?
![Page 3: The university is planning to stop printing schedule books ...faculty.chas.uni.edu/~wallingf/teaching/172/materials/session08.pdf · The university is planning to stop printing schedule](https://reader034.vdocuments.us/reader034/viewer/2022042105/5e84480dcef6ae35e900a432/html5/thumbnails/3.jpg)
Working programs are the best expression of what a
program should do.
A non-traditional claim:
Programming is writing, precise and concise(?).Programs are executable.The best documentation of what we know is a program.
![Page 4: The university is planning to stop printing schedule books ...faculty.chas.uni.edu/~wallingf/teaching/172/materials/session08.pdf · The university is planning to stop printing schedule](https://reader034.vdocuments.us/reader034/viewer/2022042105/5e84480dcef6ae35e900a432/html5/thumbnails/4.jpg)
Failing to write a specis the
single biggest unnecessary risk
you take in asoftware project.
... from last time:
A quote from Joel Spolsky:http://www.joelonsoftware.com/articles/fog0000000036.html
What is the consequence of not writing a spec?
![Page 5: The university is planning to stop printing schedule books ...faculty.chas.uni.edu/~wallingf/teaching/172/materials/session08.pdf · The university is planning to stop printing schedule](https://reader034.vdocuments.us/reader034/viewer/2022042105/5e84480dcef6ae35e900a432/html5/thumbnails/5.jpg)
Don’t write a functional specifications document.
A non-traditional claim:
A quote from Jason Fried:http://37signals.com/svn/archives/001050.php
“Why? Well, there’s nothing functional about a functional specifications document.”
![Page 6: The university is planning to stop printing schedule books ...faculty.chas.uni.edu/~wallingf/teaching/172/materials/session08.pdf · The university is planning to stop printing schedule](https://reader034.vdocuments.us/reader034/viewer/2022042105/5e84480dcef6ae35e900a432/html5/thumbnails/6.jpg)
A functional spec gives an illusion of agreement.
A non-traditional claim:
A quote from Jason Fried:http://37signals.com/svn/archives/001050.php
“Functional specs are about making decisions before you have enough information to decide.They are about predicting the future and we all know how accurate that is.”
![Page 7: The university is planning to stop printing schedule books ...faculty.chas.uni.edu/~wallingf/teaching/172/materials/session08.pdf · The university is planning to stop printing schedule](https://reader034.vdocuments.us/reader034/viewer/2022042105/5e84480dcef6ae35e900a432/html5/thumbnails/7.jpg)
1. Write a one-page story describing what the system should do.
2. Build an interface.
Instead:
The story expresses the basic idea of the program.
The interface is a functional spec.
![Page 8: The university is planning to stop printing schedule books ...faculty.chas.uni.edu/~wallingf/teaching/172/materials/session08.pdf · The university is planning to stop printing schedule](https://reader034.vdocuments.us/reader034/viewer/2022042105/5e84480dcef6ae35e900a432/html5/thumbnails/8.jpg)
Can this possibly work?
Can it work for small systems? Big systems?Can it work for small teams? Big teams?Can it work for simple tasks? Complex tasks?Can it work for web-based systems? For embedded systems?
![Page 9: The university is planning to stop printing schedule books ...faculty.chas.uni.edu/~wallingf/teaching/172/materials/session08.pdf · The university is planning to stop printing schedule](https://reader034.vdocuments.us/reader034/viewer/2022042105/5e84480dcef6ae35e900a432/html5/thumbnails/9.jpg)
agilesoftware
development
BaseCamp’s approach is one we can characterize as “agile”,in contrast to the “sturdier” approach we have been discussing.
google “agile software development”...
![Page 10: The university is planning to stop printing schedule books ...faculty.chas.uni.edu/~wallingf/teaching/172/materials/session08.pdf · The university is planning to stop printing schedule](https://reader034.vdocuments.us/reader034/viewer/2022042105/5e84480dcef6ae35e900a432/html5/thumbnails/10.jpg)
google “agile software development”
August 28, 2004
Results 1 - 10 of about 336,000. Search took 0.25 seconds.
September 17, 2009
Results 1 - 10 of about 1,820,000. Search took 0.37 seconds.
google “agile software development”
August 28, 2004
Results 1 - 10 of about 336,000. Search took 0.25 seconds.
September 17, 2009 Results 1 - 10 of about 1,820,000. Search took 0.37 seconds.
September 17, 2009
![Page 11: The university is planning to stop printing schedule books ...faculty.chas.uni.edu/~wallingf/teaching/172/materials/session08.pdf · The university is planning to stop printing schedule](https://reader034.vdocuments.us/reader034/viewer/2022042105/5e84480dcef6ae35e900a432/html5/thumbnails/11.jpg)
Individuals and interactionsover processes and tools
Working softwareover comprehensive documentation
Customer collaborationover contract negotiation
Responding to changeover following a plan
These are the values expressed in the Agile Manifesto http://agilemanifesto.org/
There is value in the bottom items. Agile developers tend to value the items on top more.
![Page 12: The university is planning to stop printing schedule books ...faculty.chas.uni.edu/~wallingf/teaching/172/materials/session08.pdf · The university is planning to stop printing schedule](https://reader034.vdocuments.us/reader034/viewer/2022042105/5e84480dcef6ae35e900a432/html5/thumbnails/12.jpg)
“Our highest priority is to satisfy the customerthrough early and
continuous deliveryof valuable software.”
a principle of agile software development
... delivering real value for time (= money) spent.
![Page 13: The university is planning to stop printing schedule books ...faculty.chas.uni.edu/~wallingf/teaching/172/materials/session08.pdf · The university is planning to stop printing schedule](https://reader034.vdocuments.us/reader034/viewer/2022042105/5e84480dcef6ae35e900a432/html5/thumbnails/13.jpg)
“Welcome changing requirements, even late in
development.”
... harness change to the customer's advantage.
a principle of agile software development
![Page 14: The university is planning to stop printing schedule books ...faculty.chas.uni.edu/~wallingf/teaching/172/materials/session08.pdf · The university is planning to stop printing schedule](https://reader034.vdocuments.us/reader034/viewer/2022042105/5e84480dcef6ae35e900a432/html5/thumbnails/14.jpg)
“Deliver working software frequently, from a couple of
weeks to a couple of months, with a preference to the
shorter time scale.”
a principle of agile software development
![Page 15: The university is planning to stop printing schedule books ...faculty.chas.uni.edu/~wallingf/teaching/172/materials/session08.pdf · The university is planning to stop printing schedule](https://reader034.vdocuments.us/reader034/viewer/2022042105/5e84480dcef6ae35e900a432/html5/thumbnails/15.jpg)
“Business people and developers must work
together daily throughoutthe project.”
a principle of agile software development
![Page 16: The university is planning to stop printing schedule books ...faculty.chas.uni.edu/~wallingf/teaching/172/materials/session08.pdf · The university is planning to stop printing schedule](https://reader034.vdocuments.us/reader034/viewer/2022042105/5e84480dcef6ae35e900a432/html5/thumbnails/16.jpg)
“Build projects around motivated individuals.
Give them the environment and support they need,
and trust themto get the job done.”
... a principle of agile software development
There are half dozen more as part of the manifesto.
![Page 17: The university is planning to stop printing schedule books ...faculty.chas.uni.edu/~wallingf/teaching/172/materials/session08.pdf · The university is planning to stop printing schedule](https://reader034.vdocuments.us/reader034/viewer/2022042105/5e84480dcef6ae35e900a432/html5/thumbnails/17.jpg)
What about the requirements
and afunctional specification?
List of requirements, broken into small “stories”.Each story can be implemented quickly — a day, a few days, a week, ...Prioritize based on value and cost (time).Implement features. Deliver working system. Get feedback. Repeat.
![Page 18: The university is planning to stop printing schedule books ...faculty.chas.uni.edu/~wallingf/teaching/172/materials/session08.pdf · The university is planning to stop printing schedule](https://reader034.vdocuments.us/reader034/viewer/2022042105/5e84480dcef6ae35e900a432/html5/thumbnails/18.jpg)
short iterations
... implementation and delivery on very short cycles.
![Page 19: The university is planning to stop printing schedule books ...faculty.chas.uni.edu/~wallingf/teaching/172/materials/session08.pdf · The university is planning to stop printing schedule](https://reader034.vdocuments.us/reader034/viewer/2022042105/5e84480dcef6ae35e900a432/html5/thumbnails/19.jpg)
Courtesy of http://www.extremeprogramming.org/
![Page 20: The university is planning to stop printing schedule books ...faculty.chas.uni.edu/~wallingf/teaching/172/materials/session08.pdf · The university is planning to stop printing schedule](https://reader034.vdocuments.us/reader034/viewer/2022042105/5e84480dcef6ae35e900a432/html5/thumbnails/20.jpg)
Courtesy of http://www.extremeprogramming.org/
![Page 21: The university is planning to stop printing schedule books ...faculty.chas.uni.edu/~wallingf/teaching/172/materials/session08.pdf · The university is planning to stop printing schedule](https://reader034.vdocuments.us/reader034/viewer/2022042105/5e84480dcef6ae35e900a432/html5/thumbnails/21.jpg)
On to the project...
Team assignments.Talk to the two uncertain teams.