DevOps is a word bandied about in the development world as being demonstrative of a software company’s maturity. But what exactly is it? Is it a principle, a process, a methodology, a toolset? In fact, DevOps can be described as a combination of all of the above. But above and beyond all that, it’s about bringing stable software to market faster.
Software development can be a tricky process. If you don’t get it quite right then projects can end up on the scrapheap and with a few different annoyed parties to boot. While there are some common problems that can crop up in development, knowing what they are and how they come about will help you to avoid them.
With shifting goal-posts driven by investor and market conditions, a fair chance of having pivot points, and an uncertain future, developing software that can be modified or redesigned easily is critical. Having Agile practices as an underlying piece of your software development workflow gives you insurance that hours put into development will not be ‘wasted’ in the event of big changes.
Test early, test often! Test early, test often! If you’ve ever attended a Software Engineering 101 class you will have heard this phrase drilled into your brain. Why? Because the earlier and more often you do your software testing, the less bugs persist in your code through to production.
Productivity in software development is typically tricky to measure. Is it how fast your team are doing something? It has been proven time and again that lines of code is a poor measure; are the number of modules an indicator? The degree of module reuse within a project, or from previous projects?
Fixed price contracts can be rather tricky in a Scrum environment. Classic software development and Agile software development are very different from one another, and things that work in one environment don’t necessarily work in another.