Inside the Briefcase

Augmented Reality Analytics: Transforming Data Visualization

Augmented Reality Analytics: Transforming Data Visualization

Tweet Augmented reality is transforming how data is visualized...

ITBriefcase.net Membership!

ITBriefcase.net Membership!

Tweet Register as an ITBriefcase.net member to unlock exclusive...

Women in Tech Boston

Women in Tech Boston

Hear from an industry analyst and a Fortinet customer...

IT Briefcase Interview: Simplicity, Security, and Scale – The Future for MSPs

IT Briefcase Interview: Simplicity, Security, and Scale – The Future for MSPs

In this interview, JumpCloud’s Antoine Jebara, co-founder and GM...

Tips And Tricks On Getting The Most Out of VPN Services

Tips And Tricks On Getting The Most Out of VPN Services

In the wake of restrictions in access to certain...

What Are Some of the Specialist Jobs Involved in a Software Development Project?

February 22, 2018 No Comments

Featured article by Emily Roberts, Independent Technology Author

When you think of software projects, you probably mainly think of developers – after all, they are the people who write the code that eventually makes the software. However, with hundreds of different job titles falling under the umbrella of IT in general, it is likely to be no surprise to you that even within the specific field of software development projects, there are quite a lot of standard roles which are all crucial to completing the piece of software, launching it and supporting its users.

If you are someone who is considering studying for a career in IT, for instance by doing a degree course like the one you’ll find here at Purdue University Global , then any of these jobs could be a possible career path for you once you have racked up some experience and discovered what part of software development you find the most interesting and rewarding.

Here are some of the most common roles in software project teams:

Project Management

All software development projects have a project manager, although in very small teams such as indie start-ups this can sometimes be done by the business owner or development lead wearing more than one hat. In all commercial software companies above that size, however, specialist project managers are assigned to each project, and a project manager may work across multiple projects if management of one is not a full-time job. Equally, for very large, expensive or complex software projects, there may be a whole project management office to support the project, with multiple project managers looking after different workstreams and project administrators.

Project managers can be either technical, in that they themselves have development skills, or non-technical, but non-technical project managers will still need to be comfortable with technical concepts. The most important skills for a project manager are good leadership, good knowledge of the appropriate project management methodologies for the project, excellent organizational skills and being good at bridging the gap between the technical team and the clients and stakeholders.

Testing

Software projects can require all different test phases depending on the technologies in use, but at the very least a piece of software will have to undergo functional testing – that is, does it work according to the spec and meet the requirements it was designed for. It will also require negative testing, that is, what bugs can you find if you try and break it, and user acceptance testing, which is the tests that the clients or users do to verify that they are willing to accept a release of the software.

There are also specialist types of testing that apply to most software projects, for instance testing its compatibility (for instance with devices, operating systems or browsers the users may have), load testing to check it can cope with the required volume of users, and usability testing to check that the design is user friendly and compliant with accessibility standards.

Within a project test team there will usually be a test manager who oversees the strategies used for the testing phases and serves as a project manager for the testing itself, and testers. Some of these will be testers who perform functional tests manually, but there may also be technical specialists who do things like develop scripts for automated tests or use specialized software for things like load testing. Test teams work closely with developers and there is usually a mirroring test phase for every development phase in the project lifecycle.

UI Designers

The front-end part of the software is usually designed by people who specialize in this. This may, with some smaller projects, be something the developers do, but it is a separate role in most cases, as the skills involved in making a system look appealing and user friendly are quite specific.

While there is quite a lot of overlap between the roles of UI designers and normal website designers, especially for web-based systems, UI design is a specific discipline. UI designers will often work closely with the test team, who will verify that the design looks as expected when shown on different devices or browsers. The test team may also be involved in overseeing any usability testing needed for the design, though this kind of testing is actually performed by people from outside of the project who will look at the product with fresh eyes and a user’s perspective.

Release Management

During its development, software will typically move between different environments. There is almost always a development environment, where the developers work on the newest code; a test environment, where code deemed to have been completed can be tested; a staging environment, where releases are prepared; and a live environment, which is the software available to users. There may be countless other environments involved in a project, but these are some of the most common.

Each environment usually has a different version of the software on it at any given time, and when the now popular Agile development methods are used, releases can move between environments very rapidly, often with a new release every few days. Keeping track of all of the environments and approving releases from one to the next is something a release manager will be responsible for, along with tracking what is in every release of the software.

Sales, Training and Support

Outside of the roles above and the developers, there are further roles that support the business side of getting the software in front of users and keeping them happy.

In some cases, for instance where the software development project is in house and the users will be within the same company, no sales people are needed. However, for software houses that take on bespoke projects for different companies, or for companies who build software and sell it to customers, sales can be one of the most important functions within the business.

Once a piece of software is ready to be released and to start being used, there is also the need for people who can provide training and documentation such as online help, and people who can provide technical support. Providing support for a particular software project is slightly different from what you may think of when you think of general tech support – the people who do this have to be very familiar with the software and aware of any current known bugs, workarounds and issues. They will also need to be able to report bugs or serious issues back to developers and keep customers up to date on when fixes will be built, tested and released, so they are far more integrated with the original project team than in a general tech support environment. In small companies, sometimes the developers and testers end up providing the support themselves.

As you can see, aside from actually writing code, there are a huge number of different roles and responsibilities involved in taking a piece of software from a concept to something that is in live use. Whether you want a job that is highly technical, a public facing sales or training role, or something strategic and managerial, there could be a career path to suit you in software technology.

 

Leave a Reply

(required)

(required)


ADVERTISEMENT

Gartner

WomeninTech