Breaking Down the Software Development Roles

Software development is done differently at every organization, and in every home office throughout the world. The process that one organization or person uses to develop software may work for their specific environment and situation but may fail miserably in another set of circumstances.

It is, in part, the differences in environments which make it so difficult to quantify the process of software development in a single set of terms that all practitioners can agree to. As newer approaches appear on the scene, such as extreme programming and agile development the perspective of the world on what the process should look like changes slightly or dramatically.

However, despite these changes there are some things that remain the same. There will always be a need to understand the business problem, convert that problem into an architecture, convert the architecture into a solution, test the solution, and deploy the solution. Although each of these processes may change to some extent based on the programming models and tools being used, fundamentally there are some roles, which every process has in one form or another. One person may be filling all the roles or a handful of the roles, or one very specific role. Despite this there is a need for all of the roles - each serves a purpose. The origanization chart below gives you an idea of how each position fits together within an organization.

Common Roles

There is a series of roles that exist in most software development processes. As mentioned above one team member may be filling many roles and some roles may be suppressed for a specific type of project but all of these roles exist in one form or another in every software development project:

FullSA

Click here for a larger image.

  • Subject Matter Experts (SMEs) - The subject matter expert is the person or persons from which requirements are captured. These are the people who know what the software needs to do and how the process works. The SME role is somewhat different from the other roles because it is constantly changing as new clients (internal or external) are brought in to help design a solution. SMEs are rarely from IT - except when the solution is being designed to support IT. SMEs are most frequently the person who will receive the benefit of the system.
  • Functional Analysts (FAs) - Functional analysts have the unenviable roles of eliciting clear, concise, non-conflicting requirements from the Subject Matter Experts who may or may not understand how technology can be used to transform the business processes in a positive way.
  • Solutions Architect (SA) - The technical architect is responsible for transforming the requirements created by the Functional Analysts into a set of architecture and design documents that can be used by the rest of the team to actually create the solution. The Solutions Architect is typically responsible for matching technologies to the problem being solved.
  • Development Lead (DL) - The development lead's role is focused around providing more detail to the Solution Architect's architecture. This would include detailed program specifications creation. The Development Lead is also the first line of support for the developers who need help understanding a concept or working through a particularly thorny issue.
  • Developer (Dev) - The heart and soul of the process, the developer actually writes the code that the Development Leads provided specifications for.
  • Quality Assurance (QA) - The quality assurance role is an often thankless position that is designed to find bugs before they find their way to the end customers. Using a variety of techniques ranging from keying in data and playing with the system to formalized, automated testing scripts the Quality Assurance team is responsible for ensuring the quality of the solution and it's fit to the requirements gathered by the Functional Analyst. Sometimes the QA team is known by their less flattering name of testers.
  • Deployment (Deploy) - The deployment role is the one which packages up all of the compiled code and configuration files and deploys it through the appropriate environments or on the appropriate systems. The deployment role is focused on getting the solution used. To that end the role may include automated software installation procedures or may be as simple as copying the files to the appropriate place and running them.
  • Training - The training role is responsible for documentation for the system as well as any instructor or computer based training solutions, which are designed to help the users better understand how the system works and what they can do with it.
  • Project Manager (PM) - The project manager is responsible for ensuring consistent reporting, risk mitigation, timeline, and cost control. The project manager role is a problem solver role. They try to resolve problems why they are small so that they can be handled more quickly and with less cost.
  • Development Manager (DM) - The development manager is responsible for managing multiple priorities of conflicting projects. The Development Manager role is also an escalation for issues from the team, which it is unable to resolve internally.

Of course, each organization has it's own take on these roles; however, these are the roles you'll see most often in an organization doing development.

Over the course of the next few weeks, articles will be published that delve deeper into each of the above roles.

Critical Skills for Every Role

In the articles describing each role there is a section, much like this one, which is designed to support a bulleted list of items that are critical to the success of the role. During the creation of the series a common set of skills was identified that were essential business skills that professionals in nearly every role needed to consider during their career. Rather than repeat them within the individual articles describing each role, they have been brought together here so that you could consider the impact of these roles in whole no matter where you are in the software development process. The common skills to all roles are:

  • Understanding Business - Although some roles are focused very specifically around certain aspects of understanding and converting business requirements, every role in the process should have an awareness and sensitivity to the business processes and needs which require technology in the first place. Without this technology may be implemented but it may not solve the real needs and will therefore be considered a failure.
  • Broad Understanding - Although an understanding of software development is critical there are other areas where an understanding can be invaluable. For instance, understanding how computers work internally including memory, cache, hard drives, etc., can help you learn how to more appropriately conserve those resources. Similarly understanding networking can help in the development of applications, which are compatible or even friendly to the networks that they're working across. SMEs broad understanding of the industry can be invaluable in terms of creating solutions that fit both the organization and the industry. The QA team can benefit the project by a broad understanding by minimizing QA costs while improving testing coverage. In short, a broad understanding can help every role.
  • Multiple Perspectives - The ability to approach solutions from multiple perspectives is critical to software development. Understanding how each person who is working on a problem views an issue - or how different customers will view the solution is important to be able to find the best solution based on all of the information. There are always multiple ways of viewing - and solving - a problem. The trick is to find the best one from the list of possible options. The larger the list of options (perspectives) the better the solution.
  • People Skills - Also known as soft skills, the ability to interact with other people and to be a part of a team is essential to nearly every role in a software development project. The lower the overall people skills of the team the higher the likelihood that the project will end in some explosion.
  • Lifelong Learning - Although some might argue that the perspective of being a life long learner is more of an attitude than a skill, it is a critical part of being in a high-change industry like IT in general and software development specifically. What is learned today will be obsolete tomorrow. The only way to stay ahead of the game is to approach life from the perspective of continuous learning. Each new experience is a new opportunity to learn and each new year brings with it the need for skills renewal.

In the next article, the first detailed review of a role in the series, we'll delve into the role of the SME in the process and what specific skills can make an SME stand out from the rest.

About the Author

Robert Bogue, MCSE (NT4/W2K), MCSA:Security, A+, Network+, Server+, I-Net+, IT Project+, E-Biz+, CDIA+ has contributed to more than 100 book projects and numerous other publishing projects. He writes on topics from networking and certification to Microsoft applications and business needs. Robert is a strategic consultant for Crowe Chizek in Indianapolis. Some of Robert's more recent books are Mobilize Yourself!: The Microsoft Guide to Mobile Technology, Server+ Training Kit, and MCSA Training Guide (70-218): Managing a Windows 2000 Network. He was honored to become a Microsoft MVP for Microsoft Windows Server - Networking . You can reach Robert at Robert.Bogue@CroweChizek.com

Trackback: http://www.developer.com/print.php/3490871


  • Permanent link to this post Permalink 
  • Share this post! Share It! 
  • View this post's comments Comments (35) 
  • RSS Feed for this post's comments Comment RSS
  •    


Comments

Comments

February 28. 2010 11:54 AM

side effects

Wow, thanks a bunch m8

side effects

April 6. 2010 01:53 PM

mobile banking software

great post for readers.thanks a lot

mobile banking software

April 9. 2010 05:52 PM

payday loans

Deep within man dwell those slumbering powers; powers that would astonish him, that he never dreamed of possessing; forces that would revolutionize his life if aroused and put into action.

payday loans

April 22. 2010 01:31 PM

watch full length movies online

Thank you for this helpfull review. It really was helpfull. Keep up the good work.

watch full length movies online

May 3. 2010 11:43 PM

Lan Measom

Hi, I�m fairly impressed by your blogging skills about this subject . Please make contact with me if a part-time blogging career sounds like some thing you be considering

Lan Measom

May 4. 2010 07:57 PM

free sports games

Good article...

free sports games

May 11. 2010 01:40 AM

Latosha Crest

Hi everybody. This weblog was fantastic! An abundance of awesome data and inspiration. Keep 'em coming... u all perform such a necessary job at writing... can not let you know just how much I, for one be thankful for all you do! this subject this subject this subject ROCKS

Latosha Crest

June 4. 2010 04:14 PM

bathing ape shoes

I am quite agreen with the write's says about the experiencial knowledge of better living.For home improvement I have glance those sits.I found they benifit for life. I want to buy something to home use. Hope you give me a good views
www.always-was.com

bathing ape shoes

June 24. 2010 02:11 PM

fleas on humans

Some interesting information, thank you! I'll refer my blog readers to this site

fleas on humans

June 25. 2010 03:55 AM

fleas on humans

Very interesting post to hang on..Iam really impressed with this article..Looking for more info..

fleas on humans

June 25. 2010 03:25 PM

Acer Aspire One

Do you have any more info on this?

Acer Aspire One

June 25. 2010 04:19 PM

Boats For Sale

Thanks for writing this.  I really feel as though I know so much more about this than I did before.  Your blog really brought some things to light that I never would have thought about before reading it.  You should continue this, Im sure most people would agree youve got a gift.

Boats For Sale

June 26. 2010 08:54 AM

easy recipes

Thank you for your information. Such a very fine post.

easy recipes

June 26. 2010 10:02 AM

Folding Table

One has to think by way of it before coming to a conclusion on about it,beautiful site I like the header.

Folding Table

June 27. 2010 12:25 PM

watch the last airbender movie online

are you using wordpress? This do not look like wordpress...

watch the last airbender movie online

June 28. 2010 06:09 AM

Apple iPod Touch

Please, can you PM me and tell me few more thinks about this, I am really fan of your blog...gets solved properly asap.

Apple iPod Touch

June 29. 2010 07:42 AM

Margaret Sanger

I enjoyed reading it. I need to read more on this topic...I admiring time and effort you put in your blog, because it is obviously one great place where I can find lot of useful info..

Margaret Sanger

July 1. 2010 12:24 PM

Jual Beli Barang

Hi there I like your post

Jual Beli Barang

July 2. 2010 01:36 PM

make money online

This is just the information I am finding everywhere. Thanks for your blog, I just subscribe your blog. This is a nice blog.

make money online

July 3. 2010 08:15 PM

celebrity gossip

Your post is really amazing as it provide visitors with great knowledge.

celebrity gossip

July 4. 2010 03:08 PM

Joye Bennes

We just couldnt leave your website before telling you that we really enjoyed the quality information you offer to your visitors... Will be back soon to check up on new stuff you post!

Joye Bennes

July 6. 2010 04:39 AM

gosip artis

Fantastic read, I just passed this onto a friend who was doing a little study on that. And he really bought me lunch because I located it for him smile So let me rephrase that: Thanks for lunch!

gosip artis

July 7. 2010 08:10 AM

group therapy t-shirts

I think it is time to break down tht roles of software development. Present common roles system confines a programmer in a common circle.

group therapy t-shirts

July 12. 2010 08:55 AM

lenen zonder bkr toetsing

Lenen zonder BKR toetsing gaat vandaag heel gemakkelijk. Binnen een paar uur geld lenen zonder BKR toetsing doet u hier, lees snel verder

lenen zonder bkr toetsing

July 22. 2010 11:57 AM

migraine

Migraine is te genezen. Praktijk voor Migraine, Hoofdpijn en Hormoonstoornissen.

migraine

July 30. 2010 04:12 AM

lenen

BKR problemen? Nu Geld lenen zonder BKR toetsing? Op zoek naar betrouwbare aanbieders? Wij vergelijken banken die u toch kunnen helpen aan een betrouwbare

lenen

July 30. 2010 11:49 AM

free porn

Ninety percent of everything is crap.
DQG827812234

free porn

August 2. 2010 06:10 AM

gelang

amazing stuff thanx

gelang

August 3. 2010 08:14 AM

amiga

Hey - great website, just looking around some websites, seems a pretty nice platform you are using. I'm currently using Wordpress for a few of my blogs but looking to change one of them over to a platform similar to yours as a trial run.

amiga

August 7. 2010 12:51 PM

USA jobs offers

That is nice to definitely find a site where the blogger knows what they are talking about.

USA jobs offers

August 10. 2010 10:11 PM

best dvd ripping software

great post with informative content, many thanks for sharing this.

best dvd ripping software

August 11. 2010 01:36 AM

hypotheek

Bereken zelf uw hypotheek. Hypotheek berekenen? Maak snel een indicatieve berekening van het maximale leenbedrag van uw hypotheek.

hypotheek

August 17. 2010 06:07 AM

manga

Hi I attempted to sign up to your RSS and the link seems to be broken. How can i get around this?

manga

August 19. 2010 01:25 AM

administracja forum

Good post, interesting to view about this.  This is definitely some good information.

administracja forum

August 23. 2010 09:48 AM

gry planszowe

Hello, I'd just like to say, what a interesting post! i'm just doing a bit of research for my website but i had issues reading this post due to the text sticking out on to the side menu....

gry planszowe

About Me

Deepak Kamboj

Deepak Kamboj, MCTS, JCP
ASP.NET/C# Web Developer
Chandigarh, India

RSS Contact Twitter Facebook LinkedIn

Yahoo: DeepakKamboj@yahoo.com
GTalk: DeepakKamboj@gmail.com
Skype: DeepakKamboj

Recent Comments