Please enable JavaScript.
Coggle requires JavaScript to display documents.
Continuous software engineering (Lean thinking (from Toyota) (Flow and…
Continuous software engineering
There are disconnects between phases like planning, analysis, design, development and deployment/implementation which need to become continuous
continuous integration exists already but argue for a more holistic approach that integrate development and business strategy
eg. finance and HR also need agile to agile software development properly
Dev ops about integrating development and its operational deployment
open source means projects often work from existing code and not from scratch
not discrete departments/teams and activities but continuous movement = flow from 'Lean Thinking' => 'Continuous' by authors
Also look at continuous use, continuous trust (since people are willing to switch to alternatives very quickly)
Trend in SE (why authors think Continuous is in demand)
Enterprise agile
scaling agile to enterprise level
enterprise agility = sensing and responding to change by firm
sensing through analytics, responding by adapting and delivering
DevOps
emerged to address disconnect between development and operations
culture of no longer throwing code 'over the wall' for operations but all taking responsbility
reliance on automation for fast delivery and feedback
measurement for understanding current capabilities and setting goals to improve
sharing knowledge, tools, infrastructure and successes to bring team closer together
Beyond Budgeting
improving traditional budget approaches cos time-consuming, infrequent, rigid and reinforces departmental barriers
advocates for customer- centric focus, systems thinking and self-organization and empowerment of people within an organization.
Lean startup
emphasises continuous learning
a process of experimentation
startups are those in high uncertainty so to reduce it, need to learn asap
eg. get people to click on features they want to know which features to develop; A/B testing
shortening time between marketing and delivering
Lean thinking (from Toyota)
shorten time between order and delivery
Value and waste (anything that doesn't add value is waste)
common in waterfall cos reqs always change
waste happens if there's no customer feedback
Flow and batch size
flow is opposite of batches of work
more about end to end (customer to delivery) than agile which focuses on development
short time for loading between machines, automatic ejection
Autonomation and building in quality
automation with a human touch cos includes monitoring (traffic lights for builds) and fool-proofing mechanisms like checklists
coding and architecture standards to prevent errors
Kaizen and continuous improvement
Kaizen for making incremental improvements to process
Continuous
Business strategy and planning
BizDev for connecting them to dev team
tighter connection between planning and execution
complements DevOps
authors argue for more business-oriented approach eg. having marketing involved earlier in development process and working at the same time
Continuous planning
planning is period currently
have open ended, dynamic plans that respond to changes
Continuous budgeting
yearly currently but should respond to changes
Development
CI
frequently automating compiling, running tests and building deployment packages
Continuous Delivery
continually deploying but not necessarily to end users (could involve user acceptance test first)
Continuous Deploiyment
always be ready for release to end users
Continuous Verification
verification not just at end
Continuous Testing
reduce time taken for detecting defects
automation/prioritisation of testing
Continuous Compliance
Continuous Security
Continuous evolution
architecture may need to evolve too
Operations
Continuous use
recognises initial use and continuous use are different
prioritises customer retention over attraction
Continuous trust
built up over time that vendor will act cooperatively
Continuous run-time monitoring
run-time behaviours monitored to correct unwanted behaviour
blurring of design-time and run-time research
Improvement and Innovation
Continuous Improvement
eliminate waste
incremental improvement
Continuous Innovation
responsive to evolving market conditions
Continuous Experimentation
constant experiments with stakeholders
Build-Measure-Learn cycles
Challenges
Some contexts make it harder eg. planes software, telecommunications with legacy system
Organisation resistance - needs a leader who'll take responsibility for the change and its consequences
Bought components
Value on speed when speed may lead to waste - speed is meaningless without continuity and performance
Innovation and creativity may require more abrupt changes