The Nature of Software Development
eBook - ePub

The Nature of Software Development

Keep It Simple, Make It Valuable, Build It Piece by Piece

  1. 176 pages
  2. English
  3. ePUB (mobile friendly)
  4. Only available on web
eBook - ePub

The Nature of Software Development

Keep It Simple, Make It Valuable, Build It Piece by Piece

Book details
Table of contents
Citations

About This Book

The book describes software development, starting from our natural desire to get something of value. Each topic is described with a picture and a few paragraphs. You're invited to think about each topic; to take it in. You'll think about how each step into the process leads to the next. You'll begin to see why Agile methods ask for what they do, and you'll learn why a shallow implementation of Agile can lead to only limited improvement.

This is not a detailed map, nor a step-by-step set of instructions for building the perfect project. There is no map or instructions that will do that for you.

You need to build your own project, making it a bit more perfect every day. To do that effectively, you need to build up an understanding of the whole process.

This book points out the milestones on your journey of understanding the nature of software development done well. It takes you to a location, describes it briefly, and leaves you to explore and fill in your own understanding.

Seven Core Ideas for Effective Software Development
~~Ron Jeffries

From deciding what we want, down to programming it and getting it right, software development is very complex. And yet we do best when we can find simplicity in how we work.

In The Nature of Software Development, I have tried to focus relentlessly on the simple core of ideas that make up effective software development. You and I both know that it's not that simple, and that things will get complicated. But if we can keep these ideas in mind, they'll keep us grounded and help us build something of value.

Here are seven core ideas for effective software development:

Begin and end with a focus on value.
When we build a software product, we have some value in mind. Not just the money we'll make, but what we really want from the product, whether that's measured in laughs or lives. We'll think about what we value, and how to get a sense of what's more important and what's not so important at all.

Guide the product in terms of small slices of working software.
We create teams who are responsible for creating value. We make sure they understand what's needed and how much time is available. We guide them by observing what they actually build, not by examining schedules and promises. We build small slices of value, which we call "features."

Organize around the work to be done, with people who can do it.
We organize our teams around the features we need, with teams who can build everything needed. The focus on features lets us plan and build value rapidly. Organizing with good people and helping them build their skills gets the work done efficiently and well.

Plan in terms of features.
With teams in place and features in mind, we steer our projects by selecting which features to do next and which ones to defer. We produce highest value first, throughout the effort.

Build in terms of features.
Naturally, any product requires architecture and infrastructure. We build based on features, including the architecture and infrastructure we need as we go.

Slice features thinly.
We slice each desired capability down to the smallest possible value-bearing size. We build a capable product as early as possible, and then grow it and enhance it as the deadline approaches. Building highest value first, we are always ready to ship the best possible product.

Build quality in every day.
Throughout the effort, we apply all the necessary practices to ensure that we always have a good design, and that we are always as close to defect-free as possible. We build value continuously, sustainably, indefinitely.

Is that all there is to it? Certainly not! Software efforts are always complicated, always complex. By keeping our mind on the simple overall arc, with a focus on value expressed in small increments of value—features—we have the best chance of delivering a successful product.

The Nature of Software Development explains and explores this "circle of value, " but I've also included a dozen essays, expanding a bit more on topics of interest, and underlining the points of the first part of the book.

The Nature of Software Development is a small, simple book that offers a framework for thinking about your software project. In it, I've tried to tell you what I think about as I guide a project. The ideas have served me well, and I hope they'll do the same for you!

Frequently asked questions

Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes, you can access The Nature of Software Development by Ron Jeffries in PDF and/or ePUB format, as well as other popular books in Computer Science & Project Management. We have over one million books available in our catalogue for you to explore.

Information

Table of contents

  1. The Nature of Software Development