Integration Watch: Lost in the divide: Agile architecture
December 1, 2009 —
(Page 1 of 2)
The agile movement, as most readers know, was founded in response to the perceived need for an approach to software development that could easily accommodate change. It was designed in opposition to the so-called waterfall model, which favored an extensive design cycle that imposed fairly unchanging requirements and designs. It often delivered products to customers that were out of sync with the users' needs due to the evolution of those needs during the development period.
At its inception, the movement was not about techniques, but about principles. However, extreme programming (XP) was one of the most established agile practices of the time, and for many years XP practices and agile approaches shared a great deal of overlap. In fact, it would be fair to say that XP provided the body of practices with which agile could come into being. XP and agile would later on become more distinct, but early on they were essentially congruent.
XP, as the P implies, is focused on low-level work. There are 12 core practices in XP. Seven of them are exclusively about coding-related work: pair programming, test-driven development (TDD), refactoring, small releases, coding standards, collective code ownership, and system metaphors. The remaining five barely hover over this low level: planning game (weekly iteration planning), whole team, continuous integration (building the code repeatedly), simple design (use Occam’s razor, where possible), and sustainable pace. This makes XP a great solution if only your coding/implementation pipeline is faulty. But experience tells me that often sites with faulty processes suffer from problems far further up the pipeline than what can be addressed by TDD or CI.
For these problems, you need to go to a different branch of agility: the one that focuses on process, design and team interaction. This higher branch is characterized by lean development, kanban and to some extent Scrum. (Scrum is sort of a wobbler; it can be viewed as high-level or low-level, but lean is a genuine systematic attempt to bring agility to the larger process flows where development teams first become bollixed up.)
Related Search Term(s): agile
Share this link: http://sdt.bz/33956
Most Read Latest News Blog Resources
Branching and merging: the heart of version control
Providers hold their own views of the landscape, but the Git SCM system is drawing looks from them all
|
|
Not so fast when it comes to testing in the cloud
Developers face outsourcing, virtual lab management and mobile devices as obstacles
|
|
Microsoft pivots toward business intelligence
The goal is to make business intelligence accessible "to the masses"
|
|
From the Editors: Node.js is unruly, but that’s where the fun is
The time to get involved with Node.js is now; Hadoop is about to break its own barriers
|
Top five apps to manage your workload
Web applications offer new ways to track your “to-do” lists
|
|
Not so fast when it comes to testing in the cloud
Developers face outsourcing, virtual lab management and mobile devices as obstacles
|
|
Xceed releases UX-focused suite for Microsoft’s WPF
"Blendables" helps match user experiences to developer visions
|
|
Microsoft pivots toward business intelligence
The goal is to make business intelligence accessible "to the masses"
|
GitHire: Use Headhunters to Find Your Perfect Programmer
Are you a hiring manager tired of scouring the job boards? Check out this new service that will find 5 people interested in your jobs.
|
|
Facebook claims hacker cred
Facebook's SEC S-1 filing form includes a short essay on the Hacker Way by Mark Zuckerberg himself.
|
|
Ryan Dahl steps down
Ryan Dahl, creator of Node.js, steps back from his position as gatekeeper for the project.
|
|
Bloomberg opens its API
Bloomberg's APIs could lead to a future standard for accessing market data.
|
The Hidden Costs of Software Licensing
Moving beyond paper-based software licensing to more flexible, software-based licensing is a business decision. There is a growing trend tow...
|
|
Case Study: You May Need a Development Mechanic
As a contractor for a major financial player in Germany, SOBEGE, a German-based consultancy specializing in embedded IT and web services, wa...
|
|
Ensuring Software Quality at a Major International Bank
One of the world’s leading international banks has adopted AgitarOne technology for delivering generated unit tests for their Java software...
|
|
Load Testing Adobe Flex Applications
Adobe Flex applications may be different from applications you’ve worked with before. For classic HTML web applications, the server does all...
|