Thursday, January 19, 2012

12 Principles of Agile Software Development

I came across this great presentation on some founding goals for Agile Software Development. Its great to use these principles to base all decisions and processes.
12 principles for Agile Development

Friday, January 13, 2012

Why are we even having this conversation?

I have been in the position of trying to sell the idea of unit testing to management and stakeholders far too many times. In five years time we'll all look back and laugh. It must have been like trying to sell regression testing a few years ago.

Why is quality not a concern? Show me a software company who does not unit test and whose managers are against it and I'll show you a company with unreasonably long release cycles and bad technical debt issues in a fragile code-base. As a seasoned developer and architect unit testing is a given and mandatory for quality assurance reasons, no arguments.

And then there's financial software. The only other kind of complicated software I can imagine where automated testing is more important is life support machines.

There is no such thing as a small simple Financial application, it simply isn't feasible nor possible to manually test all permutations in a large system. Would you trust your money with a bank who isn't thoroughly testing their product to manage your money? I know I wouldn't.

More importantly if you choose not to Unit Test when all your competitors are, your business cannot hope to compete with their agility and quality.
Many studies have been done showing unit testing actually helps software projects meet deadlines and reduce expensive (and sometimes product destroying) bugs in production.
Check out http://www.agitar.com/solutions/why_unit_testing.html and my previous posts on this.

Wednesday, January 4, 2012

Diagramming tools

http://www.websequencediagrams.com/ A free textual based web tool that generates sequence diagrams based on sentences you type in.

Balsamiq - A mostly UX-centric diagramming tool for drafting User Interface screens.

www.gliffy.com - A simple WYSIWYG style drawing tool that can draw anything. It has some good templates to get you started drawing sequence diagrams.

Monday, December 19, 2011

How to write a software architecture description

Here's a great site I came across that concisely guides through the process.

http://www.codingthearchitecture.com/pages/book/software-architecture-document-guidelines.html

It looks like it based on Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives by Nick Rozanski and Eoin Woods.