Home » Author Archives: Jim Bird (page 6)

Author Archives: Jim Bird

Jim Bird
Jim is an experienced CTO, software development manager and project manager, who has worked on high-performance, high-reliability mission-critical systems for many years, as well as building software development tools. His current interests include scaling Lean and Agile software development methodologies, software security and software assurance.

Looking for Answers at Agile 2013

agile-logo

I went to Agile 2013 last week in Nashville to look for answers on how Agile development ideas and practices could help more with high integrity, high assurance development; scale to handle large projects and programs; and improve the working environment for mature, high performance teams. The Sessions There was a lot going on, with over 200 sessions, informal workshops, ...

Read More »

Maintaining Software Sucks – and what we can do about it

agile-logo

If you ask most developers, they will tell you that working in maintenance sucks. Understanding and fixing somebody else’s lousy code is hard. It’s tedious. And it’s frustrating – because you know you would do a better job if you were given the chance to do it over and do it right. I enjoy maintaining code I’ve built. It’s my ...

Read More »

Agile Development leads to Alzheimer’s

agile-logo

Iterative development and design helps you to reach your way towards understanding what the customer really needs, to try out new ideas, evaluate designs, experiment, respond to feedback and react to changing circumstances. Everything gets better as you learn more about the domain and about the customer and about the language and technologies that you are using. This is important ...

Read More »

Design Patterns after Design is Done

software-development-2-logo

Design Patterns are a useful tool when you are designing a system, an effective shorthand for communicating and sharing design ideas and a way to build consistency into the code – if people understand them and follow patterns properly. I’m not interested in arguments over whether design patterns are good or not, or which patterns are good and which ones ...

Read More »

What is Important in Secure Software Design?

software-development-2-logo

There are many basic architectural and design mistakes that can compromise the security of a system: Missing something important in security features like access control or auditing, privacy and compliance requirements; Technical mistakes in understanding and implementing defence-against-the-dark-arts security stuff like crypto, managing secrets and session management (you didn’t know enough to do something or to do it right); Misunderstanding ...

Read More »

Automated Tests as Documentation

software-development-2-logo

One of the arguments for writing automated tests is that tests can act as useful documentation for a system. But what do tests document? And who will find this documentation useful? Most developers don’t rely on system documentation because there isn’t enough documentation to give them a complete idea of how the system works, or because there’s too much of ...

Read More »

Choosing between a Pen Test and a Secure Code Review

software-development-2-logo

Secure Code Reviews (bringing someone in from outside of the team to review/audit the code for security vulnerabilities) and application Pen Tests (again, bringing a security specialist in from outside the team to test the system) are both important practices in a secure software development program. But if you could only do one of them, if you had limited time ...

Read More »

Estimating Might Be Broken, But It’s Not Evil

software-development-2-logo

Ron Jeffries’s essay Estimation is Evil talks about how absurd estimating can be on a software project, and the nightmare scenarios that teams can end up in: …Then we demand that the developers “estimate” when they’ll be done with all this stuff. They, too, know less about this product than they ever will again, and they don’t understand most of ...

Read More »

7 Agile Best Practices that You Don’t Need to Follow

agile-logo

There are many good ideas and practices in Agile development, ideas and practices that definitely work: breaking projects into Small Releases to manage risk and accelerate feedback; time-boxing to limit WIP and keep everyone focused; relying only on working software as the measure of progress; simple estimating and using velocity to forecast team performance; working closely and constantly with the ...

Read More »

What does Code Ownership do to Code?

software-development-2-logo

In my last post, I talked about Code Ownership models, and why you might want to choose one code ownership model (strong, weak/custodial or collective) over another. Most of the arguments over code ownership focus on managing people, team dynamics, and the effects on delivery. But what about the longer term effects on the shape, structure and quality of code ...

Read More »
Do you want to know how to develop your skillset and become a ...

Subscribe to our newsletter to start Rocking right now!

To get you started we give you our best selling eBooks for FREE!
Get ready to Rock!
To download the books, please verify your email address by following the instructions found on the email we just sent you.

THANK YOU!

Close