Download CS 5150 Software Engineering Projects at Cornell University and more Lecture notes Software Engineering in PDF only on Docsity! CS 5150 So(ware Engineering 1. The CS 5150 Projects William Y. Arms 1 Cornell University Compu1ng and Informa1on Science Choosing a project Client A client can be any person except yourself (e.g., a member of a Cornell department, a local company, or other external organization, a member of faculty or staff, etc.). The client should have a firm intention to use the software in production. Aim for a minimum of a three-year production life with many users. Special types of client See the Projects pages on the website for special factors for: • Remote clients • Student organizations • Entrepreneurship projects 2 Overview Software development is more than writing code. Every CS 5150 project includes all aspects of software development: • feasibility study • requirements • system and program design • coding • reliability and testing • delivery • documentation for future maintenance • software license Each of these topics is covered in the course lectures. 5 Sprint By producWon standards, the CS 5150 projects are small, about the size of an agile sprint in most producWon environments. Sprint In agile terminology, a sprint is a fixed period of Wme during which a team completes part of a so(ware project. • Every sprint ends with code that is ready to put into producWon. • A typical sprint might have a team of 4 to 9 people working for 2 to 4 weeks. • If not released during the sprint, the so(ware should be ready for release, or for integraWon into a large system. • It should be fully tested, with documentaWon for maintenance. 6 Time box Time box A Wme box is a set period of Wme during which a development team completes part of a so(ware project. CS 5150 Time: The project must be completed within one semester. Resources: The team size is fixed (between 6 and 8 people) Scope: The scope must be chosen to fit within the Wme and resources available The scope depends on the experience of the team and the complexity of the project. The project team must agree a project scope with the client. If the project runs into difficulWes (e.g., Wme delays), the scope has to be adjusted. 7 Within the time box The CS 5150 project is large enough that you will need a systemaWc process for developing the so(ware. Most projects will use one of the following processes: • IteraWve refinement • Modified waterfall model Some projects may use: • An agile process with a sequence of short sprints These processes are the subject of Lectures 2 and 3. 10 Organizing the project The projects are team projects. Everybody should aim to contribute to every aspect of the project: • Meeting with the client • Taking notes at meetings • Requirements and design • Presenting at the presentations (required) • Coding and testing • Project management • Writing reports and documentation • etc. 11 Leadership Members of the team are jointly responsible for the success of the project. Leadership There is no team leader. Everybody shares in organizing the project. Student contact During the start up period, the student contact coordinates setting up the project team, but the student contact is not the the team leader. 12