Starting a software development Project and Team
1. Get the Requirements
Get the following information as follows:
– What is the Project output? Working software, Documentation, level of testing and etc…
– What are the Project inputs? Document, 3rd Party Software, Another System, New Hardware and etc..
– What is the project duration and schedule?
2. Get the right persons that has skills to build the project
In a software development team, A certain structure of persons involved are as follows.
A. Project Leader / Project Manager
– Acts as the overall owner of the project. Calls on the huge project decisions and is main contact point of the stakeholders. Much better if he also has great technical skills to review and check his colleagues work, So he wont be too dependent on the developers. His/Her overall work scope is to know and check the work of the Senior/ SME ( Subject Matter Expert ) , the Developers and the Analysts/QA Engineers.
B. Senior Engineer / Subject Matter Expert on the Technical Level
– It is required that a team must have at least one or more Senior Engineers or Technical Experts. This person will be responsible for the all the difficult or critical software / hardware tasks. He will also act as a mentor or coach to the other engineers or developers as well. He may not handle scheduling and deliverable negotiations, but will be an important team member and has a decision regarding technical matters, that concerns the deliverable and schedule.
C. System Analyst / QA Engineer
– will not take on a developer role but will act as requirements analyst or a quality engineer on the user perspective. Must check the project output if it corresponds correctly to the requirements given.
D. Software Developers
– In a project, a certain software developer may be required, depending on the project needs. This software developer may have a various skillset on any level or a specialized skill such as; GUI/Screen designer, Back-end developer, Database developer, Software tester and etc. If an efficient Project Leader, Senior Engineer and System Analyst is on the team, a Developer’s work may be of much less of a burden. All they have to think about is the implementation of the project module.
After getting persons to work on the project, It is required to test the System software prototype against the existing hardware. Insufficient Hardware needs ( such as capacity and etc.. ) may put the project to risk. Also make sure that the input software, and the System works on the team’s hardware setup.
4. Pitfalls on creating software development teams.
Most IT / Software Project Managers fall short on identifying the roles of each developer/engineer. There are times that the Manager acts as the SME and also the Analyst, which will cause a burden on his part. On most cases, all huge mistakes will fall on the Project Leader/Manager. The engineers limitations are only on the assigned tasks given to them, provided they are already capable of their assignments.
Another pitfall is the total reliance of the Manager to its members, where he does very little decision making by himself. An important decision maker is needed, who has the entire project overview to make the software project successful.