Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Product Lifecycle
  3. Collaboration / Beta Testing
  4. CP<sup>2</sup> RFC-01 [LEADERSHIP STRUCTURE]

CP<sup>2</sup> RFC-01 [LEADERSHIP STRUCTURE]

Scheduled Pinned Locked Moved Collaboration / Beta Testing
helpsharepointcomgraphicsdesign
19 Posts 7 Posters 3 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Marc Clifton

    A couple comments (that's what these are for, right?) 1. Needs a section for documentation generation and management 2. At minimum, this describes 10 people (well, 12 if you include Documentation Manager and technical writer). Of course, in reality, several of these jobs will probably be combined or shared by one or more people. I for one am very fuzzy as to some of these terms. How is a system lead different from a software lead? What's the difference, functionaly, between a lead and an engineer/tester? I think this really needs a glossary. 3. Too formal. Results in compartmentalization. 4. Too early to do this. This structure can't be supported if there's 2 people on a project, for example. Structures like this are valuable when there's at least one person to fill in every slot (arguably, maybe .5 persons). 5. I'd rather have the project leads pick their organizational model. There are other ones besides this that would fit better, in my thinking, with the dynamic nature of this kind of effort (as in, people contributing their spare time on a voluntary basis). Marc Help! I'm an AI running around in someone's f*cked up universe simulator.
    Sensitivity and ethnic diversity means celebrating difference, not hiding from it. - Christian Graus
    Every line of code is a liability - Taka Muraoka
    Microsoft deliberately adds arbitrary layers of complexity to make it difficult to deliver Windows features on non-Windows platforms--Microsoft's "Halloween files"

    J Offline
    J Offline
    Jason Henderson
    wrote on last edited by
    #6

    Marc Clifton wrote: 1. Needs a section for documentation generation and management Agreed. Someone is going to have to do this, so it would be wise to delegate this responsibility. Marc Clifton wrote: 2. Some of these terms are fuzzy, but they should be defined here in more depth. Marc Clifton wrote: 4. Too early to do this. It won't hurt to discuss this and give PLs more idea on how to do this. Marc Clifton wrote: 5. I'd rather have the project leads pick their organizational model. I agree, but would it not be advantageous to define a minimum standard model for the leadership structure? Maybe standard is the wrong word. How about recommendation?

    Jason Henderson

    My articles

    "The best argument against democracy is a five-minute conversation with the average voter." - Winston Churchill

    1 Reply Last reply
    0
    • M Marc Clifton

      A couple comments (that's what these are for, right?) 1. Needs a section for documentation generation and management 2. At minimum, this describes 10 people (well, 12 if you include Documentation Manager and technical writer). Of course, in reality, several of these jobs will probably be combined or shared by one or more people. I for one am very fuzzy as to some of these terms. How is a system lead different from a software lead? What's the difference, functionaly, between a lead and an engineer/tester? I think this really needs a glossary. 3. Too formal. Results in compartmentalization. 4. Too early to do this. This structure can't be supported if there's 2 people on a project, for example. Structures like this are valuable when there's at least one person to fill in every slot (arguably, maybe .5 persons). 5. I'd rather have the project leads pick their organizational model. There are other ones besides this that would fit better, in my thinking, with the dynamic nature of this kind of effort (as in, people contributing their spare time on a voluntary basis). Marc Help! I'm an AI running around in someone's f*cked up universe simulator.
      Sensitivity and ethnic diversity means celebrating difference, not hiding from it. - Christian Graus
      Every line of code is a liability - Taka Muraoka
      Microsoft deliberately adds arbitrary layers of complexity to make it difficult to deliver Windows features on non-Windows platforms--Microsoft's "Halloween files"

      J Offline
      J Offline
      J Dunlap
      wrote on last edited by
      #7

      Marc Clifton wrote: Of course, in reality, several of these jobs will probably be combined or shared by one or more people. Yes. I'll probably end up in more than 1 job. :) Marc Clifton wrote: How is a system lead different from a software lead? The software lead leads the creation of the software, and the systems lead leads the care of the systems the devs work with (CVS, etc). Marc Clifton wrote: What's the difference, functionaly, between a lead and an engineer/tester? the lead coordinates the work, the engineer does the work. :)

      "Blessed are the peacemakers, for they shall be called sons of God." - Jesus
      "You must be the change you wish to see in the world." - Mahatma Gandhi

      M 1 Reply Last reply
      0
      • J Jason Henderson

        Requested by: Nitron All Request For Comments (RFC) should be posted on my message board[^] where I will then post them here at the proper time. BEGIN ================================================= Nitron wrote: When forming the teams, we will need to fill several positions: Project Manager - responsible organize WBS / tasks / deadlines / deliverables Systems Lead - responsible for keeping systems engineers on track | |----- Systems Engineers - responsible for system design and defining requirements Software Lead - responsible for keeping programmers on task | |----- Software Engineers - responsible for implementing system requirements Test Lead - Responsible for keeping testers on track | |----- Software Testers - responsible for verifying bulletproof code | |----- System Testers - responsible for independently verifying system requirements Configuration Managment Lead - responsible for versioning / bug tracking / problem resolution | |----- Quality Control - responsible for CM and formal release procedures Then aside from coding, we need graphics artists, marketing, and support personnell. This will provide well defined roles and create synergy within the teams. ================================================= END NOTE: Keep in mind how I would like to see the article series structured. See [this post](http://www.codeproject.com/script/comments/forums.asp?forumid=1645&df=100&app=50&select=514096#xx514096xx)[[^](http://www.codeproject.com/script/comments/forums.asp?forumid=1645&df=100&app=50&select=514096#xx514096xx "New Window")] for more info.

        Jason Henderson

        My articles

        "The best argument against democracy is a five-minute conversation with the average voter." - Winston Churchill

        R Offline
        R Offline
        Robert Little
        wrote on last edited by
        #8

        First off wanted to say thank you Jason. You've done a great job so far and we wouldn't be this far without your lead. :rose: As for the proposed structure. I like the fact that it lays out roles. Who fills the roles should be up to the PLs for each project. While this particular structure may not be the best in the opinion of everyone, I think it is a good start. No doubt some individuals will fill more than one role. Some roles will have more than one person. The PL will probably fill most of the lead roles. The structure lays out an important timeline of how to proceed. 1. We gather resources (people) for each project. (PL) 2. Then divide assignments to each person based upon qualifications and strengths. (PL) 3. Then define requirements for the project. (Those interested in project, or just involved) 4. Decide what will be included in first rev. Keeping in mind that the shorter the dev cylce the more likely success. Future revs to follow. (PL and leads) 5. Requirements defined and documented (Systems Engineers) 6. Review and testing of requirements to ensure everything in order. (System Testers. Should not be same as Systems Engineers. Never debug your own work.) 7a. Once requirements approved by PL coding begins. (Software Engineers) 7b. In parrallel, Test plans are created and documented based upon requirements documentation. (Software Testers) 8. Coding completed and reviewed by testers. Modifications made if discovered. Additional tests documented based upon specific code segments. 9. Testing done and results reviewed. 10. Fixes made due to test results. 11. Repeat steps 8-10 as necessary. 12. Product release. As for QA, this would be active throughout entire process. They would be integral in code reviews. Code reviews should be periodic and not wait till end. Final code review for purposes of forming new tests. --

        "The money power of the country will endeavor to prolong its rule by preying upon the prejudices of the people until all wealth is concentrated in a few hands and the Republic destroyed." -- Abraham Lincoln

        1 Reply Last reply
        0
        • J J Dunlap

          Marc Clifton wrote: Of course, in reality, several of these jobs will probably be combined or shared by one or more people. Yes. I'll probably end up in more than 1 job. :) Marc Clifton wrote: How is a system lead different from a software lead? The software lead leads the creation of the software, and the systems lead leads the care of the systems the devs work with (CVS, etc). Marc Clifton wrote: What's the difference, functionaly, between a lead and an engineer/tester? the lead coordinates the work, the engineer does the work. :)

          "Blessed are the peacemakers, for they shall be called sons of God." - Jesus
          "You must be the change you wish to see in the world." - Mahatma Gandhi

          M Offline
          M Offline
          Marc Clifton
          wrote on last edited by
          #9

          Well, yes, I suppose that's obvious, but these things really need some formal definition so people know what is expected of them. Personally, I think it's too management topheavy. Marc Help! I'm an AI running around in someone's f*cked up universe simulator.
          Sensitivity and ethnic diversity means celebrating difference, not hiding from it. - Christian Graus
          Every line of code is a liability - Taka Muraoka
          Microsoft deliberately adds arbitrary layers of complexity to make it difficult to deliver Windows features on non-Windows platforms--Microsoft's "Halloween files"

          J A 2 Replies Last reply
          0
          • M Marc Clifton

            Well, yes, I suppose that's obvious, but these things really need some formal definition so people know what is expected of them. Personally, I think it's too management topheavy. Marc Help! I'm an AI running around in someone's f*cked up universe simulator.
            Sensitivity and ethnic diversity means celebrating difference, not hiding from it. - Christian Graus
            Every line of code is a liability - Taka Muraoka
            Microsoft deliberately adds arbitrary layers of complexity to make it difficult to deliver Windows features on non-Windows platforms--Microsoft's "Halloween files"

            J Offline
            J Offline
            J Dunlap
            wrote on last edited by
            #10

            Marc Clifton wrote: Personally, I think it's too management topheavy. And it would be, except that one person can take more than one role. It would be nice if people could "slide" into it according to their abilities, but I don't know how that would work. Maybe in the course of discussions, we will get some kind of idea of who will do best at what.

            "Blessed are the peacemakers, for they shall be called sons of God." - Jesus
            "You must be the change you wish to see in the world." - Mahatma Gandhi

            1 Reply Last reply
            0
            • J Jason Henderson

              Requested by: Nitron All Request For Comments (RFC) should be posted on my message board[^] where I will then post them here at the proper time. BEGIN ================================================= Nitron wrote: When forming the teams, we will need to fill several positions: Project Manager - responsible organize WBS / tasks / deadlines / deliverables Systems Lead - responsible for keeping systems engineers on track | |----- Systems Engineers - responsible for system design and defining requirements Software Lead - responsible for keeping programmers on task | |----- Software Engineers - responsible for implementing system requirements Test Lead - Responsible for keeping testers on track | |----- Software Testers - responsible for verifying bulletproof code | |----- System Testers - responsible for independently verifying system requirements Configuration Managment Lead - responsible for versioning / bug tracking / problem resolution | |----- Quality Control - responsible for CM and formal release procedures Then aside from coding, we need graphics artists, marketing, and support personnell. This will provide well defined roles and create synergy within the teams. ================================================= END NOTE: Keep in mind how I would like to see the article series structured. See [this post](http://www.codeproject.com/script/comments/forums.asp?forumid=1645&df=100&app=50&select=514096#xx514096xx)[[^](http://www.codeproject.com/script/comments/forums.asp?forumid=1645&df=100&app=50&select=514096#xx514096xx "New Window")] for more info.

              Jason Henderson

              My articles

              "The best argument against democracy is a five-minute conversation with the average voter." - Winston Churchill

              N Offline
              N Offline
              Nitron
              wrote on last edited by
              #11

              Firstly, the intent wasn't to formally structure or "compartmentalize" a team. I just wanted to formally identify roles that define a well balanced software team. As was mentioned, some people will likely fill several roles at the same time, while others may not. So for a clearer definition of the terminology, consider this: Systems Lead - When assuming this role, you need to view things from the system-level. That is, not to have vision clouded by the details of the bug you spent all morning trying to fix. A system-level view has one target audience: the customer. What does the customer need? (Remember, the customer most likely doesn't know what they want.) How do you plan to meet that need? Is the current design in line with the project goals and mission statement? The systems lead has the highest view of the project, sometimes higher even than the project manager. Systems Engineer - These people carry out the system-level objectives and produce concrete output in terms of documentation and system design. The systems engineer carefully considers the customer's need and approaches it with a software mind. The systems engineer takes these high-level goals and visions and breaks them down into system-level requirements. That is, functional requirements that are divided into manageable and logical components that, when all met successfully, roll up into a deliverable product and lead to a happy customer. Software Lead - The software lead is different than the systems lead in that the level of requirements is lower. Rather than dealing with global high-level requirements, the software lead has a logical set of functional requirements from which to work. This is where the rubber meets the road so to speak. The software lead considers things like the actual implementation of a certain module of code. (Notice the systems engineer never even came in contact with the mechanics of the actual implementation.) The software lead keeps the software engineers focused and on task. Software Engineer - These are the individuals responsible for designing the detailed mechanics of an implementation and actually coding it. In all aspects, these individuals are more involved than the proverbial "code-monkey". In this infrastructure, the software engineer commits more than just code to the project, they commit experience and design. The software engineer has a dark side as well... Just as the systems engineer documents and delivers system-level functional requirements,

              P 1 Reply Last reply
              0
              • N Nitron

                Firstly, the intent wasn't to formally structure or "compartmentalize" a team. I just wanted to formally identify roles that define a well balanced software team. As was mentioned, some people will likely fill several roles at the same time, while others may not. So for a clearer definition of the terminology, consider this: Systems Lead - When assuming this role, you need to view things from the system-level. That is, not to have vision clouded by the details of the bug you spent all morning trying to fix. A system-level view has one target audience: the customer. What does the customer need? (Remember, the customer most likely doesn't know what they want.) How do you plan to meet that need? Is the current design in line with the project goals and mission statement? The systems lead has the highest view of the project, sometimes higher even than the project manager. Systems Engineer - These people carry out the system-level objectives and produce concrete output in terms of documentation and system design. The systems engineer carefully considers the customer's need and approaches it with a software mind. The systems engineer takes these high-level goals and visions and breaks them down into system-level requirements. That is, functional requirements that are divided into manageable and logical components that, when all met successfully, roll up into a deliverable product and lead to a happy customer. Software Lead - The software lead is different than the systems lead in that the level of requirements is lower. Rather than dealing with global high-level requirements, the software lead has a logical set of functional requirements from which to work. This is where the rubber meets the road so to speak. The software lead considers things like the actual implementation of a certain module of code. (Notice the systems engineer never even came in contact with the mechanics of the actual implementation.) The software lead keeps the software engineers focused and on task. Software Engineer - These are the individuals responsible for designing the detailed mechanics of an implementation and actually coding it. In all aspects, these individuals are more involved than the proverbial "code-monkey". In this infrastructure, the software engineer commits more than just code to the project, they commit experience and design. The software engineer has a dark side as well... Just as the systems engineer documents and delivers system-level functional requirements,

                P Offline
                P Offline
                Paul Watson
                wrote on last edited by
                #12

                That was fantastic Nitron, a wealth of knowledge and good sense. I certainly see us putting together a CPSF (Code Project Solutions Framework) for developing software. We cannot just come out of CP2 with just applications. We should come out with a strong process model as well. From the sounds of it you would be the lead of that project :)

                Paul Watson
                Bluegrass
                Cape Town, South Africa

                Chris Losinger wrote: i hate needles so much i can't even imagine allowing one near The Little Programmer

                N 1 Reply Last reply
                0
                • J Jason Henderson

                  Requested by: Nitron All Request For Comments (RFC) should be posted on my message board[^] where I will then post them here at the proper time. BEGIN ================================================= Nitron wrote: When forming the teams, we will need to fill several positions: Project Manager - responsible organize WBS / tasks / deadlines / deliverables Systems Lead - responsible for keeping systems engineers on track | |----- Systems Engineers - responsible for system design and defining requirements Software Lead - responsible for keeping programmers on task | |----- Software Engineers - responsible for implementing system requirements Test Lead - Responsible for keeping testers on track | |----- Software Testers - responsible for verifying bulletproof code | |----- System Testers - responsible for independently verifying system requirements Configuration Managment Lead - responsible for versioning / bug tracking / problem resolution | |----- Quality Control - responsible for CM and formal release procedures Then aside from coding, we need graphics artists, marketing, and support personnell. This will provide well defined roles and create synergy within the teams. ================================================= END NOTE: Keep in mind how I would like to see the article series structured. See [this post](http://www.codeproject.com/script/comments/forums.asp?forumid=1645&df=100&app=50&select=514096#xx514096xx)[[^](http://www.codeproject.com/script/comments/forums.asp?forumid=1645&df=100&app=50&select=514096#xx514096xx "New Window")] for more info.

                  Jason Henderson

                  My articles

                  "The best argument against democracy is a five-minute conversation with the average voter." - Winston Churchill

                  A Offline
                  A Offline
                  Anders Molin
                  wrote on last edited by
                  #13

                  I'm not sure I really like that structure, it needs a lot of people. To be honest it looks like something they use at IBM or other big old compagnies ;) I think the project lead should pich his own structure, because the structure always depends on the team, and the people on the team. - Anders Money talks, but all mine ever says is "Goodbye!"

                  J N 2 Replies Last reply
                  0
                  • A Anders Molin

                    I'm not sure I really like that structure, it needs a lot of people. To be honest it looks like something they use at IBM or other big old compagnies ;) I think the project lead should pich his own structure, because the structure always depends on the team, and the people on the team. - Anders Money talks, but all mine ever says is "Goodbye!"

                    J Offline
                    J Offline
                    Jason Henderson
                    wrote on last edited by
                    #14

                    Anders Molin wrote: I think the project lead should pich his own structure I think so too, but are there any basic roles you think need to be filled? Examples: Source Manager, Tech. Writer, QA Manager, etc.

                    Jason Henderson

                    My articles

                    "The best argument against democracy is a five-minute conversation with the average voter." - Winston Churchill

                    A 1 Reply Last reply
                    0
                    • J Jason Henderson

                      Anders Molin wrote: I think the project lead should pich his own structure I think so too, but are there any basic roles you think need to be filled? Examples: Source Manager, Tech. Writer, QA Manager, etc.

                      Jason Henderson

                      My articles

                      "The best argument against democracy is a five-minute conversation with the average voter." - Winston Churchill

                      A Offline
                      A Offline
                      Anders Molin
                      wrote on last edited by
                      #15

                      Of course there is, but I don't know all of them before I see the tools we have to work with here on CP, and before I see the size/type of my team ;) I hate when people make rules, saying we are going to do it this way, and then they force the team to work like that. I love flexibility, and like to make the rules so they fit the team, this way your team is more happy, and if you do it right, you get a better product. - Anders Money talks, but all mine ever says is "Goodbye!"

                      J 1 Reply Last reply
                      0
                      • A Anders Molin

                        Of course there is, but I don't know all of them before I see the tools we have to work with here on CP, and before I see the size/type of my team ;) I hate when people make rules, saying we are going to do it this way, and then they force the team to work like that. I love flexibility, and like to make the rules so they fit the team, this way your team is more happy, and if you do it right, you get a better product. - Anders Money talks, but all mine ever says is "Goodbye!"

                        J Offline
                        J Offline
                        Jason Henderson
                        wrote on last edited by
                        #16

                        Don't get me wrong, I don't want to force rules on you. These posts are just requests for comments that will help these projects get off the ground and on the right path.

                        Jason Henderson

                        latest CPP news

                        "If you are going through hell, keep going." - Winston Churchill

                        1 Reply Last reply
                        0
                        • M Marc Clifton

                          Well, yes, I suppose that's obvious, but these things really need some formal definition so people know what is expected of them. Personally, I think it's too management topheavy. Marc Help! I'm an AI running around in someone's f*cked up universe simulator.
                          Sensitivity and ethnic diversity means celebrating difference, not hiding from it. - Christian Graus
                          Every line of code is a liability - Taka Muraoka
                          Microsoft deliberately adds arbitrary layers of complexity to make it difficult to deliver Windows features on non-Windows platforms--Microsoft's "Halloween files"

                          A Offline
                          A Offline
                          Anders Molin
                          wrote on last edited by
                          #17

                          Marc Clifton wrote: Personally, I think it's too management topheavy. Me too :) - Anders Money talks, but all mine ever says is "Goodbye!"

                          1 Reply Last reply
                          0
                          • A Anders Molin

                            I'm not sure I really like that structure, it needs a lot of people. To be honest it looks like something they use at IBM or other big old compagnies ;) I think the project lead should pich his own structure, because the structure always depends on the team, and the people on the team. - Anders Money talks, but all mine ever says is "Goodbye!"

                            N Offline
                            N Offline
                            Nitron
                            wrote on last edited by
                            #18

                            Anders Molin wrote: I'm not sure I really like that structure, it needs a lot of people. Please, don't think of it as "structure". That was a bad term. Think of it as an offensive lineup, or the types of players that need to take the field during a pariticular play. I bascially gave an overview of an entire (american) football team. You need an offense, defense, and kick-off/punt/fieldgoal speciality teams, each customized for their task. The flexibility is there for project leads to do as they choose, but somehow in some form those roles need to be filled. I am not saying one person per role, several people will fill several roles, that is certain. I do however feel that you cannot deliver an SEI level 3 or higher product with any of those roles missing. (especially as the projects get larger and more ambitious) Anders Molin wrote: To be honest it looks like something they use at IBM or other big old compagnies Relative to other areas of engineering disipline, software engineering is quite new, and is in need of some form of measurement of quality IMO. It's not intended as an imposing paradigm but as a standard against which to judge. - Nitron


                            "Those that say a task is impossible shouldn't interrupt the ones who are doing it." - Chinese Proverb

                            1 Reply Last reply
                            0
                            • P Paul Watson

                              That was fantastic Nitron, a wealth of knowledge and good sense. I certainly see us putting together a CPSF (Code Project Solutions Framework) for developing software. We cannot just come out of CP2 with just applications. We should come out with a strong process model as well. From the sounds of it you would be the lead of that project :)

                              Paul Watson
                              Bluegrass
                              Cape Town, South Africa

                              Chris Losinger wrote: i hate needles so much i can't even imagine allowing one near The Little Programmer

                              N Offline
                              N Offline
                              Nitron
                              wrote on last edited by
                              #19

                              Paul Watson wrote: That was fantastic Nitron, a wealth of knowledge and good sense. :-O ... it happens every now and then. :rolleyes: - Nitron


                              "Those that say a task is impossible shouldn't interrupt the ones who are doing it." - Chinese Proverb

                              1 Reply Last reply
                              0
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • World
                              • Users
                              • Groups