Engineering Puzzle

"Software Engineering" is the most complex puzzle in Software Delivery. Many organizations fail to understand the different pieces of the puzzle and in particular the complexity involved. Modern product development need a holistic approach to Software Engineering than just focusing on Architecture, Design, Coding And Testing. Understanding the different pieces of the puzzle and having the capability to unlock the complexity is a key differentiator for success.

engineering puzzle

Hidden Challenges

Many believe that making things work somehow and worry about making it better later is the easy choice to meet deadlines. They prefer to take shortcuts to avoid some of the initial configuration efforts and Engineering best practices. In most cases, this mindset will cost a lot to delivery in the form of quality issues, missed deadlines, and many more where the same team will have to struggle to resolve all of them.
Accumulating technical debt, unacceptable number of defects, productivity loss, significant rework, accessibility non-compliance, poor usability, unhappy customer?
Clueless errors in higher environments, very expensive to fix prod issues, unable to trace or troubleshoot end to end business transactions, no visibility into user’s usage patterns?
Takes ever to add new features, takes a long time to get a new engineer productive, spending significant effort to upgrade or change frameworks/tools?
Surprise performance issues, intermittent failures, app keeps crashing without graceful recovery?
Security issues identified too late, app vulnerable to cyber attacks, challenges to meet security compliance and standards?
Unstable environments, expensive rework, huge defect leakage, issues after every deployment and struggling with continuous delivery?
Do you experience that some of these aspects are considered as an after-thought?

The Invisible Quality

Quality is the aspect that nobody wants to compromise; be it a customer or a service provider. Because, quality defines the organization’s credibility. However, quality is never an accident. It needs a focused and skillful craftsmanship.
Every enterprise spends significant effort to achieve optimum quality. However, understanding the right areas of quality and channelizing the effort is going to help optimize cost of quality.
The visible quality issues is just the tip of the iceberg and addressing them is not sufficient. Knowing the invisible parts of quality is the key to optimize cost of quality.

Team Dynamics

" Coming together is a beginning. Keeping together is progress. Working together is success" - Henry Ford.

Having the right team makes the difference between success and failure.
There are many psychological forces that influence team’s performance and behavior. Understanding and handling these team dynamics is the most critical aspect of successful delivery.

Beyond Software Engineering

There are many forces beyond software engineering that influence the outcome of software delivery.
Having a strong Software Engineering process that complements overall delivery is one of the critical success factors.
1. DoR - Definition of Ready