"25% of IT projects fail."
(International Data Corporation)
One of the major drivers behind a product configuration system, or CPQ
(configure, price, quote) system, is the need to handle complexity. The market
demands customized products, but it is a real challenge to offer
individualized products while keeping cost and lead times down.
The competition in the market demands mass customization, and
we need to find technical solutions to address this challenge.
Product configuration is therefore a promising and appropriate
starting point for any digitalization initiative within your
organization.
Due to the inherent complexity involved in selecting, combining, and
engineering products, product configuration is of special relevance
among the business support systems. Product configuration is also a
process which stretches across the most fundamental disciplines of a
company - from product design through sales, via engineering to
manufacturing and service.
Value analysis CPQ - what is in it for you?
Technology and tool evaluation
Standardization and modularization
Implementation based on standard tooling or custom application
Configuration technologies
Product modeling and description
Tool customization and software development
Integration and architecture
Tools: Tacton, CAS Merlin, Configit
Technologies: constraint-based, rule-based, compiled
Domains: energy, healthcare, manufacturing, telecom
Applications: sales, engineering, production, modernization
It turns out that product configuration is one of the oldest and most
successful applications of artificial intelligence. In this area it is
all about symbolic AI, in particular the use of logic programming.
Constraint-based approaches are very suitable for solving the kind of
complex problems related to product configuration and pricing.
When we hear of AI today it is much about the connectionist approach
where data and probabilities are utilized. Deep learning and random
forest are two preferred technologies we use for solving and
analysing problems based on probabilistic inference. These technologies can be
very powerful for using data to solve problems in business applications.
Evaluation of technologies
Data analysis
Education and trainings
Prototyping
Implementation
Deep learning based on FastAI / PyTorch
Random Forest and other analysis methods
Data analysis with Python or R
Data visualization
Logic programming
Unstructured data (e.g. classification)
Structured data (tabular)
Recommendation systems
Expert systems
Waterfall, Iterative, or Agile? Of course, we will definiteley
only use the agile approach to software development today. But please let us
not completely throw away the ideas of the "old" methodologies. For
example, systematic and thorough requirements engineering is as
relevant today as ever. When digitalization projects fail, what we
often observe is a lack of understanding for the requirements, the
domain, or even for the goals!
Agile is an extremely powerful way of ensuring rapid progress while
keeping the end user / customer in focus all the time. Working in
distributed teams makes the digital support for the project execution
essential. You need a deep understanding and extensive experience of
agile and SCRUM to bring your software project to a successful end - on
time and in budget!
General consulting on Agile Methodologies
Support for introduction and setup
Consulting on specific topics
Product owning
SCRUM-mastering
Agile project management
Scrum framework
Scoping, Requirements breakdown, Product backlog
Agile estimation and forecasting
SCRUM
Product ownership and product management
Agile project management
Scrum master
Virtual teams
Web development is a fast moving environment and it is easy to loose track.
In order not to make wrong decisions for the future it is necessary to stay on top and keep the overview.
There are many technologies and tools but what is the right for your task at hand?
A general rule is not to overdo things and pick the simplest tool for the task.
You need a homepage? Utilize the main free and fast resources around like W3schools.
Need a simple web shop? Have a look at WordPress.
If you need a more complex application there are many alternatives. Maybe first consider what you already are familiar with.
Our choice when no other constraints: Django + Vue.js
Guidance on technology and tools
Analysis and architecture recommendation
Prototyping and proof of concept
Implementation and customization
Integration with the system environment
Full-stack development
Web security
Web architecture
Technology and tools
Front-end: JavaScript, Vue.js, Angular
Backend: Python, Java, Django, Spring
Integration: REST, SQL, knowledge graphs
Hosting: AWS, heroku, Azure, CI / CD
Martin Fowler was quoted with saying
"You should use iterative development only on projects that you want to succeed", and this still holds true.
Unfortunately I see too often a lack of attention to the elaboration part of the iterative process of software development.
What does that mean? Jumping to solutions too quickly or missing your goals because the end-user view was not sufficiently understood.
Requirements analysis is needed also in an agile world. There is excellent tooling for integrated analysis and development.
For example I really like how Confluence and Jira play together to make our life easier.
For a successful requirements analysis, let our structured method help you ask the right questions, consider the right aspects, and build a solid base for your software project.
Project scoping and planning
Stakeholder analysis
Scenario and User Story generation
Requirements evaluation
Initial product backlog
Proven standard methodology
Tool expertise
Agile and iterative project management
Requirements engineering
Requirements management
Product management
Complex project situations
Stakeholder management
Various domain areas
The challenge of inventory management is that information is distributed on many systems, is difficult to access, and potentially wrong or missing.
If there is no end-to-end view of your inventory this leads to an inefficient use of existing resources.
Inventory management projects fail when integration costs rise unexpectedly and implementation timeframes are exceeded.
On the contrary, a successful and flexible inventory management means efficient usage of existing resources for best value of your assets.
When there is up-to-date information, there is also less re-work, and comprehensive planning is possible.
Assessment and planning
Process consulting
Architecture and design
Implementation support
Resource management
Cable and network management
Service management
Change management
Integration and data synchronization
Telecommunication network management
Corporate network asset management
Network planning and configuration
Research scientist, consultant, project manager, and business developer with 20+ years of experience from digitilization projects in the manufacturing industry. Many years of management and consulting for agile software projects with internationally distributed teams.
Deep expertise in a broad range of computer science / software engineering technologies, especially artificial intelligence (symbolic and connectionist), product configuration, and web development.
Various domain areas such as energy sector, telecommunication, manufacturing, industry automation, building technology, and healthcare. Consulting activities, particularly in the areas of product configuration, data science and machine learning.
Lets get in touch and talk about your challenge.