Author Archives: Chris F Carroll

BootCamp Drivers direct download for Windows 7 and 8

Updated April 2014

Apple have at long last provided not only direct download links for Windows drivers, but also tables of which link you need for each model/year. If you can work out which model of apple you have, you can now get the direct download link from the apple site.

How to find the correct BootCamp direct download link for your Mac model

  • Go to this page:
  • About half way down the page, find the heading “Boot Camp requirements by Mac model
  • Under that, find the heading for your Mac model. There are headings for MacBook Pro, MacBook Air, MacBook, iMac, Mac mini and Mac Pro.
  • Each heading hides a table by model & year vs. windows version. There are direct download links for Windows 8 and Windows 7, for 32-bit and 64-bit.
  • Choose your download. Done.

How do I work out which Mac model I have?

  • The same page has instructions. With pictures!

I downloaded. Now what?

  • Each download link includes instructions

But I’m in Windows already, and I can’t open this .pkg file download Apple has just given me

Then you want this page:

Only 64-bit drivers are listed but I want 32-bit drivers. Or vice versa

You’re stepping into the realm of the unsupported, so you’re at your own risk here. What you can try is: get the download you think you want; open it with 7-zip; Now instead of running the installer, open the Folder that contains the individual driver installers. Run each of those. If it doesn’t work, you can uninstall from the Windows Control Panel and try again with the drivers Apple said you should use.

My model isn’t listed on that Apple page

Ah. Thats sad. You may be looking for the impossible. Your last hope is probably to try this page on older Mac models For models older than that, you’re in the era before BootCamp downloads, and you probably need an OS X Leopard or earlier install CD.

Improving the accuracy of software project estimates: multiply everything by 3

I found about 10 years ago that everything I delivered in software took me three times longer than I expected.

Eventually I realised that my ‘gut feel’ for estimating a coding task was ‘about how long will it take me to code this if I make no errors & get it right first go’. Which is a good starting point for an estimate, so long as you then go on to add testing, debugging, changing or misunderstanding requirements and time to release. So if you have stable requirements and a pushbutton deployment toolchain, then x3 is about right. If you haven’t, x5 is probably closer.

I note that others have found something similar. I’m please to find that multiplying by 3 puts me about 4.7% ahead of the curve –

Project Success vs Project Value

Somehow earlier this year I subscribed to the chaos report email. Given the significant criticism of chaos report’s measure of success – on time, on spec, on budget – I was amused by this week’s email which poses the question whether their success criteria are relevant. What the Standish group does have that most of us don’t, is access to a large number of (unpublished and hence unverifiable) examples.

From the email: “Which is more important project success or project value? It turns out the project success and project value is orthogonal or at right angles to each other. The harder you strive for perfect success the lower your project value. The harder you strive for greater values the lower the success rate.

We know this because we have coded each of the 50,000 projects within the CHAOS Database a success rate and value rate. Each rate has a score from 0 to 100. By grouping the projects by organization we can come up with a ranking by success and value. We then can compare the rankings. One of the items we discuss is another question Is the traditional triple Constraints (cost, time, and quality) measurement still appropriate?”

I’m surprised by the assertion that success and value are orthogonal. I’d have thought that there was at least some connection between time/cost/functionality and perceived value; if the value of your project is not in the spec, surely you wrote the wrong spec?

Just Enough Design Upfront? How to draw the line between enough and too much

Earlier this year the term Hayim Makabee proposed the term ‘Adaptable Design Up Front’ as a way of pointing the way forwards between the Scylla of BDUF and the Charybdis of degenerating into a Ball of Mud.

Others have used the term ‘Just Enough Design Up Front.’ But what counts as just enough?

That’s the wrong question. Because ‘just enough’ is an insight that misdirects you. Design is not a scalar quantity like length. There is no amount of up-front design that is the right amount. The question is, what are the useful bits of design to do up front?

And this is what ‘Adaptable Design Up Front’ addresses. What you must do up-front is support the change and development to come — usually growth or change in functionality — whilst nailing down the things that ought to be fixed: the invariants which give stability so that developers don’t have to re-learn the system from scratch each day they come into work.

So the basic idea is this: you want just the up-front design that helps you to draw lines between things that will change frequently and things that remain stable over time.

So how to do it?

For the 3 minute kick-start, Hayim has an excellent set of slides to get you going. His ‘architecture vs interior design’ analogy and the idea of applying the open/closed principle at the architecture level hit that ‘brilliantly simple’ spot that make it all seem obvious in hindsight.

ADUF – Adaptable Design Up Front –Hayim Makabee

For more detail on designing for what changes vs. what stays stable, I seriously recommend Jim Coplien & Gertrud Bjørnvig’s under-rated book Lean Architecture: for Agile Software Development which contains decades of hard thought and wisdom. They know the pitfalls on the way first-hand and they can help you navigate them. More important, they show how to prioritise the human factors in your technical architecture. Which, as every architect knows, is what really matters.