-
Notifications
You must be signed in to change notification settings - Fork 2
Good and Bad Practices
Safa Andaç edited this page Feb 23, 2016
·
3 revisions
- Critical risks are resolved before making large investments
- Initial iterations enable early user feedback
- Testing and integration are continuous
- Objective milestones provide short term focus
- Requirements are dynamic - expect them to change during software development
- User's own understanding of the requirements evolves over time
- Gain agreement with user on what the system should do and not how
- Maintain forward and backward traceability of requirements
- Using components permits reuse
- Choice of thousands of commercially available components
- Improved maintainability and extensibility
- Promotes clean division of work among teams of developers
- Visual modeling improves our ability to manage software complexity
- Capture the structure and behavior of components
- Hide or expose details as appropriate for the task
- Promote unambiguous communication
- What is quality? - The characteristic of producing a product which meets or exceeds agreed upon requirements by some agreed upon objective measures.
- Software problems are 100 to 1000 times more costly to find and repair after deployment
- Develop test suites for each iteration and test for -
- Functionality
- Reliability
- Performance
- Without explicit control parallel development degrades to chaos
- Decompose the architecture into subsystems and assign responsibility of each subsystem to a team. Establish secure workspaces for each team i.e. each team is isolated from changes made in other workspaces.
- Establish an enforceable change control mechanism where
- Change requests are prioritized
- Impact of the change request is assessed
- Plan put in place to introduce change in a particular iteration
- When generating new ideas, the team will have to discuss them. This requires a meeting.
- The meeting should have a purpose and a goal so that it is efficient and not waste the time of team members.
- Unfortunately, team meetings can often become social gathering, if not managed properly. It causes delays.
- After forming a team, conflict is a common result.
- Cognitive conflict results from problems related to differences of opinion.
- Affective conflict results from personal differences between the team members.
- Latter is more destructive, resulting in arguments, hostility and resentment.
- One person can make decisions more quickly than a team.
- The needs input from several people can prolong the decision-making process and complicate making even the simplest decisions.
- Consensus can become part of the team’s culture. This can stifle creativity and innovation.
- Productivity may diminish because of several reasons.
- A period of adjustment may occur after forming new teams.
- The adjustment may require training and can slow down productivity.
- Members of a team may not participate equally.
- A member of a team is given to a part of the task to complete and may not complete in the required time because of his/her unwillingness.
- It is difficult to identify the weak performers and address the problems accordingly.
- Many teams are not conducive to using imagination and restrain individuals who do not work well within a team.
- Some people prefer to work on their own.
- Noor Ahmad
- [Safa Andaç](Safa Andac)
- Behiye Avcı
- Sinem Dalkılıç
- Ekrem Öztürk (Communicator)
- Arda Cinar
- Harun Acar
- Muharrem Yeşilyurt
#Project: #
- Requirements
- [API Docs](API Docs)
- Plan
- Themes/Features
- Personas
- [User Stories](User Stories and Acceptance Criteria)
- [Domain Analysis](Domain Analysis)
- [Responsibility Assignment Matrix](Responsibility Assignment Matrix)
- [Project Communication Plan](Project Communication Plan)
- [Test Cases](Test Cases)
- [Setting Development Environment](Setting Development Environment)
#Diagrams: #
- [Use Cases and Use Case Diagram](Use Cases)
- [Use Case Drafts](Use Case Drafts)
- [Class Diagram](Class Diagram)
- [Activity Diagram](Activity Diagram)
- [Sequence Diagrams](Sequence Diagrams)
#Mockups: #
- [Web Mockups](Web Mockups)
- [Mobile Mockups](Mobile Mockups)
#Meetings: # Spring Semester
-
Fall Semester
-
[Customer Meeting Film-13/10/16](Meeting Film in class)
#Milestones: # Spring Semester
-
[Milestone-1 Report](Milestone-1 Report)
Fall Semester
-
[Milestone-1 Report](Milestone-2 Report)
-
[Milestone-2 Report](Milestone-3 Report)
-
[Milestone-3 Report](Milestone-4 Report)
#Group Works: #
#Documentations: #
- [Git Versioning Basics](Git Versioning Basics)
- [Label Customization and Issue Tracking](Label Customization and Issue Tracking)
- Scrum: An Agile Software Development Methodology
- [Patrick Lencioni: Five Dysfunctions Of A Team](Five Dysfunctions Of A Team)
- Software Development Life Cycles
- [Team Work in Software Engineering](Team Work in Software Engineering)
- [The Puzzle of Motivation](The Puzzle Of Motivation)
- Communication
- [Good and Bad Practices](Good and Bad Practices)
- Kaizen and 5S