「大規模開発」と「大規模な開発」
Agile開発の話をすると、ほぼ必ず出てくるのが「うちらは大規模開発だから。Agileなんて無理でしょ。」という指摘。
「あ〜そうですか〜 大変ですね〜」と頷きながら、「本当は『大規模開発』と『大規模な開発』を履き違えているんだろこの野郎」と心の中では思っているのであった。
Slashdot: Hello World? That's easy!より引用:
public interface MessageStrategy { public void sendMessage(); } public abstract class AbstractStrategyFactory { public abstract MessageStrategy createStrategy(MessageBody mb); } public class MessageBody { Object payload; public Object getPayload() { return payload; } public void setPayload(Object payload) { this.payload = payload; } public void send(MessageStrategy ms) { ms.sendMessage(); } } public class DefaultFactory extends AbstractStrategyFactory { private DefaultFactory() {} static DefaultFactory instance; public static synchronized AbstractStrategyFactory getInstance() { if (null==instance) instance = new DefaultFactory(); return instance; } public MessageStrategy createStrategy(final MessageBody mb) { return new MessageStrategy() { MessageBody body = mb; public void sendMessage() { Object obj = body.getPayload(); System.out.println((String)obj); } }; } } public class HelloWorld { public static void main(String[] args) { MessageBody mb = new MessageBody(); mb.setPayload("Hello World!"); AbstractStrategyFactory asf = DefaultFactory.getInstance(); MessageStrategy strategy = asf.createStrategy(mb); mb.send(strategy); } }
- 本当はもっと軽やかに実装できる所を、上記例のように(あるいはもっとズタズタに)重く実装してしまう。
- 結果、体制は膨れる。「大規模な開発」だ。
- いや待てよ...
- 体制が膨れちゃうから実装が重くなる?
- その方が金取れるからね...