HUMAN RESOURCES PROJECT MANAGEMENT
project team members,
suppliers supporting the project
1. Planning human resource management involves identifying and documenting project roles, responsibilities, and reporting relationships. The main output of this process is a human resource plan.
2. Acquiring the project team involves assigning the needed personnel to work on the project. Key outputs of this process are project staff assignments, resource calendars, and project management plan updates.
3. Developing the project team involves building individual and group skills to enhance project performance. Team-building skills are often a challenge for many project managers. The main outputs of this process are team performance assessments and enterprise environmental factors updates.
4. Managing the project team involves tracking team member performance, motivating team members, providing timely feedback, resolving issues and conflicts, and coordinating changes to help enhance project performance. Outputs of this process include change requests, project management plan updates, project documents updates, enterprise environmental factors updates, and organizational process assets updates.
Process: Plan human resource management
Output: Human resource plan
Process: Acquire project team
Outputs: Project staff assignments, resource calendars, project management plan updates
Process: Develop project team
Outputs: Team performance assessments, enterprise environmental factors updates
Project Start Project Finish
Process: Manage project team
Outputs: Change requests, project management plan updates, project documents updates, enterprise environmental factors updates, and organizational process assets updates
RESPONSIBILITY ASSIGNMENT MATRIX (RAM)
WEB DEVELOPMENT TEAM
1. Requirements Analyst
The requirements analyst will be the first web team member you'll need to communicate with. An analyst takes your product ideas and turns them into clear technical specifications. In other words, the requirements analyst's job is to understand what you want your project to look like and then to communicate this information to the rest of the web development teamA requirements analyst aims to fulfil these three tasks:
No matter what kind of project you're developing, be it a CRM tool for your hardware installation company or a piece of marketing management software, the first question a requirements analyst asks is always “What goals do you want to achieve with your project?” An analyst first and foremost needs to understand your business needs. But that's not all.
An analyst will also gather functional requirements for the project. Functional requirements are elicited with questions such as: “What goal will a user accomplish with this feature?” and “What architecture do you want for your application?” A requirements analyst helps determine not only what features will be available in your app, but also what features should be available.
But raw requirements data won't help a web development team build your actual product. A requirements analyst must translate these data into concrete product specifications that the team can consult. More specifically, an analyst describes what each block of a web application must do, what each feature must accomplish, what buttons should be clicked to fulfil a particular business objective, and so on.
“When the user checks X box, then the system changes a placeholder in the number field to Serial, and when the user enters a serial number in this field and clicks Add, the system checks…” – these kinds of precise and boring, yet indispensable descriptions will serve as documentation for the development team. If a description is very long, the analyst will describe it with a diagram.
The work of the requirements analyst isn't over after product development has begun. Although the initial requirements have been defined, product requirements frequently change during development. An analyst will contact you through the development process to clarify and approve changes to the requirements and new requirements.
These are the typical responsibilities of a requirements analyst:
Eliciting project requirements
Communicating requirements to other team members
Analyzing product requirements
Developing necessary documentation
Managing the project's scope
2. UX & UI Designer
You'll get familiar with at least two roles of the designer. Most web development teams actually include just one designer who works on both the user experience and the user interface design.
Let's see what UX designers are responsible for.
UX designers gather the functional user requirements. They create user personas – descriptions of individuals with the product's target audience – and make sure that the product design helps resolve actual problems that the target audience faces.
UX designers might also write user stories (i.e. scenarios or storyboards) to describe user behavior when interacting with an application. They don't just follow the specifications documented by a requirements analyst. UX designers must further stipulate how product features can and should be implemented.
UX designers also perform the following duties:
Create information architecture (i.e decide how information is organized and presented to the user)
Develop wireframes (product blueprints that show the web application's structure)
Create prototypes for user testing
Designing the user interface is different from developing the user experience. While the UX designer focuses on functionality and user interactions, the UI designer makes everything look good – that's why this role is introduced to web development teams.
The UI designer is responsible for the product visuals, which include the color scheme, fonts, and overall style. The UI designer might also design micro-interactions, animations, and even logos and brand-specific fonts.
We've concentrated on descriptions of the UX and UI designer as individuals. But if your project requires even more work than one person can handle, more designer roles may be introduced. For example, interaction design and information architecture design can be done by dedicated designers in big web development teams.
At RubyGarage and at most other development companies, however, a single designer develops both the UX and UI.
3. Web Developers
Now that we know who designs website prototypes and makes them look good, we need to mention the developers who bring the design to life in code.
But what if your project grows? To improve the team's performance, the duties of full-stack web developers are divided among two or more specialized developers.
First, there are HTML and CSS developers. They turn product visuals into code. Keep in mind that HTML and CSS developers don't develop functionality! They only bring the UI designer's work to life in code.
Last but not least, there are back-end developers. In a nutshell, they implement the application's business logic and design the server architecture for the app. Here are the duties of back-end developers:
Write server-side scripts
Create and manage databases
Integrate the application with cloud computing services
Develop or integrate a Content Management System
Implement security standards
In addition to these responsibilities, back-end developers often take on Development-Operations tasks: maintaining server infrastructure and updating and releasing new versions of the application. For more demanding projects we bring in a Development-Operations (DevOps) engineer, a role we mentioned earlier.
Web developers make products scalable, testable, and stable, and make sure that they meet your business requirements.
There's just one team member we haven't talked about yet – the Quality Assurance (QA) specialist. QAs help web developers find bugs and launch stable apps.
4. Quality Assurance Specialists
Quality Assurance (QA) engineers are impartial guards of product quality. As soon as web developers bring new features to an application, QA engineers look high and low for issues with business logic or design.
QA engineers perform acceptance testing to guarantee that your product works according to the business requirements. They prepare testing strategies, develop test plans and test cases, execute those tests, and track bugs. When automation tests fail, they write bug reports and later double-check that web developers have successfully fixed all issues.
QA engineers also prepare testing environments – most notably, a development server – to test your application for compatibility with various browsers and hardware platforms.
Here's a list of the most important responsibilities of a QA engineer:
Test software quality
Performing regression and negative tests
Test the user interface and app compatibility with various browsers
ANDROID /IOS DEVELOPMENT TEAM
Project Manager, Business Consultant or Strategist – the position has many names, almost as many, as the responsibilities it involves. Still, the Visionary unites multiple tasks under one term, which also captures the position's main function: leading the entire project to the vision of an ideal mobile app.
To do that, a person should have deep and diverse knowledge of the business industry targeted by the mobile project as well as be well-versed in management, development methodologies and mobile development per se. A visionary is also responsible for the app's consistency and makes sure it matches the customer's requirements described in the specification documents.
Basically, a visionary is a person in charge who should:
have a solid technical background,
have good understanding of the business line,
inspire, manage and lead human resources,
possess high sense of responsibility,
be good at multitasking.
Design implementation may only sound as a one-step work. In reality, mobile design experts first have to work with documentation. After processing the requirements, the team devises the app's navigation mechanics and creates basic wireframes. Then, designers work on the look and feel of the app, replicating identical UI/UX for specific platforms or creating a stand-alone one for hybrid apps.
A team of designers should consist of:
A design team is flexible in their development process. Often, they prefer to work on delivering the UI/UX along with testing it: they step back, let the users to try out their current project, get their feedback and then discuss and make changes at any stage.
The job of the Android or iOS development team is to process the finished UI/UX layouts and implement them all in a real application. Developers should have experience in working with a platform of choice and its languages:
Java/Kotlin for Android
Objective-C/Swift for iOS
C# for Windows Phone
Cross-platform mobile development will need other skills:
HTML/CSS/JS for PhoneGap and Cordova
C# for Xamarin
Apart from their technical experience, mobile engineers should also have some character traits that would help them succeed in delivering projects. One of them is agility – that is the drive to quickly develop a solid basis for an app and improve it further.
4. Quality Assurance specialists
QA experts are the first and the most critical audience of the end product. As they test an entire mobile app, they have the right to decide when the project is ready to be presented to the customer or delivered to the market. But before making this decision, they should point out all the options for improvement and prove how these improvements are indeed necessary.
5. Sales and Marketing specialists
All efforts of delivering a product would be almost for nothing if not for the efforts of the sales and marketing team. Communicating with customers, working on a product brand and creating advertising materials, sales and marketing experts turn the product into profit and consolidate success of a large teamwork.
The Optimal App Development Team Structure
When looking for an app development company to help with your million dollar idea, you should make sure they have a team structure with dedicated roles for the following positions:
iOS Developer – The iOS developer is responsible for making sure the App can run on Apple devices like the iPhone or iPad.
Android Developer – The android developer is responsible for making sure the App is capable of running on Android devices. It's important to find a developer who is capable of building an App that can function on both iOS and Android so that you have options.
Quality Assurance (QA) – Quality assurance is involved in the App for every step of development, not just the testing phase. It's important for them to be there from the very start to make sure every aspect of the App is successful.
Product Owner (Scrum) – The product owner is the liaison between the customers of the App and the team developing it, discovering and conveying the necessary features to the team for development.
SCRUM Master – The scrum master is responsible for how information is exchanged by a team and for taking point in the daily scrums, which are meetings with the development team that assess how the work is going and what needs to be done to accomplish it.
Backend PHP Developer – Frontend development is responsible for how the App looks to the user, whereas backend development involves the processing that's needed to create the frontend.
UI Designer – User interface (UI) describes everything that the customer can interact with in the App. The UI designer is responsible for making sure the interface is aesthetically pleasing to the end user.
UX Designer – User experience (UX) differs from UI, while UI is about what the user is seeing when they use the App, UX is about how they are feeling when they use the App. It is important to have separate employees on each of these positions because although they appear similar they require very different skills.
Who's Who in a Web Development Team.https://rubygarage.org/blog/web-development-team
...(download the rest of the essay above)