InfoQ Homepage Software Craftsmanship Content on InfoQ
-
Implementation Decision Rationales – Program Comprehension in Agile
Given the fact that the bulk of a developer's work is maintaining and enhancing existing code, Fabian Kiss makes the case for a lightweight approach to documenting the rationale and decision process behind design decisions to help later developers tie the source code syntax to its meaning in the application domain. Using simple tags and clearly thought out rationale to provide just-enough value.
-
Agile Finance: Story Point Cost
This article ties a rather abstract and developer centered concept (story points) to the real world of business (spreadsheets and ledgers). Making this connection is essential for management.
-
Ars Magna: the revolution is overdue
This essay is an intentionally provocative and controversial call for a real revolution in how we conceive of and practice software development. The intent is to stimulate discussion.
-
Who Moved my Product Value?
At the outset, it seems like agile is all about short-term focus and a product life cycle is typically the polar opposite – it runs the total gamut in the spectrum that is the life of the product, starting from incubation to end-of-life. So, how does one attribute the relationship between the two? This is where product value comes in.
-
Agile Team Meets a Fixed Price Contract
Fixed price contracts are evil - this is what can often be heard from agilists. On the other hand those contracts are reality which many agile teams have to face. But what if we try to tame it instead of fighting against it? How can a company execute this kind of contract using agile practices to achieve better results with lower risk? This article will try to answer those questions.
-
Are You a Software Architect?
The line between development and architecture is tricky. Some say it's fake, that architecture is an extension of the design process undertaken by developers; others say it's a chasm that can only be crossed by lofty developers who believe you must abstract your abstractions and not worry about implementation details. There's a balance in the middle, but how do you move from one to the other?
-
Agile Lessons from a Management Guru
Deming was one of a select group of thought leaders who have shaped modern management over the last century. He is best known for the impact he had on Japanese businesses with his teachings on design, manufacturing, sales and quality. The first three of Deming's fourteen points are examined in detail in the context of Agile software development.
-
Deployment is the Goal
When we write software, we're very good at getting requirements and turning them into code. To turn that beautiful code into working software we need to deploy and test it. Often, we fail to emphasize the latter as well as the former. Do you have a backlog of "code complete" software waiting to be deployed, tested, signed-off and made live?
-
Layered Architecture for Test Automation
In test automation, code involved in testing is not only test logic, but also a bunch of other supporting code, like URL concatenation, XML parsing, UI, etc. Test logic can be buried in this unrelated code, which has nothing to do with test logic itself, making test code hard to read and maintain. In this article, the layered architecture of test automation is presented to solve this problem.
-
Tips for Effective Software Reuse
Vijay Narayananoffers 10 practival tips on succeeding with systematic reuse of software components, based on his experience with multiple projects. The collection of tips is not intended to be exhaustive but will help developers and team leaders to appreciate the variety of strategies that one has to undertake in order to succeed with systematic reuse.
-
Book Review: Clean Code: A Handbook of Agile Software Craftsmanship
Ryan Cooper reviews the Clean Code by Robert Martin and concludes that this book belongs on the bookshelf of every developer who cares passionately about quality and craftsmanship. Ryan suggest that this book will be beneficial to new developers and seasoned developers alike.
-
Book Excerpt: Agile Testing
This book is for testers on an agile team, test and quality assurance managers transitioning to agile development, and agile teams learning how to approach testing. The book introduces agile testing, how it's different from testing on a traditional team, and what makes agile testers different. The book contains dozens of stories about the various testing-related issues faced and resolved.