This senior position involves the individual acting as a mentor for teams of software developers and coordinating and managing various junior mentors.
The junior position involves the individual who refactors software and performs code analysis, code reviews and basic refactoring. As a team they audit and improve the development code with the senior mentor coordinating the improvement of developers.
I would hesitate to say that any mentor can have a junior role as you would typically have someone with a fair amount of talent and previous developer experience taking upon the 'junior position'. Is it more of an AssistantMentor?
or that of SeniorDeveloper?
on the same team as the SeniorMentor?
I moved some of my earlier comments from AgileProcess
here as it is more appropriate.
I envision an AgileProcess
that is not a current C
ontemporaryRole that has a team of developers whose sole purpose is to refactor application code. Their job is not to create tests, nor is it to do the job of developers in the DevelopmentRole?
. Their job is to aid the development process by (a) continuous refactoring, (b) finding and solving issues before they are caught by testers in the TestRole?
, (c) report to management so that risks can be identified A.S.A.P, (d) consolidate ideas generated internally to the team such as product possibilities, additional possible product features and then report and credit those ideas, (e) facilitate and identify where developer education may be used to improve staffs ability by identifying bad practices, (f) taking on the professional role to protect managements investment and allow management to make strategic decisions.
They may report to the team but they most certainly report to management. They perform "refactoring" and "auditing" functions for management on managements investment allowing development teams to enhance the product. They are most similar in purpose to the TestRole?
except that they do not perform black box testing. Their job is most certainly NOT to add additional features and they are definitely not "spies".
The role must complement both software development and management.
It is not an AuditRole?
, nor is it a RefactoringRole?
, although that is the bulk of the role's activity (to refactor), I would say it is a CleanupRole?
does not sound professional. InvestmentRole?
What would the agile process be called and derive the role name from that.
The role is that of QualityAssurance
. Quality can be achieved by continually refactoring code, mentoring and improving developers, performing research into the software products to understand the user/target issues, identify areas needing unit and software testing.
To highlight the QA research - Feedback from QA research around user issues process should highlight deficiencies in the requirements or highlight additional features or aspects missed in the requirements. Once these topics are identified they can be managed and planned by management. QA is a whole topic in itself that is commonly left until the last moment.