Changes

1,009 bytes added ,  17:04, 26 June 2023
no edit summary
Line 4: Line 4:  
DevSecOps stands for development, security, and operations. It's an approach to culture, automation, and platform design that integrates security as a shared responsibility throughout the entire IT lifecycle.  
 
DevSecOps stands for development, security, and operations. It's an approach to culture, automation, and platform design that integrates security as a shared responsibility throughout the entire IT lifecycle.  
 
[[File:Agile cycle.png|thumb|Agile-Devopscycle]]
 
[[File:Agile cycle.png|thumb|Agile-Devopscycle]]
 +
[[File:Overall cycle.png|thumb|overall_cycle_iterate]]
    
'''DevSecOps CI/CD''' (ref https://public.cyber.mil/devsecops/) CI/CD is a DevOps tactic, which makes use of the right automated testing tools to implement agile development. Continuous Integration is an engineering practice in which members of a development team integrate their code at a very high frequency, detection of errors in code in the early stages. Continuous Delivery is the practice of ensuring that code is always in a deployable state. All code changes – new features, bug fixes, experiments, configuration changes – are always ready for deployment to a production environment with the right CI/CD tools in place.  Scale accordingly (to the size, complexity, and criticality of your project/product development cycle) The right fit automating as much as possible.  See software factory.  
 
'''DevSecOps CI/CD''' (ref https://public.cyber.mil/devsecops/) CI/CD is a DevOps tactic, which makes use of the right automated testing tools to implement agile development. Continuous Integration is an engineering practice in which members of a development team integrate their code at a very high frequency, detection of errors in code in the early stages. Continuous Delivery is the practice of ensuring that code is always in a deployable state. All code changes – new features, bug fixes, experiments, configuration changes – are always ready for deployment to a production environment with the right CI/CD tools in place.  Scale accordingly (to the size, complexity, and criticality of your project/product development cycle) The right fit automating as much as possible.  See software factory.  
Line 16: Line 17:  
And, lets talk about '''requirements'''.  Everyone thinks that - we're Agile! we don't need requirements cause the client/SME/stakeholder is right beside us every step of the way.  But, we all know in reality getting the time/resources at the time you need key SMEs/stakeholders can be a challenge. (ref https://www.modernanalyst.com/Resources/Articles/tabid/115/ID/5832/A-Business-Analysts-Experience-With-Scrum.aspx )
 
And, lets talk about '''requirements'''.  Everyone thinks that - we're Agile! we don't need requirements cause the client/SME/stakeholder is right beside us every step of the way.  But, we all know in reality getting the time/resources at the time you need key SMEs/stakeholders can be a challenge. (ref https://www.modernanalyst.com/Resources/Articles/tabid/115/ID/5832/A-Business-Analysts-Experience-With-Scrum.aspx )
 
[[File:Req analysis.png|thumb|req_analysis]]
 
[[File:Req analysis.png|thumb|req_analysis]]
I have been on many many projects.  Sure some don't require elaborate requirements depending upon the size, complexity, criticality, scope, costs, resources, experience/wisdom/knowledge etc...  but many do - at least a baseline of SMART requirements which evolve. The best projects I have been on have been iterative, incremental and integrated in approach involving key SMEs/stakeholders producing prototypes and proof of concepts with a SMART baseline of requirements which evolve with time to manage scope, costs, resources, schedule, quality, risks...  
+
I have been on many many projects.  Sure some don't require elaborate requirements depending upon the size, complexity, criticality, scope, costs, resources, experience/wisdom/knowledge etc...  but many do - at least a baseline of SMART (specific, measurable, attainable, realistic, testable) requirements which evolve. The best projects I have been on have been iterative, incremental and integrated in approach involving key SMEs/stakeholders producing prototypes and proof of concepts with a SMART baseline of requirements which evolve with time to manage scope, costs, resources, schedule, quality, risks... with traceability and validation/verification meeting the needs of the organization and of the clients needs.  
Without requirements where will you start? Requirements allow you to prioritize, categorize, trace, realize, measure/monitor/correct accordingly and continuously and risk assess.  I've been on projects where scope was all over the place, so were costs and resources were heading in every direction.  Requirements were no place to be found. A baseline of requirements that evolve provides direction.   
+
Without requirements where will you start? A baseline of requirements that evolve and that are managed well, allows one to prioritize, categorize, trace, assess impact of change, realize, measure/monitor/correct accordingly continuously and risk assess.  I've been on projects where scope was all over the place, so were costs and resources were heading in every direction.  Requirements were no place to be found. A baseline of requirements that evolve provides direction.   
 
[[File:Technology overview.png|thumb|Needs_analysis]]
 
[[File:Technology overview.png|thumb|Needs_analysis]]
Then comes the '''organization's culture, people, process, governance and tools''' https://www.compact.nl/en/articles/continuously-improve-your-agility/ which is important.  Are we meeting the client's needs and organizational mandates/objectives/vision/goals?
+
Then comes the '''organization's culture, people, process, governance and tools''' https://www.compact.nl/en/articles/continuously-improve-your-agility/ which is important.  Are we meeting the client's needs and organizational mandates/objectives/vision/goals? Are we able/willing to adapt to change? right fit? right tools? right training? mentorship/mindset/knowledge sharing and growth? direction and management? risk taking or risk adverse? SWOT analysis and know the organization... capability and capacity willing to change.
 
[[File:Devsecops culture.png|thumb|Organization_culture_fit]]
 
[[File:Devsecops culture.png|thumb|Organization_culture_fit]]
   Line 25: Line 26:  
|+ The software factory:
 
|+ The software factory:
 
|-  
 
|-  
|  [[style="width: 400px;"|File:Swfact2.png|frameless|center]]
+
|  [[File:DevSecOps ecosystem.png|frameless|center]]
 +
|-
 +
|  [[File:Swfact2.png|frameless|center]]
 
|-  
 
|-  
 
|  [[File:Sw fact3.png|frameless|center]]
 
|  [[File:Sw fact3.png|frameless|center]]
Line 33: Line 36:     
Projects I have been on that were a success:
 
Projects I have been on that were a success:
https://ottawacitizen.com/news/national/defence-watch/canadian-surveillance-satellite-system-now-operational Evolving 600 user stories (around 3000 derived requirements see page 75 https://buyandsell.gc.ca/cds/public/2013/05/29/be189bb4f50d214783a7d94d19a1364d/ABES.PROD.BK__XL.B100.E25308.EBSU000.PDF )  from key SMEs/stakeholders using focus groups, surveys, and continuous feedback.
  −
https://ottawacitizen.com/news/national/rcmp-unveils-massive-border-security-project Evolving key scenarios to prove the concepts working with the field units empowering staff, adhering to the laws of each province, building small correcting mistakes quickly iteratively with prototypes  (Boeing failed https://www.zdnet.com/article/boeing-virtual-fence-30-billion-failure/)
  −
https://www.defenseindustrydaily.com/canada-holland-order-17-sirius-shipboard-longrange-irst-sensors-updated-02183/ building iteratively with many prototypes/proof of concepts, with key SMEs in the loop and a good baseline of requirements (from defense research), with good
  −
people, tools, process (achieved CMMI level 5) with direction, commitment, goals, small builds. 
  −
I have been on failed projects as well, mostly due to lack of SMART requirements as scope, costs, direction, quality and risks all over the place.  Requirements are critical, especially for mission-critical projects that evolve as a baseline. Build incrementally, iteratively and integrated in approach building prototypes/proof of concepts with key SMEs/stakeholders in the loop with a SMART baseline of requirements that are categorized, risk analyzed, prioritized managing scope, costs, schedule/resources, risks, quality and direction.
     −
ref (diagrams are copies from ref)
+
1) https://ottawacitizen.com/news/national/defence-watch/canadian-surveillance-satellite-system-now-operational The data collection system -evolving 600 user stories (around 3000 derived requirements see page 75 https://buyandsell.gc.ca/cds/public/2013/05/29/be189bb4f50d214783a7d94d19a1364d/ABES.PROD.BK__XL.B100.E25308.EBSU000.PDF )  from key SMEs/stakeholders using focus groups, surveys, and continuous feedback.
 +
 
 +
2) https://ottawacitizen.com/news/national/rcmp-unveils-massive-border-security-project Evolving key scenarios to prove the concepts working with the field units empowering staff, adhering to the laws of each province, building small correcting mistakes quickly iteratively with prototypes  (Boeing failed https://www.zdnet.com/article/boeing-virtual-fence-30-billion-failure/)
 +
 
 +
3) https://www.defenseindustrydaily.com/canada-holland-order-17-sirius-shipboard-longrange-irst-sensors-updated-02183/ building iteratively with many prototypes/proof of concepts, with key SMEs in the loop and a good baseline of requirements (from defense research), with good
 +
people, tools, process (achieved CMMI level 5) with direction, commitment, goals, small builds. 
 +
 
 +
Plus others...
 +
 
 +
I have been on failed projects as well, mostly due to lack of SMART requirements as scope, costs, direction, quality and risks all over the place.  Requirements are critical, especially for mission-critical projects that evolve as a baseline. Build incrementally, iteratively and integrated in approach building prototypes/proof of concepts with key SMEs/stakeholders in the loop with a SMART baseline of requirements that are categorized, risk analyzed, traceable, and prioritized.  Managing scope, costs, schedule/resources, risks, quality and direction.
 +
Is there one size fits all, probably not.  It really depends upon the size, scope, complexity, the resources capability and capacity along with wisdom/experience/knowledge.  '''''''A bit of trial and error in some regards but learn well continuously.  No right answers just many answers.  It really depends really.''''''
 +
 
 +
ref (all diagrams are copies from ref materials)
 
https://www.pmi.org/learning/library/requirements-management-planning-for-success-9669
 
https://www.pmi.org/learning/library/requirements-management-planning-for-success-9669
 
https://www.modernanalyst.com/Resources/Articles/tabid/115/ID/5624/Requirements-Life-Cycle-Management-with-Azure-DevOps.aspx
 
https://www.modernanalyst.com/Resources/Articles/tabid/115/ID/5624/Requirements-Life-Cycle-Management-with-Azure-DevOps.aspx
97

edits