Upload
dinhthu
View
215
Download
0
Embed Size (px)
Citation preview
Approach
Let's try to start from the very beginning of a software product creation and see which people are involved and which responsibilities they have.
Caveats
It’s just an example. In real life, one person might be responsible for different areas of software development and product creation lifecycle might be different.
Client request
● Build online schedule app (solution)
● Build online courses app (solution)
● Improve average students’ grades (problem)
Product owner
Product owner is typically a project's key stakeholder. Main part of the product owner responsibilities is to have a vision of what he or she wishes to build, and convey that vision to the team.
Project manager
A project manager is a person who has the overall responsibility for the successful initiation, planning, design, execution, monitoring, controlling and closure of a project.
Business analyst
The main task of Business analyst is understanding of business change needs, assessing the business impact of those changes, capturing, analysing and documenting requirements and supporting the communication and delivery of requirements with relevant stakeholders.
Impact mapping
Why, Who, How, What
Improve avg grades
5%
Student
Teachers
Parents
Other students
Interestingcourses
Career motivation
Easy resources access
Easy courses access
Control
Competition
Mentoring
Pair / group studying
Feedback
News
Online courses
Online schedule
Online grades
Online ranking, competitions
Community
Events / hackatons
Proposed software solutions
● News (success stories, career opportunities, news)
● Courses (resources for courses like video, program, books)
● Schedule (schedule, deadlines, reminders)
● Grades (grades, ranking)
● Community (mentoring, events, competitions)
Minimum Viable Product
Product owner Project manager
Client Softwarecompany
PrioritizationBudget
Deadlines Other
conditions
Software architect
A person who is making important choices that is hard / expensive to change later on and which should bring the product to success.
● Cloud platform (Azure, Google Cloud, Amazon Cloud)● Software frameworks: .NET, Java, PHP, ...● Application frameworks: ASP.NET, Spring MVC, Zend, …● Databases: SQL Server, Oracle, MySql, Cassandra, MongoDB, ...
UI / UX Designer
A designer is responsible for creating an attractive and user-friendly design and layout of an application. It can be a website, desktop or mobile application designs.
Backend developer
A back-end developer is a type of programmer who creates the logical back-end (server-side) and core computational logic of a website, software or information system. The developer creates components and features that are indirectly accessed by a user through a front-end application or system.
Frontend developer
A front-end web developer is responsible for implementing visual elements that users see and interact with in a web application. They are usually supported by back-end web developers, who are responsible for server-side application logic and integration of the work front-end developers do.
Mobile developer
Mobile developer is responsible for the development of mobile apps which can be installed and used on mobile devices such as mobile phones, tablets, and wearable devices.
Quality Assurance engineer
Quality Assurance (QA) engineer is developing and executing exploratory and automated tests to ensure product quality. QA engineer responsibilities include designing and implementing tests, debugging and defining corrective actions, reviewing system requirements and tracking quality assurance metrics (e.g. defect densities and open defect counts.)
DevOps engineer
DevOps engineer works collaboratively with software engineering to deploy and operate systems, help automate and streamline operations and processes, build and maintain tools for deployment, monitoring, and operations, troubleshoot and resolve issues in dev, test and production environments.
Scrum master
A scrum master is the facilitator for an agile development team. The ScrumMaster does anything possible to help the team perform at their highest level. This involves removing any impediments to progress, facilitating meetings, and doing things like working with the product owner to make sure the product backlog is in good shape and ready for the next sprint.
HR manager
The role of an HR manager is to manage, create, implement and supervise policies/regulations, which are mandatory for every employee and also have knowledge of its appropriate functioning.
Recruiter
The key role of recruiter is to find talented candidates for open job positions using social networks and different communication channels.
Application and data intelligence
● Student studying forecast
● Courses recommendations
● Auto phone grades for parents
● Students courses registration using chat bot
Artificial intelligence● Driverless cars
● Preventive healthcare
● Humanoids
● Faces recognition
● Recommendations
● Personalized marketing and sales
● Spam detections
● Personal helpers
● ...
Machine learning math
● Stanford University course
Data scientist
Data scientist is someone who knows how to extract meaning from and interpret data, which requires both tools and methods from statistics and machine learning.
Game developer
Game developers are software developers and engineers who create video games. Game developers may be involved in various aspects of a game's creation from concept and story writing to the coding and programming. Other potential areas of work for a game developer include audio, design, production and visual arts.
IT market in Ukraine
● Salaries
● Technologies