Apuntes
Week 1
Contenido del apunte (5)
Página 1
https://courses.edx.org/courses/course-v1:TUMx+SEECx+3T_2017/course/
https://www.youtube.com/watch?time_continue=51&v=tY8JGd2svd8



Página 2
Prototyping
https://courses.edx.org/courses/course-v1:TUMx+SEECx+3T_2017/courseware/d91c7ec8a379406d80f87f7377bed2f5/2d2999d8876b4f1ab401d6c7583ef397/?child=first




Página 3
UML Activity Diagram
https://courses.edx.org/courses/course-v1:TUMx+SEECx+3T_2017/courseware/d91c7ec8a379406d80f87f7377bed2f5/2aa8c3e2fdb24d5fb51442d4b9b03eb1/?child=first



Página 4
Meeting Management
Communication
Software engineers need to acquire several skills
collaboration: deal with the requirement
presentation: presenting the system during review
technical writing: write a project proposal and documentation
management: team meeting, finding a compromise, negotiating between conflict
Meeting Management
people get bored and taking with another member.
meeting management is the process of tracking the activity to plan and ensure productive meeting where all important discussion and information can be shared with everyone.
Respect the agenda and keep on time
Página 5
Week 1- Summary
During the first week of SEECx course, you learned about the core concepts of Project Organization and Management. You went through some basic concepts to understand how a group of people forms a team and collaborates together to achieve a common objective and create a high-quality software system.
A project is an undertaking, limited in time, with a clear goal and a specific budget, requiring a concerted effort. Usually, the project is developed by a team consisting of several team members and a project manager. The project manager takes care of the process and administers the resources available for the project. Team members play different roles during a project and each of them has several responsibilities. The goal of the team is to develop a high-quality software system, with the given resources (budget), before the deadline (time), while considering a change that occurs during the process. People can be organized in different structures while working in the organization. There are three main organizational forms: Functional organization, Project-based organization and Matrix organization.
Working in a team requires a lot of communication! Communication is crucial to project development and a lot of time is spent for it (In large organizations developers spend more time on communicating than writing source code!). Team members communicate using different tools (mechanisms) such as email, Slack, Skype, etc. Some of the communication may be unplanned, they happen by coincidence (e.g. two developers talk about a bug while grabbing a coffee), while another communication is planned beforehand. One of the most important planned communication happens in team meetings. Team members are gathered to discuss the progress and different issues/impediments of the project.
Meetings are facilitated by the primary facilitator, who takes care following the meeting agenda as planned. The minute taker writes notes during the meeting and the timekeeper makes sure that the meeting time does not extend unnecessarily. All the team members should actively participate in the meeting, to achieve a successful communication inside the team.
During the undertaking of a project, the development team has to fulfil several activities. These activities and the relationships between them are described by a software lifecycle. In the real-world scenarios organizations adopt different software lifecycles, sometimes even tailored to the concrete organization needs. Some old software lifecycles include the Waterfall model, V-Model, the Spiral model.
Nowadays, one of the most used software lifecycles is Scrum, a methodology based on empirical process control, which philosophy is to adapt to change happening during the development process. This methodology sees change as an opportunity to adapt to new situations. The development process in Scrum starts with analyzing the problem statement and creating a product backlog. The development process is encapsulated into time-boxed iterations called Sprints. During each sprint, certain items (sprint backlog) from the product backlog are developed by the team and presented to the product owner at the end of the sprint. The product owner provides feedback for the shipped result of the sprint and the team improves the product in the upcoming sprints based on that. The team is guided by a scrum master, who is an experienced software engineer responsible for the process and who resolves impediments. During the scrum process, the team organizes several meetings to coordinate the process and achieve the required results of the project.
The key of success to the solving of a problem is to understand it! The development team should start the process with analyzing the given problem and try to formalize it. Prototyping helps to create some initial ideas on the product and initiates discussions with the product owner. It helps the team to understand what the product owner want as an end-product. UML diagrams allow the development team to formalize the knowledge for the problem and create a common formalized knowledge-reference for the team. Software lifecycles can be illustrated using UML activity diagrams.
During the upcoming weeks, you will learn how the team can develop the product, which tools and methodologies should be used and how the different activities of the software lifecycle can be handled during the process of the development.


Información
- Descripción
- Apunte sobre Week 1, creado por Hassan Shahzad Aheer el 13/01/2018.
- Creado por
- Hassan Shahzad Aheer · ene 2018
- Actualizado
- 14 ene 2018
- Visitas
- 10
- Valoración