Software development process improvement Ville Wettenhovi Master thesis presentation Supervisor:Professor Jukka Manner Instructor:M.Sc. Markus Aalto Date:23th.

Slides:



Advertisements
Similar presentations
R&D Process Optimization for a Customer and Order Management System Lauri Halkola April 29, 2008 Supervisor: Professor Raimo Kantola Instructor: MSc Miko-Janne.
Advertisements

Delivering Enterprise Projects Using Agile Methods Brent Barton May 23, 2006.
National Association for Regulatory Administration September 13, 2011 IT’s NOT Like Building a House Mark Parker (800)
Software Development Life-Cycle Models
CS487 Software Engineering Omar Aldawud
McGraw-Hill/Irwin © 2006 The McGraw-Hill Companies, Inc. All rights reserved BUSINESS DRIVEN TECHNOLOGY Chapter Nineteen: Building Software to Support.
BUSINESS DRIVEN TECHNOLOGY
SDLC Group 1 Hang Pham Jared Jelacich Hector Arreola.
BTS530: Major Project Planning and Design Iterative Development References: Agile & Iterative Development, by Craig Larman, 2004, Addison Wesley. Agile.
SCRUM John Drew. SCRUM - overview Scrum is a project management discipline that has evolved since the early 1990s to deliver software that meets business.
NAUG NAUG Knowledge Evening – th February 2007.
Blue Mountain RAM Product Roadmap Jim Erickson, President and CEO Randy Paroda, Director of Product Development.
Agile development By Sam Chamberlain. First a bit of history..
1 Agile Methodologies in DoD Software By Cynthia Johnson.
Software Life Cycles ECE 417/617: Elements of Software Engineering
Agile Software Development Matt Rice November 27, 2006.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions.
AGILE Development Group KEVIN STEVEN EKAPUTRANTO RENDY WINARTA STEFANY TRIFOSA GLADYS NATALIA.
> Blueprint Kickoff >. Introductions Customer Vision & Success Criteria Apigee Accelerator Overview Blueprint Schedule Roles & Responsibilities Communications.
Software Development Life Cycle (SDLC)
Business Driven Technology Unit 5 Transforming Organizations McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved.
1 Agile Methodology & Programming Ric Holt July 2009.
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Agile Software Development Chapter 3 – Lecture 1 Adrián Susinos.
Software Engineering- Scrum 徐 瑋 Alen 林芳瑜 Flora 1.
Current Trends in Systems Develpment
By Saravanan Bala. General Report 31 % of Software projects are cancelled 75 % of the software projects are considered failures by the people who initiated.
Embracing change with Extreme Programming Method Engineering Erik ten Brinke
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Software Project Management Team 04 – K15T2. Content Summarizing your view on “Software development process”. Answer 3 question: ◦ What is Software Development.
Introduction to Systems Analysis and Design
The Confounding World of Process Methodologies By Thelma Hataria.
Copyright © 2015 Curt Hill Software Development Paradigms What do you need to know?
Solar Tech Chuck Hess, CEO Jamie Tofte, CFO Christina Cruz, CTO.
IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Software Development Life Cycle (SDLC)
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Agile Development Chapter 10 - part 2. Agile Philosophy  A guiding philosophy and set of guidelines for : developing information systems in an unknown,
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
Group 6 : - Yesika Kristina Dea Pradana D Sukianti Merianti Meshiya Caterlee
Introducing an Agile Process to an Organization By Mike Cohn and Doris Ford IEEE Computer.
Embedded Systems Software Engineering
Software Development - Methodologies
Approaches to Systems Development
Agile Methodology and Scrum
AGILE SCRUM METHODOLOGY
Flight Software Conference 2016
Methodologies and Algorithms
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Software Engineering Process
Valuable Project Management Tools and Techniques
Ernest Cachia Department of Computer Information Systems
Agile Software Development Brian Moseley.
Information Technology Project Management – Fifth Edition
Scaled Agile Requirements: What, When & How
Approaches to Systems Development
How to Successfully Implement an Agile Project
Teaching slides Chapter 1.
Lecture 2 Revision of Models of a Software Process
Software life cycle models
Project Lifecycle and IT Product Life Cycle
Presentation transcript:

Software development process improvement Ville Wettenhovi Master thesis presentation Supervisor:Professor Jukka Manner Instructor:M.Sc. Markus Aalto Date:23th of April

Outline Objectives of the thesis Process models available Current process in the Company Comparison between processes from company’s point of view New process model for the Company

Objectives of the thesis The objective of this thesis was to study different software development processes and models Present current models used in the example Company and point out weakness in current process used. Define a new or improved software development method for the company and give instructions for further development of the chosen method.

Software process models What is software process? Waterfall model Iterative model Incremental model Rapid Application Development (RAD) Extreme Programming (XP) Scrum

What is software process? Software process contains the rules by which the software development project is carried out Definition and usage of software process is the key for high quality software There are many general process models available which are suitable for different environments

Waterfall model Traditional model Requirement phase is the basis Document oriented Strict milestones

Iterative & Incremental model In Iterative model waterfall model is repeated several times, until the software is fully implemented. Incremental development model is a method where the SW is designed, implemented and tested incrementally This model combines the elements of the waterfall model but the software is delivered to the customer as several versions

Rapid Application Development (RAD) Development takes place in a series of increment Prototype model Customer oriented model After prototyping, customer acceptance and installation

Extreme Programming (XP) XP is one of several agile process Target of XP process is to deliver the software customer need now XP demands developers to confidently respond to changing customer requirements XP consist of twelve practices

Extreme Programming (XP)

Scrum Scrum use similar practices than XP and other agile methods. It highlights communication, adapting to changes, incremental development and maximal testing. All work is done in Sprints.  Each sprint is an iteration of approximately of 30 calendar day. Scrum team: Product owner, Scrum master, developers, testers, document specialist

Scrum

Current process in the Company The Company is developing telecommunication software for telecommunication operators which are operating around the world Company has platform, product and custom development methods Product development uses waterfall model Custom development uses light version of waterfall Current problem is long development cycles (~a year)

Comparison between processes from company’s point of view Iterative model is almost the same than current model Incremental model  Costs are known before the project  Customer can see parts of the software as ready and can respond to any failures  Gives room for poor requirements  Disadvantage is that testing and especially regression test efforts will increase  Ideal for Custom development

Comparison between processes from company’s point of view RAD mainly being prototype is not suitable for the company  Company is not making new products  Cost and schedule are unknown  Poor and non standard documentation

Comparison between processes from company’s point of view XP is flexible and provides possibility to early builds XP model works well in user oriented world like web. In telecommunication field where specifications are important, it’s not the best approach Too much dependence to other people which makes it challenging to implement in practice Pair programming and Test Driven Development might not work in the current organization

Comparison between processes from company’s point of view Scrum suits well for project which needs to be built fast Release cycle would dramatically decrease Suits well with current company culture Scrum is not best used with multisite team in develop projects From company’s point of view scrum would be ideal for product development (road map) releases.

New custom development process Incremental model Target to be flexible but also increase the quality of each phase Formal reviews after each phase

New product development process Based on Scrum methodology Product backlog is a product feature roadmap list Scrum team 5-10 people Sprint backlog decided by the team with Product owner Sprint is a 2-6 weeks period Daily scrum practice, 15min meeting

Conclusion Scrum and iterative models was chosen In the optimal case, the time-to-market can be only 1-2 month Topics for further studies  Specifying a detailed plan for implementing the actual recommendations  Planning and setting up the metrics for measuring processes  How to improve quality of the requirements