Many organisations rely on strategic systems that are becoming harder and harder to maintain. The company is unhappy because features are taking longer to be built and they cannot react fast enough to market demands. Developers are unhappy because the code is messy and negatively affects their productivity. Testers are unhappy because of the volume of work and the impossible task of guaranteeing the quality of the software. Clients are becoming disenchanted because of the lack of quality and low frequency of updates. Strategic software cannot become a burden to the organisation – they need to remain strategic and continuously enable business agility. In this talk, Sandro will describe a strategic approach to software modernisation that allows business and technology to work together towards a common goal.
The collaboration between business and technology while building digital products is still not as close as it should be. This lack of close collaboration and common understanding that product and software design mutually impact each other leads to badly designed systems that can constrain business evolution.
In this talk, Codurance co-founder Sandro presents helpful techniques on how a more collaborative way of working can be achieved, in order to align product and software design.
Link to the video: https://www.youtube.com/watch?v=PGsW9qFb-_M
The video was recorded at SCLConf 2019, an annual conference for software professionals that care about their craft. Learn more about SCLConf at https://sc-london.com/
https://twitter.com/SCLConf
Tricon Infotech Pvt Ltd offers IT Services & Outsourcing, offshore software
development, software outsourcing, outsource solutions, web development.
Tricon infotech can help you with your software development, Project
Management, or System Architecture projects. The engineers at Tricon Infotech
each have decades of experience satisfying customers. We are availible for
Software development, Maintenance and support services, Product Re-
Engineering and Product Co-development We have some of the best experts
around in many different technologies, most likely in the area you need. We are
expertise in various vertical markets such as:
® Social Networking
® Travel
® Education.
®Healthcare
®Manufacturing
®Retail Management
®Insurance&Finance
®Media/Entertainment
Tricon Infotech guarantees
Hightest quality software
Low failure rates
High customer satisfaction
Reasonable rates
This guarantee is delivered via agile development techniques, including Test
Driven Development, short cycle times, and high customer involvement
The collaboration between business and technology while building digital products is still not as close as it should be. This lack of close collaboration and common understanding that product and software design mutually impact each other leads to badly designed systems that can constrain business evolution.
In this talk, Codurance co-founder Sandro presents helpful techniques on how a more collaborative way of working can be achieved, in order to align product and software design.
Link to the video: https://www.youtube.com/watch?v=PGsW9qFb-_M
The video was recorded at SCLConf 2019, an annual conference for software professionals that care about their craft. Learn more about SCLConf at https://sc-london.com/
https://twitter.com/SCLConf
Tricon Infotech Pvt Ltd offers IT Services & Outsourcing, offshore software
development, software outsourcing, outsource solutions, web development.
Tricon infotech can help you with your software development, Project
Management, or System Architecture projects. The engineers at Tricon Infotech
each have decades of experience satisfying customers. We are availible for
Software development, Maintenance and support services, Product Re-
Engineering and Product Co-development We have some of the best experts
around in many different technologies, most likely in the area you need. We are
expertise in various vertical markets such as:
® Social Networking
® Travel
® Education.
®Healthcare
®Manufacturing
®Retail Management
®Insurance&Finance
®Media/Entertainment
Tricon Infotech guarantees
Hightest quality software
Low failure rates
High customer satisfaction
Reasonable rates
This guarantee is delivered via agile development techniques, including Test
Driven Development, short cycle times, and high customer involvement
New Software Development Proposal PowerPoint Presentation SlidesSlideTeam
If your company needs to submit a New Software Development Proposal PowerPoint Presentation Slides look no further. Our researchers have analyzed thousands of proposals on this topic for effectiveness and conversion. Just download our template, add your company data and submit to your client for a positive response. https://bit.ly/3665dhN
This is a small presentation about Agile software development. I'm talking about Agile Manifesto and Values of Agile Manifesto that you can find here: https://agilemanifesto.org/
Video version of this presentation is available here:
https://youtu.be/UtWRfw8BmDo
I'll appreciate it if you leave a comment with an example of using Agile Manifesto values in your work.
Thank you!
Most of the agile framework focus on delivery part and provide no guidance on project initiation part. What are right questions to ask when we are in very first meeting with the sponsor? How to guide the sponsor through a process of converting high level business idea into a vision and go about chartering exercise? How to effectively conduct project initiation workshop and start with a discovery exercise that sets the scene for a project and produces an initial backlog? These are some of the concerns addressed in this presentation.
Agile Software Development
Not being too attached to your initial idea of what the project will look like and to be ready for change and to refactor.
Agile software engineering combines a philosophy and a set of development guidelines.
To be agile you need to put the agile values and principles into practice.
Personally designed (content + graphics design), officially accredited AgilePM® V2 (Agile Project Management V2) Foundation courseware.
AgilePM® is a Registered Trade Mark of Dynamic Systems Development Method Limited.
Trademarks are properties of the holders, who are not affiliated with courseware author.
Agile management, or agile process management, or simply agile refers to an iterative, incremental method of managing the design and build activities of engineering, information technology and other business areas that aim to provide new product or service development in a highly flexible and interactive manner; an example is its application in Scrum, an original form of agile software development.
Agile project management is an iterative method of determining requirements for engineering and information technology development projects in a highly flexible and interactive manner. One difference between agile and iterative development is that the delivery time in agile is in weeks rather than months. Both iterative and Agile methodologies were developed as a reaction to various obstacles that developed in more traditional project management. For example, as technology projects grow in complexity, end users tend to have difficulty defining the long term requirements, without being able to view progressive prototypes. Projects that develop in iterations can constantly gather feedback to help refine those requirements.
An overview of the Agile Manifesto and the principles and practices that define Agile software development. A comparison of Agile Development methodologies and an organisational culture that supports them
In systems engineering and software engineering, requirements analysis encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product or project, taking account of the possibly conflicting requirements of the various stakeholders, analyzing, documenting, validating and managing software or system requirements.
Agile methodology is a framework for modern software development.
What is the philosophy behind Agile?
How does it differ from traditional project management strategies like waterfall?
What are the stages, meetings, tools, and team roles?
What is Scrum?
Des serveurs créés pour vos usages specifiques, vous en avez reve HP l'a fait.Microsoft Technet France
Session HP: Maximisez vos performances et votre réactivité avec les dernières générations de support et ne craignez plus de faire un cauchemard sur la fin de support Windows 2003, HP vous accompagne dans ces transformations.
Des serveurs créés pour vos usages specifiques, vous en avez reve HP l'a fait.Microsoft Décideurs IT
Session HP: Maximisez vos performances et votre réactivité avec les dernières générations de support et ne craignez plus de faire un cauchemard sur la fin de support Windows 2003, HP vous accompagne dans ces transformations.
New Software Development Proposal PowerPoint Presentation SlidesSlideTeam
If your company needs to submit a New Software Development Proposal PowerPoint Presentation Slides look no further. Our researchers have analyzed thousands of proposals on this topic for effectiveness and conversion. Just download our template, add your company data and submit to your client for a positive response. https://bit.ly/3665dhN
This is a small presentation about Agile software development. I'm talking about Agile Manifesto and Values of Agile Manifesto that you can find here: https://agilemanifesto.org/
Video version of this presentation is available here:
https://youtu.be/UtWRfw8BmDo
I'll appreciate it if you leave a comment with an example of using Agile Manifesto values in your work.
Thank you!
Most of the agile framework focus on delivery part and provide no guidance on project initiation part. What are right questions to ask when we are in very first meeting with the sponsor? How to guide the sponsor through a process of converting high level business idea into a vision and go about chartering exercise? How to effectively conduct project initiation workshop and start with a discovery exercise that sets the scene for a project and produces an initial backlog? These are some of the concerns addressed in this presentation.
Agile Software Development
Not being too attached to your initial idea of what the project will look like and to be ready for change and to refactor.
Agile software engineering combines a philosophy and a set of development guidelines.
To be agile you need to put the agile values and principles into practice.
Personally designed (content + graphics design), officially accredited AgilePM® V2 (Agile Project Management V2) Foundation courseware.
AgilePM® is a Registered Trade Mark of Dynamic Systems Development Method Limited.
Trademarks are properties of the holders, who are not affiliated with courseware author.
Agile management, or agile process management, or simply agile refers to an iterative, incremental method of managing the design and build activities of engineering, information technology and other business areas that aim to provide new product or service development in a highly flexible and interactive manner; an example is its application in Scrum, an original form of agile software development.
Agile project management is an iterative method of determining requirements for engineering and information technology development projects in a highly flexible and interactive manner. One difference between agile and iterative development is that the delivery time in agile is in weeks rather than months. Both iterative and Agile methodologies were developed as a reaction to various obstacles that developed in more traditional project management. For example, as technology projects grow in complexity, end users tend to have difficulty defining the long term requirements, without being able to view progressive prototypes. Projects that develop in iterations can constantly gather feedback to help refine those requirements.
An overview of the Agile Manifesto and the principles and practices that define Agile software development. A comparison of Agile Development methodologies and an organisational culture that supports them
In systems engineering and software engineering, requirements analysis encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product or project, taking account of the possibly conflicting requirements of the various stakeholders, analyzing, documenting, validating and managing software or system requirements.
Agile methodology is a framework for modern software development.
What is the philosophy behind Agile?
How does it differ from traditional project management strategies like waterfall?
What are the stages, meetings, tools, and team roles?
What is Scrum?
Des serveurs créés pour vos usages specifiques, vous en avez reve HP l'a fait.Microsoft Technet France
Session HP: Maximisez vos performances et votre réactivité avec les dernières générations de support et ne craignez plus de faire un cauchemard sur la fin de support Windows 2003, HP vous accompagne dans ces transformations.
Des serveurs créés pour vos usages specifiques, vous en avez reve HP l'a fait.Microsoft Décideurs IT
Session HP: Maximisez vos performances et votre réactivité avec les dernières générations de support et ne craignez plus de faire un cauchemard sur la fin de support Windows 2003, HP vous accompagne dans ces transformations.
Building Your Own Modernization Roadmap - Emmanuel TzinevrakisFresche Solutions
Building Your Own Modernization Roadmap, presented by Emmanuel Tzinevrakis, VP Services at Fresche.
Presentation topics:
■ Value of Your IBM i
■ Business Value Creation
■ Modernization Strategies
■ Planning Your Modernization
■ How to Get Started
[WSO2Con USA 2018] Winning Strategy For Enterprise Integration to Empower Dig...WSO2
This slide deck explores how a leading publisher's (Macmillan Learning) digital journey was enabled by the WSO2 platform.
Watch video: https://wso2.com/library/conference/2018/07/wso2con-usa-2018-winning-strategy-for-enterprise-integration-to-empower-digital-transformation/
There are many challenges that are faced by the business world today on how to manage your business goals and strategies in a market that is both dynamic and moves very quickly. Within both the technology and business sectors change is constant and the question that one asks is how do you manage this effectively. This presentation shows how a digital project may be managed
Continuous Delivery Operating Model for Entertainment Video Providers: Buildi...Cognizant
To compete with digital streaming natives, established entertainment video providers need to build a streamlined, waste-free pipeline for rapid software delivery. We recommend an integrated approach to the four types of change needed: culture, process, engineering practices and platforms.
The Fundamentals Of BPM Innovation In TelecommunicationsNathaniel Palmer
Review the fundamentals of embracing BPM in the telecommunications industry. This session will identify goals, obstacles, strategies, and the rewards of embracing BPM. Examples from KT Freetel Co. Ltd., Korea’s
second largest mobile communications company are highlighted throughout the presentation.
An agile based software development approach offers many advantages of an iterative and fast-paced process. However, customers often find themselves at crossroads when it comes to choosing a specific adoption path. Organizational culture and mindset are critical to the success of distributed agile projects. Enterprises need the right partner who can address all of these and deliver projects efficiently.
Developing a Modernization Strategy: Evaluating the Options by Chris KoppeFresche Solutions
Chris Koppe, VP of Corporate Strategy at Fresche Legacy presented Developing a Modernization Strategy: Evaluating the Options during iBelieve 2015.
This presentation covers:
- Modernization strategies
- Establishing goals and objectives
- Strategy definition
- Planning
- Getting funding and support
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
In the engineering sector, mastering the intricacies of project management demands innovative solutions. This webinar explores the integration of AI into project planning for engineering, tackling both immediate challenges in planning and execution while also setting the stage for unprecedented efficiency and quality. With a spotlight on practical applications, we’ll explore strategies for harnessing AI to optimize resource distribution, ensure precise time management, and elevate project quality. Discover how adopting a technology-forward approach, exemplified by platforms like OnePlan, can transform project outcomes, enhance team collaboration, and boost overall profitability without sacrificing the high standards engineering projects require.
For a few decades, one of the most common approaches to software design is to first focus on the domain model (application layer), then persistence (data layer) and finally the user interface (presentation layer). But what are the pros and cons of this approach? Are there other alternatives? Are they viable? In this presentation, Sandro will be talking about different design biases and the impact they have. He will then focus on Outside-In Design, explaining how our domain model can emerge and evolve when driven by the needs of external systems or users, avoiding speculation and wasted effort.
https://www.youtube.com/watch?v=rbSDGr-_UwY
This video was recorded at SCLConf 2018, an annual conference for software professionals that care about their craft. Learn more about SCLConf at sc-london.com
(IMPROVED VERSION FROM GEECON)
How can we quickly tell what an application is about? How can we quickly tell what it does? How can we distinguish business concepts from architecture clutter? How can we quickly find the code we want to change? How can we instinctively know where to add code for new features? Purely looking at unit tests is either not possible or too painful. Looking at higher-level tests can take a long time and still not give us the answers we need. For years, we have all struggled to design and structure projects that reflect the business domain.
In this talk Sandro will be sharing how he designed the last application he worked on, twisting a few concepts from Domain-Driven Design, properly applying MVC, borrowing concepts from CQRS, and structuring packages in non-conventional ways. Sandro will also be touching on SOLID principles, Agile incremental design, modularisation, and testing. By iteratively modifying the project structure to better model the application requirements, he has come up with a design style that helps developers create maintainable and domain-oriented software.
How can we quickly tell what an application is about? How can we quickly tell what it does? How can we distinguish business concepts from architecture clutter? How can we quickly find the code we want to change? How can we instinctively know where to add code for new features? Purely looking at unit tests is either not possible or too painful. Looking at higher-level tests can take a long time and still not give us the answers we need. For years, we have all struggled to design and structure projects that reflect the business domain.
In this talk Sandro will be sharing how he designed the last application he worked on, twisting a few concepts from Domain-Driven Design, properly applying MVC, borrowing concepts from CQRS, and structuring packages in non-conventional ways. Sandro will also be touching on SOLID principles, Agile incremental design, modularisation, and testing. By iteratively modifying the project structure to better model the product requirements, he has come up with a design style that helps developers create maintainable and domain-oriented software.
Complementary slide deck for my hands-on coding session on testing and refactoring legacy code.
Code can be found here: https://github.com/sandromancuso/trip-service-kata
How much do we know about Object-Oriented Programming?Sandro Mancuso
This talk goes through many of the Object-Oriented Programming principles and characteristics. Things that all developers should have in mind while writing code.
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
E-commerce Application Development Company.pdfHornet Dynamics
Your business can reach new heights with our assistance as we design solutions that are specifically appropriate for your goals and vision. Our eCommerce application solutions can digitally coordinate all retail operations processes to meet the demands of the marketplace while maintaining business continuity.
Zoom is a comprehensive platform designed to connect individuals and teams efficiently. With its user-friendly interface and powerful features, Zoom has become a go-to solution for virtual communication and collaboration. It offers a range of tools, including virtual meetings, team chat, VoIP phone systems, online whiteboards, and AI companions, to streamline workflows and enhance productivity.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
Do you want Software for your Business? Visit Deuglo
Deuglo has top Software Developers in India. They are experts in software development and help design and create custom Software solutions.
Deuglo follows seven steps methods for delivering their services to their customers. They called it the Software development life cycle process (SDLC).
Requirement — Collecting the Requirements is the first Phase in the SSLC process.
Feasibility Study — after completing the requirement process they move to the design phase.
Design — in this phase, they start designing the software.
Coding — when designing is completed, the developers start coding for the software.
Testing — in this phase when the coding of the software is done the testing team will start testing.
Installation — after completion of testing, the application opens to the live server and launches!
Maintenance — after completing the software development, customers start using the software.
Utilocate offers a comprehensive solution for locate ticket management by automating and streamlining the entire process. By integrating with Geospatial Information Systems (GIS), it provides accurate mapping and visualization of utility locations, enhancing decision-making and reducing the risk of errors. The system's advanced data analytics tools help identify trends, predict potential issues, and optimize resource allocation, making the locate ticket management process smarter and more efficient. Additionally, automated ticket management ensures consistency and reduces human error, while real-time notifications keep all relevant personnel informed and ready to respond promptly.
The system's ability to streamline workflows and automate ticket routing significantly reduces the time taken to process each ticket, making the process faster and more efficient. Mobile access allows field technicians to update ticket information on the go, ensuring that the latest information is always available and accelerating the locate process. Overall, Utilocate not only enhances the efficiency and accuracy of locate ticket management but also improves safety by minimizing the risk of utility damage through precise and timely locates.
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
Launch Your Streaming Platforms in MinutesRoshan Dwivedi
The claim of launching a streaming platform in minutes might be a bit of an exaggeration, but there are services that can significantly streamline the process. Here's a breakdown:
Pros of Speedy Streaming Platform Launch Services:
No coding required: These services often use drag-and-drop interfaces or pre-built templates, eliminating the need for programming knowledge.
Faster setup: Compared to building from scratch, these platforms can get you up and running much quicker.
All-in-one solutions: Many services offer features like content management systems (CMS), video players, and monetization tools, reducing the need for multiple integrations.
Things to Consider:
Limited customization: These platforms may offer less flexibility in design and functionality compared to custom-built solutions.
Scalability: As your audience grows, you might need to upgrade to a more robust platform or encounter limitations with the "quick launch" option.
Features: Carefully evaluate which features are included and if they meet your specific needs (e.g., live streaming, subscription options).
Examples of Services for Launching Streaming Platforms:
Muvi [muvi com]
Uscreen [usencreen tv]
Alternatives to Consider:
Existing Streaming platforms: Platforms like YouTube or Twitch might be suitable for basic streaming needs, though monetization options might be limited.
Custom Development: While more time-consuming, custom development offers the most control and flexibility for your platform.
Overall, launching a streaming platform in minutes might not be entirely realistic, but these services can significantly speed up the process compared to building from scratch. Carefully consider your needs and budget when choosing the best option for you.
2. Software Modernisation: a strategic approach
What is Software modernisation?
Software modernisation is the continuous
process of improving strategic systems in
order to increase business agility.
3. Why do we fail to
make a case for it?
Software Modernisation: a strategic approach
5. Software Modernisation: a strategic approach
Sustainable Change Innovation Leveraging Technology
Business Alignment People & Culture Risk Management
Common drivers for Software Modernisation
6. Business drivers for software modernisation
Driver 1:
Sustainable Change
How:
Stable and repeatable release processes; Continuous
Delivery; Automated delivery pipelines; Test
automation at multiple levels; Test-Driven
Development; Clean Code; Modular architecture; XP
practices; DevOps
Business can move only as fast as
we can deliver quality software
Sustainable
Change
Innovation
Leveraging
Technology
Business Alignment People & Culture Risk Management
Business goals:
● Reduce lead time
● Reduce cost of change
● Frequent and safer releases to production
● Reduce technical debt
● Reduce defect rate
7. Business drivers for software modernisation
Driver 2:
Innovation
How:
Contained experiments; Design thinking; Lean
startup; User research; Cloud enablement; Big data;
A/B testing; Analytics; Feature flags
Business goals:
● Stay competitive
● Easy to experiment
● Data-driven decisions
● Fast feedback
Sustainable Change Innovation Leveraging
Technology
Business Alignment People & Culture Risk Management
Continuous innovation is only possible when
supported by well-designed and flexible software
8. Business drivers for software modernisation
Driver 3:
Leveraging Technology
How:
Cloud native; Serverless architecture; 3rd party
integration; Containerisation; Elastic scaling; Security;
Automation; Infrastructure-as-code; Managed
databases; Modern frameworks; Modular architecture
Business goals:
● Effectiveness and productivity
● Competitive advantage
● Cost reduction
● Technology refresh
● Mitigation against end-of-life
Sustainable Change Innovation
Leveraging
Technology
Business Alignment People & Culture Risk Management
Leveraging technology should be straightforward
and not a scary prospect
9. Business drivers for software modernisation
Driver 4:
Business Alignment
How:
Eliminate silos; Aligning teams to strategic business
goals; Align architecture to business areas;
Ubiquitous language; Domain Driven Design
Business goals:
● Technology led business evolution
● Faster quality feedback
● Closer collaboration
● Embrace change
Sustainable Change Innovation
Leveraging
Technology
Business
Alignment
People & Culture Risk Management
Achieving business goals is much easier when
technology and business are aligned
10. Business drivers for software modernisation
Driver 5:
People & Culture
How:
Attractive technologies; Training; Coaching and
mentoring; Internal communities of practice;
Involvement in external communities
Business goals:
● Talent retention and attraction
● Staff development
● Culture of learning
● Leadership at all levels
● Team autonomy
Sustainable Change Innovation
Leveraging
Technology
Business Alignment
People &
Culture
Risk Management
A healthy and modern technology ecosystem is
key to develop, attract, and retain talent
11. Business drivers for software modernisation
Driver 6:
Risk Management
How:
Isolation and tighter control of critical areas of the
system; Strategic approach to regulatory compliance,
security, monitoring, auditing and logging;
Operational effectiveness and cost control; Site
Reliability Engineering (SRE)
Business goals:
● Real-time system intelligence
● System observability
● Security & Compliance
● Operational excellence
● Reduce mean time to recover
Sustainable Change Innovation
Leveraging
Technology
Business Alignment People & Culture
Risk
Management
Risk management, operational excellence,
security, and compliance must be done by design,
not as an afterthought
12. Software Modernisation: a strategic approach
Drivers for Software Modernisation Summary
Sustainable Change Innovation Leveraging Technology
Business Alignment People & Culture Risk Management
14. Software Modernisation: a strategic approach
Common impediments for Software Modernisation
Lack of time Lack of money Lack of skills
Overwhelmed by
problems
Don’t know where
to start
Fear of increasing
risk
Burned by failed
attempts
Disruption of
business as usual
Cannot convince
the business
Lack of capacity
Lack of
technical vision
16. Software Modernisation: a strategic approach
Software Modernisation Principles
Big vision,
small increments
Minimal business
disruption
Excellence within
pragmatic solutions
Law of
diminishing returns
If ain’t broke,
don’t fix it
Value-driven
increments
20. Software Modernisation: business alignment
Strategic value
● Cost reduction
● Preparing for future changes
● Compliance with regulations
● Risk management
● Support business demand
Inefficiencies
● Long release cycle
● Bad performance
● Difficult to test and maintain
● Multi-team hotspot
● High number of bugs
● Legacy technology
Focusing the Software Modernisation initiative
Selecting areas by:
Experimentation
● Proof of Concept
● Exemplar project
● Prototype
21. Software Modernisation: business alignment
Main features
Shared understanding of the existing solution
Pain points
Desired improvements Path to production (VSM)
23. Goal
Actor 1
Impact 1
Deliverable 1
Deliverable 2
Impact 2 Deliverable 3
Actor 2
Impact 3
Deliverable 4
Deliverable 5
Impact 4
Deliverable 6
Deliverable 7
Business vision and direction Milestone goals and strategy Prioritisation and distribution
Portfolio management Impact mapping Backlog management
Software Modernisation: business alignment
Business vision, strategy and priorities
24. Software Modernisation: business alignment
Business constraints
● External deadlines
● Internal deadlines
● Money
● SLAs
● Regulations
● Certifications
● Lack of skills
● Company structure
● ...
It’s important to differentiate immovable
constraints from made-up constraints.
25. Software Modernisation: business alignment
Business OKRs, KPIs
and Metrics
● Cost reduction
● Sales increase
● Market share
● Customer acquisition
● Customer retention
● Work efficiency
● SLAs
● Regulation compliance
● Reduce lead time
26. Credit: Forsgren PhD, Nicole. Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations
*It was found that low performers were lower on average (at a statistically significant level), but had the same median as the medium performers
Software Modernisation: business alignment
Metrics for successful software delivery organisations
High Performers Medium Performers Low Performers
Deployment Frequency On-demand
(multiple deploys per day)
Between once per week
and once per month
Between once per week
and once per month*
Lead Time Less than one hour
Between one week and
one month
Up to Many Months
Mean Time To Restore Less than one hour Less than one day
Between one day and
one week
Change Failure Rate 0-15% 0-15% 31-45%
28. Detailed design of
prioritised areas
Main business flows and
respective components
Overall architecture
Software Modernisation: technical alignment
Understanding the existing technical solution
29. Software Modernisation: technical alignment
Shared understanding of the existing solution
Pain points Desired improvements
Technical constraints Modernisation risks
30. Software Modernisation: technical alignment
Technical constraints
● Multi-instance vs multi-tenant
● Operational maturity
● Data location
● Regulations
● SLAs
● Technology investment
● Volume of data or transactions
● On-premise installations
● Existing technical direction
● Skills set
● ...
32. Software Modernisation: technical vision
Creating a technical vision
● Architecture
● Technology
● Testing
● Deployment
● Production environment
● Modularisation
● Team ownership
● ...
Technical vision
is a direction, not a
plan. It is also a
moving target.
33. Software Modernisation: technical alignment
The technical vision should take into account:
Business vision
and strategy
Business
constraints
Business
priorities
Business goals
(OKRs,KPIs,Metrics)
Pain points
Desired
improvements
Technical
constraints
Inefficiencies
36. Software Modernisation: technical strategy
Prioritising technical strategy by:
Functional areas New features Business flows Usability
Technical
components
Code hotspots Operational aspects Technical debt
37. Software Modernisation: technical strategy
Modernisation techniques and architecture
Modular
monolith
Monolith to
microservices
Strangler fig
Frontend/backend
separation
UI-based flow
orchestration
Operational
requirements
segregation
Data ownership
segregation
Code
refactoring
38. Incremental approach to modularisation
Vision
Modularising key functional areas enables continuous delivery of value
By isolating key functional areas of the system, we can scale to meet increasing
demand and release features to support new opportunities
Entangled system Improvements in key areas Isolation of key areas Stable and independent areas
Current Situation
39. Software Modernisation: technical strategy
Key advantages of modularisation
Reduced
cognitive load
Easy to build fast and
reliable automated tests
Enable continuous
delivery
Strategic and gradual
improvements
Easy parallelisation of work
across teams
Localised and
safer changes
40. Software Modernisation: technical strategy
Architectural modules
A well-designed system is composed by loose-coupled and cohesive modules.
● Group of Services
● Services
● Libraries
● Components
● Packages/namespaces
42. Software Modernisation: implementation strategy
Implementation
strategies
● Dedicated team
● Specialised team
● Unified backlog prioritised by value
● Embedded specialists
● 20% improvements
● Dedicated individuals per iteration
● Time-boxed improvements
43. Software Modernisation: implementation strategy
Modernisation
roadmap
● Incremental approach
● Roadmap and milestones
● Iterative development
● Run as a project
● Continuous delivery
44. Software Modernisation: a strategic approach
Summary: a strategic approach to Software Modernisation
1. Business Alignment 2. Technical Alignment
3. Technical
Vision
4. Technical Strategy
5. Implementation
Strategy