Software Life Cycles and Roles in Project Team Damian Fok s3859 Mirosław Dąbrowski s3672 Roles in Project Team Presentation plan: • • • • • • • Introduction Project team and its role Choosing team members Project team structures Roles in IT project Summary Sources Basic Terminology What is a project? – non-routine and time-limited unit of work, typically producing a one-time product/service What are project teams? – consist of representatives from various disciplines and/or functional units brought together to work on the development of a new product/service or an incremental improvement over an existing product/service (Cohen & Bailey, 1997) What is project leadership? – collection of roles associated with the management of projects and project teams Introduction • The project team is the group of people responsible for planning and executing the project. • Project team is created in strategy phase. • Project team chooses life cycle model. Project team and its role • Solving complex problems • Basic motto Time-Costs-Quality • Project teams are especially useful where results requires breakthrough and creativity and the way of solving a problem is not described. Choosing team members • Team consists of experts who know the domain of problem. • Having qualified team members will not guarantee a success. • Each member has his own specific personality traits which have an influence on other team members. Project team structures STAR structure -Leader position(central) -Leader assigns tasks -Time absence – problems For big project teams Project team structures NET structure -Members have contact with each other. -Leader doesn’t cooperates -5 participants limit Roles in IT project > Leaders – coordinators > Analysts > Designers > Programmers > Testers > Organizers > Administrators > Documentators > Integrators Leader –Controls whole group –Tackles with team conflicts –Coordinates team –Uses team resources –Self confident Analyst –Creates system model –Contacts with customer –Analyzes problems –Makes suggestions Designer • Depends on analyst job • Implementation description • Cooperates with programmers • Specialised(i.e. database, user interface) Programmer • • • • Programming language skills Experience Imagination Cooperation with other programmers Tester »Makes reports »Checks errors »Checks functionality Organizer Technical Writer Copywriter Team-work atmosphere Work atmosphere is very important, has a big influence on team-work performance. Leader should strongly cooperate with all team members. It’s very important to maintain a good teamwork to achieve success. Sources • 1. J. Płodzień, E. Stemposz: “Analiza i projektowanie systemów informatycznych”, wydawnictwo PJWSTK • 2. Wikipedia • 3. Andrzej Jaszkiewicz ‘Inżynieria Oprogramowania CASE’, Helion 1997 • 4. Other internet sources Software Life Cycle Introduction • Itroduction • Product Life cycles. – – – – • • Waterfall Prototyping Incremental development Spiral model Summary Sources 1. Waterfall model This is a class model of product life cycle introduced in 1970 by Winston W. Royce User requirements all requirements Analisys 1 blueprints Design 2 Development 3 4 The waterfall model is a sequential software development model whole completed product Testing 5 Instalation 6 Maintenance Do and dont's about waterfall model • Forcing to very strict control testing. • • Very high cost of mistakes made in previous stages. (mistakes made in stage of user requirements and specification are revealed in testing stage) • • • Client (investor) takes part only in early stages of product life cycle, (he is not committed) so his commitement in product’s development weaker in time. This has obviously negative influence on product’s quality in client’s eyes. „We rate best things made by ourselves or made with our presence.” • Easy to management (next phase starts after previous). • Helps with planing and monitoring the product’s development. 2. Prototyping • • • • • • • Is a methodology where main target is to minimize risk connected with defining inappropriate requirements. Main stages in prototyping PLC: User requirements (general) Designing a prototype Proptotype verification by client Defining all requirements by client Designing whole system in cascade mode Prototyping • Allows to eliminate misunderstanding between client and developers. • Helps with spotting missing functions, not well design services, lack of specific requirements. • Has a fast product demonstration. • Prototypes are mock-ups of the screens of an application which allow users to visualize the application that is not yet constructed Do and donts about prototyping • Cost effective (Development costs reduced) • Prototypes can be easily changed • Time of receiving a final product after presentation of very advanced prototype is very small. • Ability to spot misunderstanding between client and developers. • Helps with finding lacks in specification/requirements. • High user satisfaction • User’s expectation on prototype may be above its performance. 3. Incremental development • defining all user requirements, creation of general project • choosing subset of system functions • detailed project development and implementation of a part of the system doing choosen functions. • testing and delivery to client • repeat until ready http://www-128.ibm.com/developerworks/library/j-ant/ Incremental development pluses ►very offen contact with client (shorter terms comparing to cascade model) ►no need to defining whole requiremnts at the begining ►If Potential delays occurs in specific part of project, this can be easily racted by starting work on next part. Delayed part can be finished later. Incremental development minuses ►Additional cost basing on indepedences of product parts ►Potentail difficulties with getting subset of functions to copletely independent functions Incremental development User requirements Processed in iterations General project Choosing subset of functions Detailed project, implementation, testing Deliver part of the system 4. Spiral model Each phase starts with a design goal and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, with an eye toward the end goal of the project Stages in spiral model: 1. 2. 3. 4. User requirements and planing, Risk analysys, Development, User evaluation and transition to point 1. Defined by Barry Boehm in his article „A Spiral Model of Software Development and Enhancement” from 1985 Spiral model • Each spiral coresponds to create complete product. • Analysys of risk targets to decision if project schould be contiuned or not. • This model is similar to prototyping but in spiral model stages are process once again only in next iteration. • The Spiral model is used most often in large projects (by companies such as IBM and Microsoft) and needs constant review to stay on target Spiral model Planing testing Risk analysys construction Summary • The product lifecycle goes though many phases and involves many professional disciplines and requires many skills, tools and processes. • Product life cycle (PLC) is to do with the life of a product in the market with respect to business/commercial costs and sales measures. Sources • 1. J. Płodzień, E. Stemposz: “Analiza i projektowanie systemów informatycznych”, wydawnictwo PJWSTK • 2. Wikipedia • 3. Andrzej Jaszkiewicz ‘Inżynieria Oprogramowania CASE’, Helion 1997 • 4. Other internet sources Software Life Cycle and Roles in Project Team www.akof.nazwa.pl/byt/