![Page 1: CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649e2a5503460f94b18326/html5/thumbnails/1.jpg)
CST 316
Process
![Page 2: CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649e2a5503460f94b18326/html5/thumbnails/2.jpg)
Junior Project
ProcessProvide necessary points of communication for individual effort.
Allow a controllable division of labor.
Divide and Conquer
Split the drudgery pieces of a project among the team members
No single member does all the “yucky” stuff
Split the cool stuff among the team membersSpread the glory across the entire team
![Page 3: CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649e2a5503460f94b18326/html5/thumbnails/3.jpg)
Rapid Development
4-Part Strategy1. Avoid Classic Mistakes – Don’t repeat history
2. Apply sane development fundamentals – What are some?
3. Manage Risks – What are software project risks?
4. Manage time through schedules. Adapt schedules to reflect reality – What is reality?
![Page 4: CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649e2a5503460f94b18326/html5/thumbnails/4.jpg)
Rapid Development
Four Dimensions of Software Development 1. People
2. Process
3. Technology
4. Product
![Page 5: CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649e2a5503460f94b18326/html5/thumbnails/5.jpg)
Rapid Development
Four Dimensions of Software Development People – Teams will make or break a project. Small
team communication and interaction is a key element in software development.
Small teams of Top Talent are better than larger mixed teams.Fit tasks to skills and motivation of team members.Help team members advance professionally as well as personallyBuild teams of people that compliment and harmonize togetherFace team member problems early and solve them
![Page 6: CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649e2a5503460f94b18326/html5/thumbnails/6.jpg)
Rapid Development
Four Dimensions of Software Development Process – The methodology and sequence of events used to
organize software development efforts and extract software development artifacts.Do not over organize process rules (never get caught in “Analysis Paralysis”)Avoid the “All Powerful Process Tsar”Define good development fundamentals:
RequirementsAnalysisDesign/ModelingCoding/ImplementationTesting/QA
Define, track, and handle project risks
![Page 7: CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649e2a5503460f94b18326/html5/thumbnails/7.jpg)
Rapid Development
Four Dimensions of Software Development Technology – The “stuff” we use to build a system.
Avoid the “Silver Bullet Syndrome” – “Of all the monsters who fill the nightmares of our folklore, none terrify more than werewolves. They transform unexpectedly from familiar to horrors.”
Technology to solve a problem, seen as a “silver bullet”, can easily become the “werewolf” we wish to eradicate!
This is what is known as the “bleeding-edge” of technology.
![Page 8: CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649e2a5503460f94b18326/html5/thumbnails/8.jpg)
Rapid Development
Four Dimensions of Software Development Product – What exactly are we trying to build?
Define system scope What does the customer really want?Where do the boundaries of the system reside?Never build what can be bought or obtained and integrated.
RequirementsGather and catalog what the user wants.Categorize these so the necessary components will be a high priority.Define schedules based on these priorities.
![Page 9: CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649e2a5503460f94b18326/html5/thumbnails/9.jpg)
Development Process
Well-defined development processes are important and necessary to achieve the goals.
Well-defined software processes can greatly reduce the cost of fixing errors later in the development cycle.
The key part of development process is everybody on the team has buy-in and the process is well understood.
All approaches are viable and will produce results.
![Page 10: CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649e2a5503460f94b18326/html5/thumbnails/10.jpg)
Early Defect Removal
![Page 11: CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649e2a5503460f94b18326/html5/thumbnails/11.jpg)
“Software Process”Committing all requirements to writing.
Using a systematic procedure to control additions and changes to the software’s requirements.
Conducting systematic technical reviews of all requirements, designs and source code.
Developing a systematic Quality Assurance Plan in the very early stages of the project that includes a test plan, review plan and defect tracking plan.
![Page 12: CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649e2a5503460f94b18326/html5/thumbnails/12.jpg)
“Software Process”Creating an implementation plan that defines the order in which the software’s functional components will be developed and integrated.
Using automated source code control.
Revising cost and schedule estimates as each major milestone is achieved.
Completion of requirements analysis
Completion of architecture and detailed design
Completion of each implementation stage
![Page 13: CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649e2a5503460f94b18326/html5/thumbnails/13.jpg)
Development Activity Distribution
![Page 14: CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649e2a5503460f94b18326/html5/thumbnails/14.jpg)
Phases of Software Lifecyle
Requirement Phase
Specification/Analysis Phase
Design Phase
Implementation Phase
Integration/Testing Phase
Maintenance Phase
Retirement
![Page 15: CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649e2a5503460f94b18326/html5/thumbnails/15.jpg)
Cost of Software Lifecycle
![Page 16: CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649e2a5503460f94b18326/html5/thumbnails/16.jpg)
Software Development Activity Distribution
6%8%
16%
40%
20%
10%
RequirementsAnalysis (Detailed Req)ArchitectureConstructionTestingRelease
![Page 17: CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649e2a5503460f94b18326/html5/thumbnails/17.jpg)
Software Project Players
Client
Developer
User
![Page 18: CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649e2a5503460f94b18326/html5/thumbnails/18.jpg)
Build-and-Fix Model
![Page 19: CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649e2a5503460f94b18326/html5/thumbnails/19.jpg)
WaterfallModel(Salmon Model?)
![Page 20: CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649e2a5503460f94b18326/html5/thumbnails/20.jpg)
Prototyping Model
![Page 21: CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649e2a5503460f94b18326/html5/thumbnails/21.jpg)
IncrementalModel
![Page 22: CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649e2a5503460f94b18326/html5/thumbnails/22.jpg)
Synchronize-and-stabilize model
Mainly used by MicrosoftSimilar to incremental model
Interviewing numerous potential customers during requirement analysis phase for a list of features
Divide the features into 3 or 4 builds
Synchronize work from teams
Stabilize each build
![Page 23: CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide](https://reader036.vdocuments.mx/reader036/viewer/2022062314/56649e2a5503460f94b18326/html5/thumbnails/23.jpg)
Spiral Model