Delivering Valued Cost Effective Software
Today’s Delivery Challenges
We live in a rapidly changing world.
As most of the world is connected to each other by the Internet, information can be exchanged between people and businesses at a rate and at a volume never experienced in human history.
This has created new challenged for the delivery of the Technologies that supports and enables these exchanges of information.
Some of Today’s Software Delivery Challenges:
The rapidly changing business environment
Global competition for technology resources
Many customer’s “Now Time” demands for new features and functionality
The unacceptable latency of the traditional product delivery model
The lack of Customer feedback during the development stage
If a company wants to be a global player in their selected vertical market they must solve all of the above challenges.
The IBM article, “The 5 Biggest Challenges for Software & Systems Teams”, highlights the issues above based on the belief that Technology is the number one concern for most businesses.
Today’s Software Delivery World
… Requires a “Today’s” Delivery Model
Based on the Rapid Delivery of
… REAL Customer Valued Features
The Value Based Development and Delivery Model is predicated on the requirement for Rapid Time to Market based on the Requirements of the Customer NOT the perceived requirements of the Stakeholders.
By delivering Customer Value-defined Features
in short, iterative time frames using a structured
Closed-loop Digital Customer Engagement process
we can support the real needs of the Customer
Today’s Software Cost Challenges
The cost of developing and deploying Technology solutions has never been higher.
The business costs of NOT delivering quality functional Technology solutions are even higher.
Some of today’s software cost challenges:
The global imbalance of Technology labor rates
The protracted cost of long time to market delivery models
The inability to quantify software life cycle maintenance costs
A lack of a “Cost Watch” process to manage Technology expenses End-to-End
The escalating expense of self-hosted Technology environments
Successful planning of any business requires a complete projected business plan that understands the above issues.
A holistic approach for successfully changing a corporate environment is required to understand the changes in the Global Business Model.
There are three major forces at work when a company engages in a major revitalization initiative:
Business Transformation: Understanding the “Winds of Change”
Business Solutions: Implementation of a Corporate Technology Renaissance
Fiscal Responsibility: The “Cost Watch” Partnership with the CFO
The traditional software delivery model generally finds itself engaging the Chief Financial Officer (CFO) and the team that is responsible for cost management of an engagement as adversaries rather than allies.
A common sentiment:
“I have never found a CFO
that wanted to fund a Technology Project”
Fiscal Responsibility is the
… Responsibility of the Engagement Team
…… NOT the CFO and the Finance Team
It is our responsibility to work hand in hand with the finance department as partners.
We earn their respect and support through a well-defined and structured “Cost Watch” process.
This process reports that the company’s monies are being allocated responsibly throughout the entire engagement.
The Value Based Development Model honors this responsibility by making the finance team “First Class Citizens”.
The Cost Watch creates a transparent expense process for Senior Management during all phases of the Design, Development and Deployment process.
All Allocated Funds are Mapped
… To Value Defined Product Features
…… As Defined by a Real Customer
These mappings are created through a “Product Feature Value Assessment” process.
Cost Metrics are not an Afterthought
but a Vital Part of each Sprint Iteration Activity
through a Feature Value Assessment process
Traditional Development Models
The Waterfall Development Model
The traditional Waterfall Development Methodology places the importance of managing the Process of Delivering Software above the importance of the Delivering of Quality Software.
This is not a design intent, by any means, just the reality of the inherent sequential process of:
Establishing a Fixed Feature set
Creating Detail Designs
Developing these Designs with very rigid Change Constraints
Testing the resulting Product Features months after the Designs have been approved
Deploying the Product with minimum, if any, understanding of Business climate changes
This Model is no longer Viable in the
21st Century Global Business Environment!
The Agile Development Model
The traditional Agile Development Model, using “Sprint Iterations“, is a major improvement evolution from Waterfall.
The Agile Software Development Methodology, when implemented using short two-week Sprints, aggregate production-ready code into a Product Releases.
These Product Releases are generally months down the road.
The Traditional Agile Development Methodology
… Only solves some of the 21st century constraints of Waterfall
The delivery of Quality Production-ready Code supersedes the Agile process, but the product is not generally available to the Customer until the designated release date.
This latency is much shorter than the release date of a Waterfall Project but is still generally too long for a Global Company competing in “Internet Time“.
The Value Based Development Model
What we need is a new set of “Development Glasses“.
We need spectacles that allow us to experience the “New Vision” of what is most important, from a Business Perspective, in Software Development.
This “New Vision” is not really a New Vision
… It is a “New Priority Vision”
It is a documented fact that about 35%
of all developed Software Application features
are rarely, if ever, used by the Customer.
This is attributed to the fact that most Business Stakeholders understanding of what their Customer’s require is flawed due to a lack of direct Customer interaction.
There is not enough emphasis and funds allocated to truly understanding the business requirements of their customer base.
Software companies seem to expect their Customers
will adapt their needs to the feature set that is provided
On the surface this seems ridiculous, but if you look back on projects that you have been involved I am sure you will be able to recognize this trend.
The Value Based Development Model seeks to create a closed-loop, interactive “Digital Customer Engagement Model” that implements a “Rapid Time to Market” iterative release schedule.
This Value Based Development Release Schedule
is based entirely on Features Valued by the Customer
… Value Based Development is Predicated on
…… Developing the Minimum Viable Product
The VBD Trio: Timelines | Teams | Techniques
The Value Based Development process defines the Minimum Viable Product (MVP).
The MVP is the Top Requested Features
… As Prioritized by the Customer
That can be Delivered into Production
… Within a Single Two Week Sprint
These “Preview Releases” are evaluated by selected Customer focus groups. This interactive “Digital Customer Engagement” creates a “Closed-loop Iterative Customer Acceptance Process“.
Four Preview Release Iterations, with their change and feature requests comprise the “Quarterly Go Live Release” which is then available to all Customers.
There are three Go Live releases a year, Q1 through Q3
and there is no release in the fourth quarter.
The last quarter of the year is set aside for Customer interactions and the Development and Deployment Teams year’s retrospective.
In addition to a detailed look back on what worked and the challenges they faced, the fourth quarter is for planning the next year Q1 through Q3 development.
Digital Customer Engagement
The new world order of business is mandating a new marking order as well.
A new concept has made its way to the world’s largest businesses:
Digital Customer Engagement (DCE)
Accenture’s 2014 CMO Insights states that Chief Marketing Officers are struggling to take advantage of emerging Technology and the digital channels available for directly management of their customer’s expectations and satisfaction.
As stated in the survey:
“As every business becomes a digital business, C-suite executives will need to collaborate to drive successful digital transformation. No CMO wants to be left on the sidelines.”
Companies all over the world are addressing these fears will frameworks, architectures and products that support instant communication with their customers.
They are creating new ways that enable a much faster response to complaints along with requests for new features and functionality for deployed products.
Companies, such as Dimelo, in France and Germany, are addressing issues in these areas:
- Managing Customer Complaints
- Direct Customer Interactions for a better Quality of Experience (QoE) metrics
- Customer Service move from costly and ineffective customer hotlines to direct customer solutions
- Creating direct connections to customers by customer service agents
The key component in understanding the value of to the customer for features and functionality is a direct line of communications with the customer base.
The “Preview Releases” require fast response to issues and ideas that the new product features have introduced.
The “Closed-loop Iterative Customer Acceptance Process” is driven by DCE Mobile Applications on all three platforms, IOS, Android and Windows Phone.
These “Channels“create direct Digital Channels of communication targeted for interactive support of the new functionality deployed.
Value Based Development uses Mobile DCE Channels to Create
… Real-time Connections with Customers which Provides
Instant Value-driven Data for upcoming
… Sprints Iterative User Story Value Points
The Time Line | Preview & Go Live Releases
The timeline shows four teams and five Sprints that delivers as a Digital Customer Engagement Preview Release less than 30 days after the beginning if the engagement.
The Sprint Zero begins by creating the process, environments, teams and Minimum Viable Product Features based on “Value Points” that are mapped to “User Stories” as defined by the Customer Focus Teams.
The Sprint Backlog Priorities for Development are set by the “Value Points” that have been defined by the Customer Interactions, NOT the Stakeholders
Every two weeks, after the initial Preview Release, a new iterative Preview Release, with feedback from the Customer Focus Teams, is released for Minimum Value Assessment.
After the fourth Preview Release, the Quarterly “Go Live” release is finalized and deployed.
A New Sprint Zero begins validating changes to the process, environments, teams and features based on “Value Points” mapped to “User Stories” as defined by the Customer Focus Teams.
The Team | Fixed Team Model
This Sample Team Model implements over 30 Delivery Roles within a selected Specialty Skill Set Team consisting of only 6 Technologists organized into 5 Agile Teams.
The Seventh Role is a Client Product Owner
The color code shows shared responsibilities that require defined skill sets that cross teams for a lowered cost of implementation.
The Five Agile Teams:
The Business Team – Stakeholders, Cost Watch Master (Financial Team), Subject Matter Experts, Business Analysts, Agile Scrum Master, Agile Trainer, the Agile Product Owner and the Domain Specific Language Lexicon Master (Ubiquitous Language)
The Architect Team – Mobile Native, Application, Middleware and Data Persistence Architects
The Development Team – Mobile Native, Client-side Application, Middleware and Data Persistence Developers
The QA Team – End to End, QA Test Suites, Penetration, User Vulnerability and Performance Testing & Technical Writers
The Network Infrastructure Team – Continuous Integration, Cloud Environments, Release Management and Network Infrastructure Engineer
The Client Product Owner and the Six Technologist Skill Sets Requirements:
Business Domain Expert – This is the Product Owner Client role as the Subject Matter Expert
Cost Watch Master – TCO Metrics, Daily Development Burn Rate, Resource Cost Metrics, Infrastructure Cost Metrics and Resource Staffing Management
Principal Architect, Middleware & Data Persistence Developer – Agile Process Master, Scrum Master and Trainer, Middleware and Data Persistence Architect and Developer
Solutions Architect, Mobile Native & Web Developer – Android, IOS and Windows Native Application Architect and Developer, Client-side Application Architect and Developer
Mobile Native & Web Application Developer – Mobile Native and Web Application Specialist
QA Integration Tester, User Acceptance Test Engineer & Technical Writer – QA Integration and End to End Tester, QA Objective Test Suite Developer, Persistence, Penetration, and User Vulnerability Tester and Documentation Technical Writer
Continuous Integration Developer – CI Architect and Developer, Cloud Environment Developer and Management, Product Release and Infrastructure Technology Support Engineer
The Techniques | Process Flow
This process defines three flow lanes:
Defining the Minimum Viable Product (MVP)
The Mapping of User Story Points to Customer Defined Value Points
The Value based Development Process
The Digital Customer Engagement process returns the Customer expectations for a Viable Product.
This information creates a Minimum Viable Product feature set.
These features are assessment and given Feature Value Points that determine the Development Priority through the use of a Feature Prioritized Backlog.
The Feature Backlog is used to define the Product Backlog.
The Feature Value Points sets the development priorities for the upcoming Sprint iterations development.
The Feature, Product and Sprint Backlogs
… Are Groomed during and After each Sprint
….. Based on Interactions with the Focus Customer Groups
The primary goal of the value Based Development Model is to enable a small team of highly skilled and Specialized Technologists to deliver highly defined Customer valued products in a Rapid Time to Market deployment model.
Using a variation of a traditional Agile methodology a number of Agile issues are solved.
Teams are not subject to “Development Burnout” but a continuous release of New Product is guaranteed.
Closed Loop Processes are in place for interactions with Customers along with Quality Development Practices implementing Parallel Design, Develop, QA Testing and Deployment paths.
Costs are managed through a “Cost Watch” process
The minimum team requirements produce the highest level of productivity while maintaining Quality Assurance.
Team Technologists Roles implement Share Responsibilities among the Selected Skill Set Resources.
Product Delivery is predicated by
… Customer Defined Product Requirements
All Product Development is based on
… Real Customer Defined Value
A Synergistic Deployment Environment is created
by a small number of professional responsible for
clearly defined Customer Product Delivery Objectives
Wisdom Pearl # 122 – Open Your Mind to Possibilities
There are Generally a Hundred Ways to Accomplish some Task
… But Only a Handful of Good Ways
…… Have an Open Mind to the Other Possibilities