Holistic Software Development is a free business process framework supporting simple, complicated and complex organistions involved in software develpoment. Visualized as a number of maps (the small picture and big picture), HSD combines Lean Portfolio, Programme and Project Management practices with agility, complex software practices and soft practices into the H-Model, HSD provides a standard proven framework that can be used to run diverse software enterprises.
HSD is about the business of doing software development, from strategy to architecture, team forming to business change. HSD achieves the scaling of lean and agile philosophy to the entire organisation..
Holistic Software Development is a philosophy and business process framework that combines agile software development with lean business management in a people-centric model. It’s holistic because it considers the whole, not because it pays attention to crystals and aromatherapy!
“Holistic Software Development is a complete understanding of the business of doing software development.”
HSD is a merged business and technical process framework. An extension of modern progressive business management and good governance, with the principles and spirit of the agile, lean and DevOps movements throughout HSD provides a recipe book to improve large complex organizations. Using parts of HSD, not to replace, but to compliment and join up your existing processes you can get the benefits of a slick flowing organization that embraces enterprise agility, scaling agile and lean concepts.
Using HSD makes your organization healthier, faster, cheaper and happier.
Based on decades of experience in building software and working with technology organizations, and mining the data from over 500 diverse software projects with these organizations, we recognized a need for taking a holistic approach to software development that combines the business and technical aspects. Too many organizations constrain their technical delivery teams with outdated business management processes (e.g. waterfall procurement around iterative teams). Too many organizations also feel that they can’t harness their technical delivery teams as well as they should – getting things done is like running through treacle.
We’ve worked as agile coaches, team leads, architects, project managers and strategic consultants, transformational business change consultants and more! Working across the whole of enterprise software development has given us a broad and detailed view of the issues in software development organizations.
Fixing these issues isn’t possible by only working with Project Managers, or only with development teams. An organization that iterates well at team level but doesn’t direct delivery work with meaningful strategy isn’t going to succeed. We need to address everything from strategy, to teaming, organizational design, workflow, quality, integration and business change to make the whole organization as good as it can be.
HSD provides a model to simplify the business of doing software development. Trying to do all of it is a mistake, it’s not an “all or nothing” process. HSD explicitly embraces the idea of doing different bits of work in different ways, there simply isn’t a one size fits all process. At the heart of HSD are the H-Model
and the hybrid dynamic model
The H-Model is a conceptual model that updates the classic V-Model of Software Development explaining the levels of decomposition and re-composition but blended with cyclic iterative concepts. We’ll cover it in some detail later. The hybrid dynamic model embraces variance in culture, ways of working, team structures, and lifecycles within a single cohesive organization.
Based on our experience of working with organizations spending hundreds of millions on software engineering we have developed a process framework that combines everything from strategic management, governance, portfolio and programme management to agile, iterative and continuous flow product delivery.
In line with our Principles and Manifesto
we don’t believe in process ideology and welcome processes and practices from Prince2, Lean, Scrum, Kanban, RUP or home-grown practices. Instead of reinventing several wheels we use the best elements and reasoning behind successful schools of thought such as traditional portfolio, programme & project management, Lean, Agile and DevOps genuinely focusing on people through psychology based team practices and business change.
In fact, we recommend the use of Scrum and Kanban for team based delivery. HSD is not yet another agile/lean framework although it embodies the spirit of those movements.
Holistic Software Development
is for organistions that do software
who need to understand modern software engineering in a business context
our solution is to present a big and small picture of software business based on a single underlying model, backed up with practical detail avoiding academic or heavyweight process documentation
that covers people issues, business strategy, portfolio, programme and project management as well as architecture, technical delivery and integration for a range of complexities
unlike simple small team based processes such as RUP, Scrum etc.
Holistic Software Development doesn’t replace the processes and practices that you already use, it simply provides the glue that combines them together into an elegant cohesive whole.
HSD IS DIFFERENT
Holistic Software Development isn’t like other process frameworks or guides. It doesn’t define roles*, artifacts, activities, meetings and rules. It doesn’t claim to be a silver bullet and explicitly isn’t a one-size-fits-all process.
We have built HSD based on our experience of working with small, large and complex organizations in both the private and public sector. As we travel on the journey to software mastery we conclude that rules are not important, but understanding is.
Don’t follow rules, create a common direction and unleash creativity.
Constantly improve and change, the rest of the world is.
This book, and the HSD material is provided to help accelerate other organizations on the journey towards mastery. We’ve had the opportunity to work with some really interesting clients, and some of the most complex systems in the world, this is where we share what we’ve learnt.
Our business changes are psychology based, we have a full-time psychologist on our staff to ensure that our practices have a sound basis in science.
* ok, so there’s 5 roles we talk about, but 2 of them are “Customer”
There is no exposed formal meta-model for HSD and we do not introduce endless initialisms and terminology. We’ve tried to describe the ideas in HSD using generally accepted terminology that is common in the software development industry. There are a few HSD specific terms, so here’s the entire glossary:
Variants of the HSD model expresses as pictures or maps showing how the various activities can fit together based on the H-Mode
An iterative alternative to the classic V-Model of software engineering
Holistic Software Development
A vertical, horizontal or ad-hoc slice through the HSD material focused on a particular topic
Problem, Opportunity, Feel Good, Look Good – Used when discussing Business Value
Holistic Software Development is based on the following principles:
HSD embraces the wisdom that can be found in agile software development practices, lean software, devops, and traditional project, programme, portfolio management, business management, governance and psychology based business change
HSD is not an ideological process framework – we welcome and need practices from numerous schools of thought, bodies of knowledge, established practices and standard processes
HSD is indicative, not prescriptive – we describe the kind of things that are likely to be required or considered by complex organizations not the things that must be done
HSD is intended to be a distillation of practical experience to provide a cohesive framework into which a variety of practices can fit
HSD only includes practices and approaches that have been proven successfully on real projects, teams and businesses
HSD aims to provide enough to cover the whole of a software focused business
HSD incorporates lessons learned from psychology to genuinely place people at the core of social business
HSD embraces the inherent value created by diversity of ideas, cultures and people
HSD is empirical and feedback based
Building on the agile manifesto, the Holistic Software Development manifesto is:
- Valuing individuals and interactions, encouraging collaboration, reducing layers of communication over processes, tools and hierarchy
- Valuing working software in the form of quality releases from short development cycles over comprehensive documentation, business analysis, enterprise architecture documentation
- Valuing customer, business, developer and operations collaboration over contract negotiation
- Valuing good governance, transparency and honesty in progress, plans, costs and impediments over regular reporting
- Valuing responding to change over following a plan at all levels of the business
HSD is focused on reducing unnecessary bureaucracy, reducing time to market and improving value.
Explore the model
The best way to navigate Holistic Software Engineering is from the Big Picture that shows how it all hangs together and describes flows through decomposition and integration indicating key activities and pieces of information. Parts of the image link to articles providing detail and recommendations.
Each article is tagged. By clicking on the tags at the bottom of the page you can find related articles or you can use the Search function to find articles by keyword. We also provide an index of all articles, note that sometimes articles are composites (or partial composites) of other articles.
Alternatively the Views (also available from the menu at the top of the page) provide specific vertical, horizontal and ad hoc descriptions of related material.
Explore the model by following what interests you.