Shortcuts Now Are Paid Back with Interest Later

?

Shortcuts Now Are Paid Back with Interest Later

Scot Mcphee

iT’S iMpoRTAnT To REMEMBER when architecting a system that maintenance will, in the long run, consume more resources than initial development of the project. Shortcuts taken during the initial development phase of a project can result in significant maintenance costs later.

For example, you may have been informed that unit tests don’t deliver direct value, and so you tell your developers to skip the rigorous application of them. This makes the delivered system much more difficult to change in the future, and decreases confidence when making those changes. The system will require far more manual testing for a smaller set of changes, leading to brittleness and increased maintenance expenses as well as a design that’s not as appropriate as a fully tested design (let alone a test-first design).

A serious architectural mistake is to adapt an existing system for a purpose that it is not fit for, on the basis that using an existing system somehow reduces costs. For example, you might find yourself utilizing BPEL architectural com- ponents coupled with database triggers to deliver an asynchronous messaging system. This might be done or insisted upon for reasons of convenience or because that is the architecture known to you or the client. But a messaging architecture should have been selected in the first instance after requirements made it clear, it was a necessary component. Poor decisions made at the incep- tion of a project make it much more expensive to re-architect the system to meet new requirements.

?

??In addition to avoiding shortcuts during the initial development phase, it’s also important to correct poor design decisions as quickly as they are discovered. Poorly designed features can become the foundation for future features, mak- ing corrective action later even more costly.

For example, if you discover that inappropriate libraries were selected for some underlying functionality, they should be replaced as soon as possible. Other- wise, the effort to make them fit evolving requirements will result in additional layers of abstractions, each designed to hide the poor fit of the previous layer. You are building yourself a ball of tangled twine, tack, and sticky tape and with every layer you add, it is harder to unravel. This results in a system that is resistant to change.

As an architect, whenever you encounter an architectural problem or design flaw, insist that it be rectified now, when it is cheapest to fix. The longer you leave it to drag out, the higher the interest payment is.

Scot Mcphee is an Australian software developer and architect with more than 15 years of experience coding and designing applications. Over the last eight years, he’s worked mostly within the J2EE stack.

时间: 2024-10-12 21:34:20

Shortcuts Now Are Paid Back with Interest Later的相关文章

Would Your Work Habits Change if You Were Paid by the Job?

原文地址:http://success-sys.com/2016/09/26/would-your-work-habits-change-if-you-were-paid-by-the-job/ A couple of days ago I noticed a guy installing a solar system on a two-story house in my neighborhood. Working 20 plus feet off the ground on a pitched

Mousetrap - a simple library for handling keyboard shortcuts in Javascript

Mousetrap is a simple library for handling keyboard shortcuts in Javascript. It is around 2kb minified and gzipped and 4.5kb minified, has no external dependencies, and has been tested in the following browsers: Internet Explorer 6+ Safari Firefox Ch

poj 3411 Paid Roads(dfs)

Description A network of m roads connects N cities (numbered from 1 to N). There may be more than one road connecting one city with another. Some of the roads are paid. There are two ways to pay for travel on a paid road i from city ai to city bi: in

POJ 3411 Paid Roads(dfs)

*注:这一题很重要的是对与数据的处理和细节的把握把! http://poj.org/problem?id=3411 题目大意: 有n个城市,m条路,(0<=n,m<=10).从a到b,如果之前已经经过c点,那么付费p,否者付费r.求最小的费用,从1-->n! 注意: There may be more than one road connecting one city with another. so:你不能用map[a][b]存a->b的距离.只能有road [ i ]了. 还有

[BZOJ1755] [Usaco2005 qua] Bank Interest

Description Farmer John made a profit last year! He would like to invest it well but wonders how much money he will make. He knows the interest rate R (an integer between 0 and 20) that is compounded annually at his bank. He has an integer amount of

POJ 3411 Paid Roads 题解 《挑战程序设计竞赛》

POJ 3411 Paid Roads开路:N个城市间有m条单向路,分别从a到b,可以在c处交P路费,也可以直接交R路费.那么问题来了,你的挖掘机怎么开最省钱?3.4熟练掌握动态规划状态压缩DP乍一看可以Dijkstra,实际上的确可以Dijkstra.不过多了一个预交费的c,所以在遍历的时候多了一维状态,这个维度储存当前走过的城市集合.在Dijkstra的时候,如果走过了c那么就有两个选择,选其中最省的即可:否则没得选.#include <iostream> #include&nb.

广大暑假训练1 E题 Paid Roads(poj 3411) 解题报告

题目链接:http://poj.org/problem?id=3411 题目意思:N个city 由 m 条路连接,对于一条路(假设连接Cityia和 Cityb),如果从Citya 去 Cityb的途中,之前已经走过Cityc(可能会等于a),那么就可以交p的钱,否则之前未走过Cityc,就一定要交r 的路费啦. 注意,一个点可以被反复多次走,也就是可能构成环,虽然路走长了,但路费便宜了,这个问题要考虑到.还有就是剪枝啦:如果当前求得的路费比以前求得的答案要大,那就要回溯. mincost 明明

多次访问节点的DFS POJ 3411 Paid Roads

POJ 3411 Paid Roads Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6553   Accepted: 2430 Description A network of m roads connects N cities (numbered from 1 to N). There may be more than one road connecting one city with another. Some o

Mac Screen Capture Shortcuts

Here's How:   To capture the entire desktop, press Command-Shift-3. The screen shot will be automatically saved as a PNG file on your desktop. To copy the entire desktop, press Command-Control-Shift-3. The screen shot will be placed on your clipboard