Table of Contents |
Software development is the term used to describe the process that a computer program is put through when it is developed. While the process of developing software does involve writing code, it is also inclusive of planning, design, testing, and documentation. Typically, businesses will use a software development team to work through the processes associated with the development of an application. Recall that a software development methodology attempts to split the process of software development into phases. Developing software in this way makes it easier to manage the overall development process of an application, because the associated tasks at each phase can be divided across the software development team. Additionally, project managers are better able to collaborate with members of the software development team, because information at each phase can be clearly communicated to the key personnel involved with an application’s development at every phase.
The software development team are the group of people within an organization who are ultimately responsible for the planning, design, development, and testing of software. These people are generally very technical and have a background in programming and mathematics. In fact, just about everyone who works in the creation of software has a minimum of a bachelor’s degree in computer science or information systems, though that is not necessarily a requirement. In most cases, a software development team will consist of a project manager, systems analyst, software designer, software quality assurance tester, and a programmer. In most instances, there will be at least one project manager working on a software development team; however, depending on the size and scope of the project, a team may consist of more than one person for each role. The table below further elaborates on the roles and responsibilities of each position on a software development team.
Team Role | Responsibility |
---|---|
Project Manager |
--Responsible for monitoring the scope, time, and budget of each project --Works with the stakeholders of the project to keep the team organized --Communicates the status of the project to management --Coordinates schedules and manages resources in order to maximize the project outcomes |
Software Analyst |
--Straddles the divide between identifying business needs and imagining a new or redesigned computer-based system to fulfill those needs --Works with a person, team, or department with business requirements and identifies the specific details of a system that needs to be built --Identifies and works with various stakeholders for requirement engineering (identification, analysis, elicitation, validation, and documentation) --Translates program requirements into an information-systems design --Creates detailed documents to describe a new system/solution |
Software Designer |
--Builds the architecture for software applications, and makes sure it fully supports the requirements based on systems analyst’s design documents --Designs software applications based on system requirements, organization processes, and specifications --Creates system architecture and interface design --Defines the overall structure of an application and divides it into component parts to be developed |
Software Quality Assurance |
--Tests software solutions to identify problems in products --Identifies what system features and functions need to be validated and verified --Develops the appropriate ways to test software --Evaluates and documents outcomes of test --Resolves problems with products --Maintains documentation related to testing of products and how to train personnel on software --May be asked to develop training on new software solutions |
Programmer |
--Must fulfill the design specifications given to them by a systems analyst --Writes computer code for a software solution in the agreed-upon programming language --Performs low-level elementary unit test of the written code and programs |
Source: Derived from Chapter 9 of “Information Systems for Business and Beyond” by David T. Bourgeois. Some sections removed for brevity. https://www.saylor.org/site/textbooks/Information%20Systems%20for%20Business%20and%20Beyond/Textbook.html