CSE 300 Software Engineering CSE 300 CSE 300

  • Slides: 10
Download presentation
CSE 300 - Software Engineering CSE 300

CSE 300 - Software Engineering CSE 300

CSE 300 - Software Engineering Discussion Items • Agile terminology • Project planning 2

CSE 300 - Software Engineering Discussion Items • Agile terminology • Project planning 2 by Manish Shrotriya

CSE 300 - Software Engineering Software Business Models • Software Product Organization: – Software

CSE 300 - Software Engineering Software Business Models • Software Product Organization: – Software business where a software system in conceptualized, developed and maintained. It retains the ownership rights of such a system. Customers of product organization have installation and usage rights. They would be “end users”, “organization of end users” or another business that allows the product to be used as a service by end users. • Software Service/Solutions Organization – Software business that has software development capacity and allows its customers(individual or organization) to use its capacity to develop and/or maintain their(customer’s) software system. Customers retain the ownership rights of such system. Their members or customers become the end user of such systems. 3 by Manish Shrotriya

CSE 300 - Software Engineering Agile Terminology • Customer: – Actual customer, Customer Representative,

CSE 300 - Software Engineering Agile Terminology • Customer: – Actual customer, Customer Representative, Someone who could be involved closely, BA • Developers: – programmers • Quality Analyst(QA): – Team Members who will define user acceptance test cases for stories • Use case: – Sequence of user actions and system responses to let user complete a task using the system. 4 by Manish Shrotriya

CSE 300 - Software Engineering Agile Terminology • User Stories: – Basic verifiable piece

CSE 300 - Software Engineering Agile Terminology • User Stories: – Basic verifiable piece of code or an activity – Broad requirements are captured and broken into user stories that can be finished in 3 -5 days • Story Points: – Time taken to finish the story. (45 mins) • Iteration: – unite of detailed planning (2 week) • Unit Test: –? 5 by Manish Shrotriya

CSE 300 - Software Engineering Agile Terminology • Test Plan: –? • Acceptance Tests:

CSE 300 - Software Engineering Agile Terminology • Test Plan: –? • Acceptance Tests: – It is the formal description of the behaviour of the software. It is written in user scenario fashion. Passing the list of acceptance tests means story is delivered. Once passed, they are never allowed to fail. Agile encourage these to be automated tests. They are used interchangeably with "functional tests", "acceptance tests" and "customer tests" • TDD: – write a test, it will fail. Write the code to pass tests. Extreme Testing, (in Pair Programming) 6 by Manish Shrotriya

CSE 300 - Software Engineering Agile Terminology • Team Leader: – Team facilitator (management

CSE 300 - Software Engineering Agile Terminology • Team Leader: – Team facilitator (management of stories) • Technical Leader: – Keep track of technical requirements and how things are being developed • Pair Programming: – Coding is done in pairs, fun and extreme code review. Reduces defects. • Tasks: – Tasks completed by a pair to complete a story 7 by Manish Shrotriya

CSE 300 - Software Engineering Agile Terminology • Velocity: – Total story points delivered

CSE 300 - Software Engineering Agile Terminology • Velocity: – Total story points delivered in one iteration, could be different than the story points, any iteration starts with. • Collective Ownership: – Everyone works on every module during the one release. • Release Plan: – Collection of stories played by the team with a given period. Usually 3 months 8 by Manish Shrotriya

CSE 300 - Software Engineering Agile Terminology • Continuous Integration: – Multiple check-ins for

CSE 300 - Software Engineering Agile Terminology • Continuous Integration: – Multiple check-ins for different tasks, on every check-in entire project is automatically built and tested. • Sustainable Pace: – marathon not a 100 mtr sprint. Every day work for defined hrs. only. • Open workspace: – no cubicles, improved interaction, like a bazar (room full of conversation buzz) • Simple Design: – Worry about current stories only, Leave hooks for future technology – DRY (Don’t Repeat Yourself) 9 by Manish Shrotriya

CSE 300 - Software Engineering Project Planning • Project Idea • Identify different types

CSE 300 - Software Engineering Project Planning • Project Idea • Identify different types of users • Identify tasks done by different users 10 by Manish Shrotriya