2.72k likes | 2.84k Views
Szoftvermanagement. Atalanta - 2014. Windisch Gergely windisch.gergely @ gmail.com. Szoftvermanagement. Szoftversegédalkalmazások. Mintafeladat. Képnézegető és szerkesztgető alkalmazás. Code & Test. Outputs. Inputs. Do Until Done. NOT the Model you want!. Product Development.
E N D
Szoftvermanagement Atalanta - 2014. Windisch Gergely windisch.gergely@gmail.com
Szoftvermanagement Szoftversegédalkalmazások
Mintafeladat • Képnézegető és szerkesztgető alkalmazás
Code & Test Outputs Inputs Do Until Done NOT the Model you want! Software Engineering: A 2003 Perspective
Product Development Technology Tools Products Methods Software Engineering: A 2003 Perspective
A Quick Level Set • Technology • Application of scientific knowledge in industry or business • Tool • An implement or machine used to do work or perform a task. • Method • A manner, means or process for accomplishing something. Software Engineering: A 2003 Perspective
Internet Intranet Extranet Object-Oriented VoIP Oracle Copernic Java UML XML Products Technology Tools Methods Software Engineering Project Management What’s in each segment? Software Engineering: A 2003 Perspective
Products Products Products Tools Technology Tools Technology Methods Methods Ideas How do products happen? Software Engineering: A 2003 Perspective
Plan Concept Definition Improve Risk Reduction Research Candidate Architecture Identification Planning Management Plan Risk Analysis Databases Market and System Requirements Quality Specifications Estimating ROI Analysis Needs Assessment Adapt Observe Project Plans Configuration Management Training Analyze Project Management Mitigates the Front End Risks Software Engineering: A 2003 Perspective
Defining Your Life Cycle Model • Become familiar with the various models • Review, analyze the type of work: development, enhancement, maintenance, etc. • Review project criteria • Identify a minimum set of phases • Identify phase activities • Establish a minimum set of deliverables • Define templates and content guides for deliverables • Evaluate progress and effectiveness of the life cycle framework • Implement improvements Software Engineering: A 2003 Perspective
Build and Fix Software Engineering: A 2003 Perspective
Build and Fix – Good and Bad Software Engineering: A 2003 Perspective
Basic 1074 Life Cycle Software Engineering: A 2003 Perspective
Full 1074 Life Cycle (1) Software Engineering: A 2003 Perspective
Full 1074 Life Cycle (2) Software Engineering: A 2003 Perspective
Full 1074 Life Cycle – Good and Bad Software Engineering: A 2003 Perspective
Planning Analysis Design Build Test Deploy Waterfall Model Software Engineering: A 2003 Perspective
Waterfall Model – Good and Bad Software Engineering: A 2003 Perspective
Process Steps Process Gates Prototypes PROTOTYPE 1 REQUIREMENTS DEFINITION REVIEW HIGH LEVEL DESIGN PROTOTYPE 2 REVIEW DETAIL DESIGN PROTOTYPE 3 REVIEW SYSTEM CONSTRUCTION REVIEW VERIFICATION & VALIDATION REVIEW SYSTEM DELIVERY POST IMPLEMENTATION REVIEW REVIEW Project Management Support Processes Risk Reduction Training Planning Configuration Management Estimating Metrics Quality Assurance Waterfall with Prototyping Software Engineering: A 2003 Perspective
Prototyping Model - Pros and Cons Software Engineering: A 2003 Perspective
Spiral Model Software Engineering: A 2003 Perspective
Spiral Good and Bad Software Engineering: A 2003 Perspective
Rapid Application Development Software Engineering: A 2003 Perspective
RAD – Good/Bad Software Engineering: A 2003 Perspective
Welcome! An Overview of Agile…
Let’s talk projects: • Almost all work is done as a “project” • All projects have a plan, execute, inspect, accept model • In Business projects are “managed” to ensure accountability and control. • Project Management has become a practice and career unto itself. • There are myriad methods and tools for project management. • All are about “delivered on time and on budget”.
SDLC – What is it? Feasibility Study Systems Development Life Cycle: The most commonly used, and generally accepted, project management approach..
Classic SDLC Characteristics • Requirements & Tasks are expected to be well defined at outset. • Methodology is highly document driven. • Project roles are highly structured and well defined. • Communication is through PM and Sponsor. • Typically long cycle
Let’s try something Must have at least two entrances. Must have a roof of uniform color. Must support a quarter 10 minutes
So, what happened? • Did the customer get what was wanted? Were the actual needs met? • Why?
After 30 years of SDLC… What we’re doing is not working!
It’s All About… Change!
Individuals and interactions Responding to change Working Product Customer collaboration Following a plan Comprehensive documentation Contract negotiation Process and tools over over over over The Agile Manifesto (2001) - A statement of valuesAgile Practice favors:
The Key Components of Agile • User Stories – Simple statements of requirements written from the “customer's” point of view. “As an AP processor, I need to be able to retrieve and update vendor address information.” • Product Backlog – Collection of user stories that need to be addressed to consider the effort (Product) complete. • Sprint (aka Iteration) – A fixed length work period in which items taken from the backlog are satisfied. An Agile project is a sequence of sprints. • Sprint Planning Session – A team meeting in which the product owner reviews and explains each backlog items and it’s priority, the other team members task out the items and commit (or not) to performing each item, and the agile coach sets up the sprint management tools. • Sprint Review Session – At the closure of each sprint, work completed is presented and reviewed, lessons learned discussed, the overall sprint is evaluated and reviewed.
Waterfall Approach Design Spec Code UAT Launch Change Management & Approval Agile Approach Sprint Sprint Sprint Users stories Faster – better - cheaper Hospital – New Applicant Tracking System
Agile Methods Agile Methods Traditional Methods ‘Values’ ‘Principles’ ‘Values’ Customer Customer Contract valued Realized Realized Realized Realized as as as as more than Collaboration Interaction Negotiation High - Performance Individuals & Processes valued more than Interactions Teams & Tools Iterative Working Comprehensive valued more than Software Development Documentation Adaptability Responding Following valued more than to Change or Flexibility a Plan Agile Methods – Putting the Manifesto to work • ‘Adaptable’ development approach • ‘Human-centric’ thinking for creating business value Agile Manifesto. (2001). Manifesto for agile software development. Retrieved September 3, 2008, from http://www.agilemanifesto.org
What makes Agile work? • Better collaboration with business • More adapted to change/learning • Communication • Motivation • Doing Less • Collective ownership • Time boxes • Inspect & adapt • Focus on the real thing • Three heads are better than one • Collocation • Information radiators • Short feedback loops • Team autonomy • Accepted Responsibility
When is Agile best? • Creative Projects • New Technology Introductions • New Process Designs • Projects driven by critical business timing. • Projects with poorly defined needs
SCRUM – Agile Project Management Joint Advanced Student School Maria Belkina Jennifer Schiller Maxim Masunov Vycheslav Filippov April 2006
Agenda • Introduction • Agile Project Management • What is Scrum? • History of Scrum • Functionality of Scrum • Components of Scrum • Scrum Roles • The Process • Scrum Artifacts • Scaling Scrum • Evolution of Scrum • Scrum & XP • Conclusion Agile Project Management - Scrum
Introduction • Classical methods of software development have many disadvantages: • huge effort during the planning phase • poor requirements conversion in a rapid changing environment • treatment of staff as a factor of production • New methods: Agile Software Development Agile Project Management - Scrum
Manifesto for Agile SD • Based on the Manifesto for Agile Software Development • Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan Agile Project Management - Scrum
Agile Methods • Agile methods: • Scrum • Extreme Programming • Adaptive Software Development (ASD) • Dynamic System Development Method (DSDM) • … • Agile Alliance • A non-profit organization promotes agile development Agile Project Management - Scrum