itec 370 lecture 25 lifecycles. review questions? f give prototype demonstration –testing plan for...
TRANSCRIPT
![Page 1: ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,](https://reader036.vdocuments.us/reader036/viewer/2022072005/56649ce15503460f949abdb9/html5/thumbnails/1.jpg)
ITEC 370
Lecture 25Lifecycles
![Page 2: ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,](https://reader036.vdocuments.us/reader036/viewer/2022072005/56649ce15503460f949abdb9/html5/thumbnails/2.jpg)
Lifecycles
Review
• Questions?• F give prototype demonstration– Testing plan for your software
• Life cycles– Scrum (Roles, Meetings, Sprints)
![Page 3: ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,](https://reader036.vdocuments.us/reader036/viewer/2022072005/56649ce15503460f949abdb9/html5/thumbnails/3.jpg)
Lifecycles
Objectives
• Life cycles–Waterfall, Scrum, now
![Page 4: ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,](https://reader036.vdocuments.us/reader036/viewer/2022072005/56649ce15503460f949abdb9/html5/thumbnails/4.jpg)
Lifecycles
eXtreme Programming
• Method of developing software geared towards handling changing requirements
• Frequent releases• Testing from day 1• Communication• Courage
![Page 5: ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,](https://reader036.vdocuments.us/reader036/viewer/2022072005/56649ce15503460f949abdb9/html5/thumbnails/5.jpg)
Lifecycles
Rules
• Planning– User stories / planning for iterations
• Managing– Communications / workplace / velocity
• Designing– Spiking, simplicity, refactoring
• Coding– Unit test first, customer on hand, pair programming
• Testing– All code must have a unit test– Code can only be added when it passes all tests– Find a bug? Add a unit test…
![Page 6: ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,](https://reader036.vdocuments.us/reader036/viewer/2022072005/56649ce15503460f949abdb9/html5/thumbnails/6.jpg)
Lifecycles
Process
![Page 7: ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,](https://reader036.vdocuments.us/reader036/viewer/2022072005/56649ce15503460f949abdb9/html5/thumbnails/7.jpg)
Lifecycles
Code
• Be a programmer or get out–Write requirements in code, design in
code, implement in code– Simplicity 101– Always write code with a partner
• In XP, code is the truly important product produced– Documentation (beyond what is
necessary for code), who needs it
![Page 8: ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,](https://reader036.vdocuments.us/reader036/viewer/2022072005/56649ce15503460f949abdb9/html5/thumbnails/8.jpg)
Lifecycles
Testing
• If a little bit of testing can remove a majority of the flaws, what can a lot of testing do?
• Unit tests– How can I break the code?
• Acceptance tests– Customer specified
![Page 9: ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,](https://reader036.vdocuments.us/reader036/viewer/2022072005/56649ce15503460f949abdb9/html5/thumbnails/9.jpg)
Lifecycles
CS paradise
• One caveat…you have to listen to the customer
• Every part of the process is driven by a customer’s goals
• Use CS coding skills, but hyper-focused on a specific set of problems
• Small fully functional releases– Command line prototypes, GUI
skeletons, etc…
![Page 10: ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,](https://reader036.vdocuments.us/reader036/viewer/2022072005/56649ce15503460f949abdb9/html5/thumbnails/10.jpg)
Lifecycles
Requirements
• Before XP– Document with multiple sections– Clear method of communicating what is known– Customer Requirements team
• XP– Every developer must know what the system
is supposed to do– Interact with users on a daily basis– Need a common metaphor– Frequent communication and feedback
![Page 11: ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,](https://reader036.vdocuments.us/reader036/viewer/2022072005/56649ce15503460f949abdb9/html5/thumbnails/11.jpg)
Lifecycles
Requirements
• Before you get started writing code, you need to write a story
• A story that explains the system at a high level
• Shared, mutual understanding of what the purpose of the system is
• Guide for the entire process
![Page 12: ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,](https://reader036.vdocuments.us/reader036/viewer/2022072005/56649ce15503460f949abdb9/html5/thumbnails/12.jpg)
Lifecycles
Requirements
• Instead of a formal document you have user stories
• Description of what the system is going to do• User’s perspective• Can be simple– I want to be able to search songs based on name
and price
• Goal = To not need maintenance• Group several together and you have a goal
for your next cycle
![Page 13: ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,](https://reader036.vdocuments.us/reader036/viewer/2022072005/56649ce15503460f949abdb9/html5/thumbnails/13.jpg)
Lifecycles
Designing
• Always take the simplest approach• No long term designs, planning for if
we want to add this later on we need this now…
• Refactor code– If there is a better way, redo it– If a requirement changed that affects
the code, change the code
![Page 14: ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,](https://reader036.vdocuments.us/reader036/viewer/2022072005/56649ce15503460f949abdb9/html5/thumbnails/14.jpg)
Lifecycles
Coding
• Focus of XP• Always done with another developer• Add your code to the main branch
continually• No over-time
![Page 15: ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,](https://reader036.vdocuments.us/reader036/viewer/2022072005/56649ce15503460f949abdb9/html5/thumbnails/15.jpg)
Lifecycles
Testing
• Unit tests• Must pass all tests before it can be
added• Only one pair adds code to a
repository at a time• Once code is added, it is considered
fully functional
![Page 16: ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,](https://reader036.vdocuments.us/reader036/viewer/2022072005/56649ce15503460f949abdb9/html5/thumbnails/16.jpg)
Lifecycles
Criticisms
• A method is only as effective as the people involved, Agile does not solve this
• Often used as a means to bleed money from customers through lack of defining a deliverable
• Lack of structure and necessary documentation• Only works with senior-level developers• Incorporates insufficient software design• Requires meetings at frequent intervals at enormous expense to customers• Requires too much cultural change to adopt• Can lead to more difficult contractual negotiations• Can be very inefficient—if the requirements for one area of code change
through various iterations, the same programming may need to be done several times over. Whereas if a plan were there to be followed, a single area of code is expected to be written once.
• Impossible to develop realistic estimates of work effort needed to provide a quote, because at the beginning of the project no one knows the entire scope/requirements
• Can increase the risk of scope creep due to the lack of detailed requirements documentation
• Agile is feature driven; non-functional quality attributes are hard to be placed as user stories
Straight from wikipedia
![Page 17: ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,](https://reader036.vdocuments.us/reader036/viewer/2022072005/56649ce15503460f949abdb9/html5/thumbnails/17.jpg)
Lifecycles
Review
• XP– Coder centric– Heavy on communication– Informal