1 / 23

CST 316

CST 316. Process. Junior Project. Process Provide 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

nitza
Download Presentation

CST 316

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CST 316 Process

  2. Junior Project Process • Provide 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 members • Spread the glory across the entire team

  3. Rapid Development 4-Part Strategy • Avoid Classic Mistakes – Don’t repeat history • Apply sane development fundamentals – What are some? • Manage Risks – What are software project risks? • Manage time through schedules. Adapt schedules to reflect reality – What is reality?

  4. Rapid Development Four Dimensions of Software Development • People • Process • Technology • Product

  5. 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 personally • Build teams of people that compliment and harmonize together • Face team member problems early and solve them

  6. 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: • Requirements • Analysis • Design/Modeling • Coding/Implementation • Testing/QA • Define, track, and handle project risks

  7. 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.

  8. 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. • Requirements • Gather and catalog what the user wants. • Categorize these so the necessary components will be a high priority. • Define schedules based on these priorities.

  9. 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.

  10. Early Defect Removal

  11. “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.

  12. “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

  13. Development Activity Distribution

  14. Phases of Software Lifecyle • Requirement Phase • Specification/Analysis Phase • Design Phase • Implementation Phase • Integration/Testing Phase • Maintenance Phase • Retirement

  15. Cost of Software Lifecycle

  16. Software Development Activity Distribution

  17. Software Project Players • Client • Developer • User

  18. Build-and-Fix Model

  19. WaterfallModel(Salmon Model?)

  20. Prototyping Model

  21. IncrementalModel

  22. Synchronize-and-stabilize model • Mainly used by Microsoft • Similar 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

  23. Spiral Model

More Related