How software gets done Process

14 Ways to Contribute to Open Source without Being a Programming Genius or a Rock Star

Open source software has changed computing and the world, and many of you would love to contribute. Unfortunately, many people are daunted by what they imagine is a high barrier to entry into a project. I commonly hear people say that they’d love to contribute but can’t because of three reasons: “I’m not a very [...]

Capacity Planning on a Cocktail Napkin

Normally, after eight hours on my feet with an audience, I’m both exhausted and wired; what I really want is to fall face down on my bed until I recover enough to order room service. I was in Chicago teaching a course in web-systems architecture, and several of my students insisted I come with them [...]

Encouraging User-Centric Development – But For Which User?

Too often, software that is ostensibly designed to serve the user is designed for the wrong user. The people who sign off on your software – the client who pays the bills, or the executive committee that decides what the business needs – may be happy. But the person who spends all day doing data [...]

Less Process, More Discipline

It started, as these things often do, with someone coming into my office. We’re close to shipping a product after a long struggle with all the usual issues – hardware difficulties, operating system bugs, personnel changes – but we’re beginning to see the light at the end of the tunnel without the chug-chug of an [...]

Making Your Tech Conference Presentation, and Experience, Not Suck

Tech conferences are incredibly expensive, and not just in dollars. Even free conferences like BarCamps incur the expense of the attendee’s time. Taking time off from work or family is a hassle at the very least, and it’s time that isn’t billable. The draw of the conference boils down to those 45 minute sessions, and [...]

A Call for Strong Opinions in Software Development

Software frameworks are so opinionated all of a sudden. I love it; we need more of it. The Agile Manifesto was one of the first clear examples of opinionated expression. No hedging, just clear trade-offs, like valuing “working software over comprehensive documentation.” If there’s a question between creating a requirements doc or writing a human [...]

6 Tips for Beginning App Developers

App stores have drastically changed the traditional view of how to market software. User ratings and reviews can steer a mobile application in a completely different direction than the developer originally intended. The community has never had so much direct control of the development process of proprietary software. Here are some tips for developers starting [...]

25 Agilists to Follow on Twitter

With only 24 hours in a day, you certainly can’t follow every person on Twitter, or even all of the people who claim to be experts in Agile software development. What I provide below is meant to be a starting point. This is not a list of Capital-A Agilists, at least, not strictly speaking a [...]

What Do You Mean, “Agile”?

Being “agile” is a modern badge of honor. If you’re agile, you’re cool: progressive, team-oriented, and customer focused. You produce better quality way faster than the turtles mired in 500-page requirements documents. You rule because you’re agile. But how agile are you, really? In discussion forums, agile developers bash waterfall, saying it’s archaic, siloed, and [...]

Requirements: Not Just for Application Projects

Talk about requirements and most people jump to the requirements work done for business application projects. But what about internal IT improvement projects or infrastructure projects? Applying a reasonable and light requirements discipline inside IT often faces more resistance than with business automation projects. Let’s take a look at the high-level types of requirements that [...]