CS 577b: Software Engineering II CS 577b Software Engineering II -- Introduction 18 September 2018 CS 577b: Software Engineering II Software Mission Assurance © 2002-6 USC Center for Software Engineering
The Incremental Commitment Spiral Model Mission Assurance Exploration Phase - Problem Definition - Stakeholders Identification - Product Roadmap and Project Planning Valuation phase - Requirements management - Analysis of Alternative - Business Case Analysis - Proof-of-concepts Foundations phase - Architecture Design and Evaluation Development phase - Continuous Implementation and Testing - Test-like/what/how-you-fly Operations phase - Maintenance and Enhancement - Tech Refresh Common activities to all phases - Risk and Opportunity Management - Quality Assurance - Configuration Management - Stakeholders' Expectation management - Feasibility Evidence - Human Factors - Project and Product Management - Continuous Improvement : Product, Process, and People This slide shows the overall concept of the ICM Commitment and accountability Success-critical stakeholder satisficing, Incremental growth of system definition and stakeholder commitment, Concurrent engineering, Iterative development cycles, Risk-based activity levels and milestones ©USC-CSSE
Project Management (C)USC-CSSE
“Poor management can increase software costs more rapidly than any other factor.” - Barry Boehm (C)USC-CSSE
“Do same with less; Do more with same” (C)USC-CSSE
“Plans are useless. Planning is essential” -Eisenhower “A plan is an example of what could happen, not a prediction of what will happen.” - Kent Beck (C)USC-CSSE
“Accept risks, Expect failures, Ensure recovery” (C)USC-CSSE
“Take risk up front where it is manageable” (C)USC-CSSE
“Most of the smartest people work for someone else” (C)USC-CSSE
Rather than “what we want”, ask “what do we have?” (C)USC-CSSE
“Begin with the end in mind” “Think about the problem before you think about the solution.” “The hardest part of the problem is defining the problem” (C)USC-CSSE
“Conspiracy of optimism” (C)USC-CSSE
“if you want it bad, you will get it bad” (C)USC-CSSE
"Adding manpower to a late software project makes it later" - Fred Brooks (C)USC-CSSE
Product Management (C)USC-CSSE
“The threat environment is constantly changing, so what is "right" keeps changing” (C)USC-CSSE
One IT decade is 3 years - Tom Soderstrom (C)USC-CSSE
“Refresh when you should… not when you have to.” (C)USC-CSSE
“Faster at the speed of need” (C)USC-CSSE
“May be it is not a requirement if we cannot afford it” (C)USC-CSSE
“All models are wrong; some are useful” “ “The model said so” is never an acceptable response” (C)USC-CSSE
“Cylinders of Excellence” (C)USC-CSSE
“Incident Detection is important but must be accompanied with Incident Response” (C)USC-CSSE
“Standards, COTS & Open Source used to be NO WAY, but now are OF COURSE” (C)USC-CSSE
Faster, better, cheaper, SAFER (C)USC-CSSE
“Select technologies, not necessarily the best in class but ones that will work together.” (C)USC-CSSE
Build vs Buy vs Grab (C)USC-CSSE
Aggregation vs Disaggregation Cost is too high to build small “One size fits all” vs “Tragedy of common” (C)USC-CSSE
Free software isn’t free (C)USC-CSSE
“The true measure of a standard is not that when it should be used, but when it is used when not required.” (C)USC-CSSE
“Evidence needs to be the first class deliverable” - Barry Boehm “The one who yells the loudest gets the budget” (C)USC-CSSE
“Bake/Built in “-ilities” from day one (C)USC-CSSE
“Don’t fall in love with your best solution” (C)USC-CSSE
“The trouble with quick and dirty is that dirty remains long after quick has been forgotten.” - Steve McConnell (C)USC-CSSE
“Define automation at the beginning rather than asking “what can we automate?” at the end” (C)USC-CSSE
“Before software can be reusable, first it should be designed to be reused” “Before software can be reusable, first it has to be usable.” (C)USC-CSSE
“About 90% of the downtime comes from, at most,10 % of the defect “About 90% of the downtime comes from, at most,10 % of the defect.” - Barry Boehm “ The first 90 percent of the code accounts for the first 90 percent of the development time...The remaining 10 percent of the code accounts for the other 90 percent of the development time.” - Tom Cargill (C)USC-CSSE
Process Management (C)USC-CSSE
“I estimate that 75% of those organizations using Scrum will not succeed in getting the benefits that they hope for from it.” - Ken Schwaber (C)USC-CSSE
“If you wait till the last minute, it only takes a minute.” (C)USC-CSSE
Shu-Ha-Ri-Kokoro (C)USC-CSSE http://alistair.cockburn.us/Shu+Ha+Ri+Kokoro (C)USC-CSSE
People Management (C)USC-CSSE
“Not only the solutions that you are developing, it’s also the team because that will be a key part of your solution” (C)USC-CSSE
“Do not need permission to do good work “Do not need permission to do good work. It is unethical to underperform things that you have to do” (C)USC-CSSE
IT trends Smart data Open Development Rapid Development (Agile in everything) Cloud sourcing Internet of Things (not only toys) Programming (start much younger) Natural User Interface (blink it) non-traditional partners cyber security awareness enterprise architecture chaotic architecture E4: Engage and Enable Everyone and Everything Source: GSAW 2016 (C)USC-CSSE
Systems and Software Engineering Trends 2016 System Resiliency Cyber Security Virtualization Enterprise Ground Systems Open Source Software Model-Based Engineering Agile System Engineering (C)USC-CSSE
Software Engineering Trends Internet of Things – SW embedded systems Software Product Line Engineering Micro Services and Containers Data Analytics and Visualization (C)USC-CSSE
Resources GSAW workshop summary 2013 – 2016 https://gsaw.org/ (C)USC-CSSE