Skip to main content

Posts

Showing posts with the label Software Development

Prioritizing Software Feature Development

A Product Manager’s key responsibility is focusing the product direction. It is always the case that there is more work than resources especially in startups. Hence a good way to prioritize work can really be useful. Using SaaS, software typically resides on vendors’ servers, it is easier for vendors to release updates at more frequent intervals, and with agile development practices, applications are updated almost continuously without traditional version control. Software hosting also allows vendors to collect valuable information about customers’ usage patterns. The available information is unprecedented in scope and immediate in availability. With a continuous deployment model and immediate customer response, the feedback loop between development and customers has never been faster. However, in order to fully leverage the fast feedback loop, companies must use the right performance metrics. This is what my research is about and I’ll speak about it in CE2011 conference this Jul...

Agile or Waterfall: What's Best for Your Software Project?

When HubSpot’s development team started working it was clear to them that they are going to work agile. It was equally clear to Raytheon’s air traffic control development team that they should use traditional methods like waterfall (and CMMI). And if Raytheon would have decided on agile I would never fly again. However, these projects are in two ends of the spectrum for many in the middle the answer isn’t obvious. I recently went on a business trip to San-Jose California to help establish MIT’s product realization lab. I met with managers in Cisco software and E-bay and learned that this is an important issue. In fact, E-bay uses both methodologies depending on the project. To come at the right conclusions development teams should consider organizational, product and industry characteristics. I developed this questionnaire with 8 questions. By filling it out and summing the points, one can arrive at the most suitable method for a given project. Questionnaire Rank each question ...

Poker Playing Ninjas and the Eerie Ways of Software

It seems that agile is the predominant methodology in software development, especially in shrink-wrap software and web. It certainly stands behind some mammoth success stories of late. However, agile is not a fit-all method, in many software domains it just won’t work well. More than that, agile seems more like a philosophy, a way of thinking, than a complete methodology. Software is a new field and it is going through some phases. Agile is one of those. Let’s look at the language used in new wave development methodologies. Programmers are action figures; they are “cowboys” or “ninjas” or simply “heroes”. Programming is a dangerous, masculine, activity like rugby (scrum) or an extreme sport (extreme programming). Planning is a poker game, specifications are paper in an electronic paperless world and all we need is dialog (agile manifesto). Could it be that this juvenile lingo is a product of an engineering field that is in its adolescence? When considering what methodology to use...