Wednesday, January 12, 2011
According to this presentation the sources for the Windows operating system contain about 60 million lines of code and the sources for VisualStudio contain about 480 million lines of code.
This question on Quora asks: When will Facebook have more lines of code than the currently-popular version of Windows?
Sunday, January 9, 2011
However I had the feeling that the conversation was not as coordinated as it could have been. For a three people interview I think the time was too short. There is much more to say about Specification by Example, Literal Automation, BDD and ATDD...
To get started with SpecFlow check out the following links:
Saturday, January 8, 2011
I love my work. Yet put me on a team with unclear goals, little collective responsibility, arguing, and infighting, and I'll wake up dreading going into work.
On the morning of his two year anniversary at the cubicle company, Ashton was driving to work when he realized something.
Not one line of code that he had written had ever run.
Not one thing he had done in two years of work made any impact on the world.
In corporate environments the product don't have to be good. Sometimes they don't even have to exist ... if you are a thoughtful developer, you are in the wrong place!
In reality I have almost never met a passionate developer, that is really happy with his job.
The productivity difference between a happy developer and a disgruntled developer is enormous, and constantly underestimated.
Monday, January 3, 2011
These are my favorite software development books of 2010:
This book is a great resource for learning and getting insights into Test Driven Development. Actually the best resource I have found so far...
The book has influenced my approach to developing software. Although it is certainly difficult to implement the object-oriented design style and the interaction-based testing style that is the core of the book.
The best thing about the book is the non-trivial application that is developed throughout the biggest part of the book. This shows the applicability of the concepts in the "real-world". But be warned: to follow it through, it demands quite a high concentration span from the reader.
Azure in Action
This is the best "cloud-book" I have read so far (see my review).
Although this book focuses on the Windows Azure cloud platform. It is a good read for anybody who wants to get in touch with development for the cloud and the underlying concepts.
The great thing about that book is, that the knowhow you get is agnostic of the "classic" development platforms. Regardless if you are doing web development in Java, .NET or Ruby, in the future you will not get around client-side browser programming.
I have not read the whole book yet. But so far this is an essential book that shows the necessary infrastructure and concepts to realize an agile software development workflow.
It is not about the "soft factors" of agile development. There are enough books about XP, Scrum, Kanban, Lean etc. out there ... it is also not so much about the theoretical concepts of the process (it more or less takes iterative and incremental process as given).
Instead the book focuses on techniques and infrastructure that is the base to efficiently realize the concepts of agile development from coding to delivery.
It shows that agile software delivery encompasses much more than using a taskboard, practicing TDD and having a continuous integration build.
Specification by Example
This book describes experiences and insights of over 50 "real-world" projects that are trying to implement Behavior Driven Development, Agile Acceptance Testing and Specification by Example.
This book is for testers, business analysts, developers and project managers working on Agile and Lean projects or teams moving to an Agile development method. In (agile) software development success depends heavily on the involvement and collaboration of all stakeholders. The book shows techniques how to realize this collaboration and involvement throughout the whole development process and how to establish the "agile mindset" in the whole team.
Although this book is not really from 2010, it is one of the books that I finished reading and which keeps influencing my approach to developing software.
The book looks at agile software development from a testers perspective. It breaks with a lot common practices in traditional software testing. One of the central points of the books is, that testing can and should be more than a simple "go/no-go" decision at the end of the development phase.
The book describes how to evolve testing into a continuous effort throughout the whole development process. How testing can play a crucial role in requirements gathering, how it can be a supporting tool during development and how it can enable transparency and measure progress.
With the advice from the book testers become an essential factor also during development and developers and testers start working together in a highly collaborative way.
What are your favorite development books of 2010?