Return to free resources


The most popular methodology for developing software in today’s product world is agile. There is no one way to do this and different organizations find different avenues to accomplish this goal.

Even using the same methodology, many organizations find a way to adapt the agile process to their needs and capabilities in unique ways. The agile manifesto was written in 2001 to improve the software development process. At the time, the field was riddled with documentation, cumbersome processes and a lack of clarity around how to effectively and efficiently develop software. In a lot of ways, enormous progress has been made. In other ways, there is still a lot of work to be done.

Essentially, there are roles in agile that are used to ensure the user is considered and all parties have input into how much work (called stories) can reasonably be done in a given amount of time (called a sprint, typically a 2 week segment of time).

The roles in agile vary, but typically include a PM (product manager), PO (product owner), scrum master (which ensures the project runs smoothly), multiple software engineers, ux designer, ui designer/frontend developer, QA (quality assurance) tester/analyst. Larger teams may have a business analyst. Small teams may have a combined PM/PO.

It’s important to understand that agile, while done a little bit differently everywhere, has the common themes of focusing on the capabilities of team and executing small chunks of code that create features that serve the end user. Instructional designers (ID) / learning designer and customer services representatives, while not part of the agile team, are closely linked as new features need to be released (“trained”) to the users and the CRS’s. Also, the CSR’s need to inform the agile team and ID’s of where the customers are struggling in an effort to either fix the software or provide better training.

In summary, everything in the software development space is centered around the product. Any roles that support the product are important ought to be considered tech roles whether they are on the agile team or not. Learning the technologies of software development will help you in any tech-related role so it is smart to get some under your belt. Customer service, marketing, and learning are strongly related to tech and could serve as an inroad into tech.

Tech roles and all roles vary from company to company. They is no “standard” way to execute software development. Though agile is the most popular methodology currently, it can executed in differing ways depending on the company culture, individuals on the team, and the makeup of the product being development. Experience working with the users of a product will bring insights that are extremely valuable to tech.