Draft:Software Value Engineering

Software value engineering (SVE) is a discipline that employs agile methodology and an autonomous development approach to encourage and enable software engineering teams to focus on creating value to the customer.

History
The SVE concept was first crafted in Dynatrace as described in a blog post by Dynatrace CTO Bernd Greifeneder, [Bernd’s blog post title with link].

The SVE model draws on the work of Patty McCord, who wrote "Great teams are not created with incentives, procedures, and perks. They are created by hiring talented people who are adults and want nothing more than to tackle a challenge, and then communicating to them, clearly and continuously, about what the challenge is".

The SVE model also draws on the work of Niels Pflaeging, who emphasizes the need for coordination through lateral communication within and between self-organizing, value-creating teams (rather than through top-down coordination of rigid teams) to manage complexity.

From a complexity standpoint, SVE enables people to solve problems, where “Problem-solving in a living system is about communication.”

From a hiring standpoint, SVE sidesteps the perks arms race and instead motivates software engineers by offering them challenging goals based on actual value to the customer, the freedom to create teams in response to those goals, and enough autonomy to achieve those goals effectively.

Key to SVE is Greifeneder's "Autonomy Principle," which states that "Any person can make any decision, yet they must consult all of those who are impacted by the decision and get them onboard. This way, we constantly evolve and improve, and everyone can contribute"

SVE programming mindset
The success of SVE depends on hiring and developing engineers who have the mindset and abilities to thrive in an SVE environment.

People who write software have various job descriptions and titles, but, in ascending levels of skill and responsibility, they could be distinguished as follows:

1.       Programmer: someone who creates computer software. They can follow specifications, understand an algorithm, and write code reflecting the specifications and algorithm. Computer programming

2.       Software developer: someone who also has the ability to design and architect a software component, and to write the technical documentation for it (including specifications). From a technical standpoint, this person is capable of leading programmers if not necessarily leading a team. The focus is on the component level.

3.       Software engineer: someone who also has had formal training and experience in software engineering, and who is capable of designing a system (a combination of software components/modules that together form a complete software entity). The focus is on the system level.

SVE requires a fourth level: a software value engineer is able, enabled, and encouraged to work autonomously (with full communication and buy-in) within self-organizing teams, and works with an overriding focus on delivering value to the customer.

SVE model framework
The SVE framework has the following essential components. [footnote to Bernd’s blog post?]

Autonomous engineers
The SVE model is based on the belief that it isn’t benefits and procedures that motivate individuals and teams, but rather challenges, empowerment, feedback, and transparency of aims. The model requires engineers with the right mindset and skills: they need to think beyond their lines of code and welcome complex problems, work autonomously, challenge the status-quo, and drive change.

Flexible organizational structure
Because strict adherence to formal organizational structures can lead to frustrating and damaging inefficiencies, delays, and idle time, the SVE model requires an organization that empowers teams through self-organization, which supports fast growth while maintaining stability.

Well-defined culture
The organization needs to define and promote a culture that enables and reinforces SVE. Greifeneder identified five pillars of SVE culture: team, innovation, walk the talk, customer first, and integrity.

Value-oriented motivation
Within the SVE framework, engineers need to know the value, both to the customer and to the organization, of everything they do, and they need to know how their success is measured. A common purpose and goal are strong motivators for all contributors.

With the key components in place, a software organization can scale, collaborate, communicate, and innovate better than before.

The SVE model makes it possible to maintain a productive entrepreneurial approach while taming the complexities of continued growth and providing value to internal and external customers.

SVE and Value Engineering
The SVE framework is not related, neither is built on the traditional concept of Value engineering used in production and manufacturing. While the SVE framework has an overriding focus on delivering value to the customer, traditional value engineering is an effort to lower the cost of goods, products and services with a tolerable loss of performance or functionality. A more modern approach to value engineering can be observed in the design and construction industries, but it also tends to focus on achieving best project value by purposefully aligning program, design and cost.

Scaled Agile Interface
The Scaled Agile Interface is a set of guidelines and practices that help teams collaborate and communicate effectively while working on a single product. It includes mandatory and optional elements, such as roles, artifacts, events, and tools, to ensure alignment across the organization. The SAI is used within the research and development department. It includes additional resources such as SAI Essentials, Guides, and Examples that act as guidelines for applying the SAI and helping teams work efficiently.