Short version
Is there a book which describes things which are related to the daily work of a developer, the organization, the workflow, how the project is managed, etc., something which will describe every state of a project from the requirements to the release and maintenance?
Long version
There is a huge amount of books dedicated to a single meta-development subject:
Project management: functional/non functional requirements, WBS, SOW, Gantt charts, etc.
Testing and QA: unit testing, integration testing, system testing; who are testers? why a developer cannot test his own code?
Version control: why do we care? How to use it? What is branching and merging?
Bug tracking system: how is it working? How bugs and release versions are tracked?
ITIL: what's that?
ISO: when do you have to conform to ISO standards? What are the most important ISO standards in software development industry?
Good practices; style guidelines: why do we care? How do we choose one style over another in a team?
Documentation: why do you need documentation? What are the different types of documentation? How to write good documentation? What if it becomes constantly obsolete really fast?
Deployment: how the software is deployed? What is staging environment and how is it different from development or from production?
etc.
It is essential to have a general idea of each of those subjects in order to work in some companies. For example, you may ignore the difference between branching by rule and branching by exception, but you must know the difference between commit and update. You may not know very well what is a non-functional requirement, but you have to know that before starting a project, there must be a list of requirements describing the project. You may not know that ISO 9000 family is related to quality management systems, but you have to know that there is such a thing as ISO certifications.
The problem is that either you have to spend a few years of your life reading tons of books about every subject, or you don't have this opportunity, and don't know nearly anything about those subjects unless you have an opportunity to work in a large company in USA¹.
This makes me wondering if there is a single book which covers all those subjects, giving an overall view of the software development process.
Why do I need this? For two reasons:
I talk a lot to people who want to be software developers or better software developers. They are ready to spend time reading one book. Not twenty. Yes, I know that one book will not teach you as many things as twenty books, but it's always nicer to read one book than nothing at all.
Even after being a freelance developer for a few years, I still don't know a lot about how software development is done in large companies in USA. I have a general idea, because I spent lots of time searching for different subjects on internet and read a few pages or chapters in a few books, but still, I can't guess some things to search for.
For example, how would you be able to know that you have to search for EDI in order to find how companies are exchanging business data? Either you've read this in a book, or some more experienced colleague told you about it. In the same way, if you never heard about version control from your colleagues and never read about it from books, it's difficult to wake up one day and to tell yourself that you'll go and search for "version control".
I can't afford spending my time reading a whole book about, for example, ITIL (in addition, it's really, really too boring!), so a single book which has just a chapter about ITIL or ISO 9000 family can be a much better alternative to find what I've missed so far and what are the subjects I must dedicate a few weeks or months of learning.
¹ Forget about large companies elsewhere. At least in France, many large companies don't care about version control or style guidelines, don't know how to write requirements correctly, and has 1 to 3 at Joel test.
