If you are working in software development, then you have probably heard the terms “Continues delivery” and “DevOps”. These are not just new buzz-words, they are already being used in varies software companies, including some of the really big players on the market.
These new methods aims for releases of software on a daily and sometimes even hourly basis. This is done to ensure that the product is pushed to the market as fast and possible, and then to get the feedback from the end user and make adjustment to the product accordingly.
This way of developing software moves the actual development to be more like a service rather than a project, and in most know cases, this approach to software development is for companies developing for the end consumer market (e.g. Facebook, Google etc.), but more and more “non end user IT companies” are looking into this method.
This way of developing software raises all sorts of new questions for our way to approach software development as projects, which has a budget, a deadline and a clear scope and so forth. If you don’t have a finale specification for your product and thereby not knowing when exactly you are done? How then will you do estimates, manage budget, set timetables, measure progress and all these other mechanisms that ensures that your project don’t go of track?
The answer for this comes in varies forms, but the one thing that you need to embrace is that you will have to see the development as a service organization and not as a project. So basicly you will have to figure out how important the software product is to your organization or client, and how many resources you will throw at it. If the software product is your core business, then it might be worth to put as much focus on the development team as possible, but if the software is not your main product but only a support to the business, then you might wanna go the old fashion way at set a max amount of money that you are willing to spent.