Project Smart ~ Exploring trends and developments in project management today

Calendar icon
Adobe PDF icon

Five Essential Elements for Successful Software Development

~ By Rodney J Smith

Programmer looking at lines of code on a screen

Modern computer languages with their high-level constructs have come a long way since the early days of assembler programming. And with more and more people taking computer classes at school, programming skills are now more widespread than ever before, allowing even relative novices to produce professional-looking applications. But to truly join the ranks of the professional coder, several elements need to be put in place.

1. Integrated Development Environment (IDE)

Whilst it's possible to get started in many languages with merely a simple text editor, it won't be long before your code's complexity becomes unmanageable without some help. Modern IDEs like Visual Studio or Eclipse offer so much support to the coding process - built-in wizards to help you accomplish numerous tasks, code completion and dependency management, are just a few examples of standard features - that it's almost inconceivable to attempt a serious application without one.

2. Source Control

Source control tools integrate directly into your IDE and give you the ability to track changes to the various files that make up your project, enabling you to modify your code with confidence knowing that you can always roll back to an earlier version if things don't work out the way you planned. Source control repositories are also invaluable when working in a team environment, or across different machines.

3. Automated Testing

Testing used to be a dirty word amongst developers, but the recent popularity of techniques like Test Driven Development have placed the responsibility for testing squarely back at developers' feet where it belongs. Test frameworks like the xUnit family make it easy to write repeatable automated tests that demonstrate your code's functionality as you go, and provide confidence when refactoring that you haven't inadvertently broken anything.

4. Automated Build

Automating your build process takes this a step further, producing a complete packaged system every day, or in some cases, each time you make any changes to the source code. Generally your full suite of automated tests is run at the same time as your code is built, giving you confidence that everything still works when integrated and reducing what can otherwise be a major headache further down the line when you come to try and put everything together for installation.

5. Defect Management

If you plan to distribute your application to anyone else you will almost certainly need some way of keeping track of problems that people have experienced with your software, and the status of any fixes that you've come up with. This may be nothing more complicated than a spreadsheet, although there are a multitude of tools available to do the job for you.

One thing you won't have to worry about is the cost of purchasing all these tools to support your development activities, because there is high quality open source (free!) software in all these categories - and in many cases these tools are the industry standard, beating many proprietary tools in terms of quality and market share. So if you're serious about software development there's really no excuse.


Be the first to comment on this article.

Add a comment

(never displayed)

Enter the fifth letter of the word snooker.
Notify me of new comments via email.
Remember my form inputs on this computer.

Avoiding Project Management Pitfalls

Foot about to tread on a banana skin

Common pitfalls that projects experience and some tips to help make a project more successful and avoid the potential for chaos.

Taming MS Project

Gantt chart and plan

Microsoft Project can become a huge overhead, even for seasoned project managers. This article contains some tips and tricks that will help you tame the tool.

Resourcing Project Managers

Project manager jobs advert in a newspaper

Ironically, although resourcing production team members is a significant part of a Project Manager's role, very little focus is placed on resourcing the Project Managers themselves.

Estimating Project Costs

Money and a calculator

Tips and advice for estimating project costs, including three point estimating and Monte Carlo Simulation in MS Excel.

PROJECT SMART is the project management resource that helps managers at all levels improve their performance. We provide an important knowledge base for those involved in managing projects of all kinds. With weekly exclusive updates, we keep you in touch with the latest project management thinking.

WE ARE CONNECTED ~ Follow us on social media to get regular updates and opinion on what's happening in the world of project management.

Latest Comments

Aimee Windmiller-Wood commented on…
Top 10 Qualities of a Project Manager
- Thu 23 February 5:06am

Liam commented on…
High Anxiety: Managing Projects With Your Pants Down
- Fri 17 February 9:27pm

Daniela commented on…
Better Coaching Using the GROW Model
- Thu 2 February 3:21pm

Latest tweets

General Project Management • Help With My Project Management Dissertation #projectsmart #pmot about 2 days ago

General Project Management • Prince2 Advice #projectsmart #pmot about 3 days ago

General Project Management • Re: Interview Help 30-60-90 Plan #projectsmart #pmot about 3 days ago