Software Development Lifecycle

From Knowledge Kitchen
Jump to: navigation, search


Ideation

Who comes up with ideas:

  • Executives
  • Business Managers
  • Anyone with a good idea

Ideas can either bubble from bottom-up or trickle from top-down, depending on organizational culture and circumstances

Ideas are often based on a business or personal need.

Requirements Gathering

Who determines what that application must do and how it must work?

  • Business Analyst
  • Project/Product Manager
  • or anyone else who fills this space

Notes:

  • decide what features, functionality, and other components are necessary on your application
  • often, in a corporate setting, these requirements are gathered by talking with clients, managers, and any other core stakeholders.
  • this phase should result in one or more written Requirements documents. These documents often outline:
    • functional requirements (what the app must do)
    • content requirements (what content the app must show)
    • technical requirements (how the app must be built) for the project
  • it’s very important to be thorough in this step, so that everyone involved in the project has a clearly documented idea of what it is, as well as what it is not… this helps avoid problems and disagreements later on
  • however, it is the step that is most often skipped by inexperienced managers and developers

Experience Design

  • roles: User Experience Designer, Interaction Designer, Customer Service Designer, Information Architect

Notes:

  • determine what the users of the application are likely to want and how to most easily give it to them
  • group and prioritize information that will be displayed at each step of a user's journey through the application
  • decide what the most important information on the application is, and what is least important
  • sketch and diagram outlines of what each screen will look like, and where each bit of information will go
  • professional Information Architects typically use professional wireframe diagramming tools to create these diagram, however napkin sketches are just as good
  • determine which screen will link to which other screen, and how the user will get to the information they are looking for
  • this phase typically results in the production of information architecture wireframes and a site map, as well as flow diagrams showing how each type of user is likely to use the application

Implementation

  • Visual Design (Visual Designer, Graphic Designer, Web Designer)
  • Copywriting (Copywriter)
  • Development (Front-end/Client-side Developers, Back-end/Server-side Developers)

Design notes:

  • convert the information architecture wireframes into “design comps” for each page
  • design comps are carefully designed images which show the visual look of each page on the completed site
  • typically, designers use Adobe Photoshop to produce these images
  • the designer delivers a set of finished “design comps” that ultimately show exactly what the site will look like

Development notes:

  • convert the graphic design comps into actual functioning code
  • this phase is the focus of this class
  • web developers typically use a mixture of client-side and server-side technologies to produce web sites
  • at the end of this phase, you should have a fully functioning site ready for testing

Quality Assurance Testing

  • Quality Assurance (Q/A Engineer)
  • Release/Launch/Deployment (Server Administrators)

Notes:

  • test the site to make sure it works
  • fix any problems
  • repeat until the site is perfect

Maintenance

  • Analytics (Analytics Manager)
  • Maintenance (Front-end & Back-end Developers, Content Creators)