Skip to content

Instantly share code, notes, and snippets.

@caleorourke
Forked from jfgomez86/DevelopmentProcess.markdown
Last active August 29, 2015 14:12
Show Gist options
  • Save caleorourke/d6aeb7751a823f77625b to your computer and use it in GitHub Desktop.
Save caleorourke/d6aeb7751a823f77625b to your computer and use it in GitHub Desktop.

Revisions

  1. @jfgomez86 jfgomez86 created this gist Nov 23, 2010.
    136 changes: 136 additions & 0 deletions DevelopmentProcess.markdown
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,136 @@
    Introduction
    =============

    In this document, the following roles are mentioned:

    **CLIENT**: Also known as the Customer. The Client requests a service or product
    from us.

    **DEVELOPERS**: Builds the website functionality and behavior. Translates
    designs produced by Designers to HTML/CSS + Business Code that drives the
    actual served application.

    **DESIGNERS**: Draws and designs prototypes (also known as wireframes), comps
    (which are actually finished designs of a webpage). May also slice up images,
    and build some starting markup (html and css) to specify in more detail how
    a specific behavior should be.

    **TEAM**: Developers and Designers.

    It is important to standardize and document the development process, in order
    to raise Client satisfaction, and maintain a high visibility level throughout
    the development process.

    Tools
    =======

    * Pivotal Tracker: Helps track tasks and give the Client visibility about what
    is being worked in any time.
    * Github: Keeps a backup copy of the source files, also serves for remote
    collaboration for distributed teams.
    * E-Mail: Also improves client visibility. Daily mailing is a requirement for
    happy clients.

    Process
    ========

    * Agile Development Process.
    * Iterative approach. Constant Improvement.
    * Scrum.

    1. Plan
    ----------

    ### Summary
    Plan carefully, so the Team can see through the Client's eyes, and set a
    common goal, ensuring the Team is on the right path and the Client is happy.

    ### Description
    It is important to have a reference point before starting any development. It
    helps both Clients, Designers and Developers to stay focused during an
    iteration. This will also make Development and Design faster but still
    versatile.

    ### Roles involved
    The Team as well as the Client.

    ### Process
    It should consist of a meeting in which to talk about the following topics:

    * Specifications and requirements for the iteration.
    * Realistic Goals and possible blockers.

    The Team should deeply understand what the Client expects at the end
    of the iteration, and the Client should also understand the capabilities,
    capacity and limitations of the Team in order to satisfy its needs.
    The Team should make a commitment of what it is able to deliver within the
    iteration period.

    2. Design
    ----------

    ### Summary
    An image is worth a thousand words. Developing a clear and focused Design
    plays a very important role in the development process. It defines the
    reference point for both the Team and the Client.

    ### Description
    The Design process will set a starting point for Developers. It is the next
    step after the Planning and it should define behavior and appearance of the
    requested website or a portion of it. Smaller iterations are made in order to
    start following processes.

    ### Roles involved
    Designer, Client.

    ### Process
    The Design process consists of shorter iterations, in which the Designer
    should create a wireframe of the desired user interface. The client should
    give immediate feedback to the resulting wireframes. After a wireframe has
    been approved by the client, a Comp should be created. It will be a reference
    point.

    3. Development
    ---------------

    ### Summary
    Development gives live to an design. It makes it possible for a user to
    interact with a given design.

    ### Description
    The Development process builds backend and front-end functionality and
    business logic needed for actual interactions with the website to work.

    ### Roles involved
    Developers, Client.

    ### Process
    Developers should follow an Agile Development process: Daily meetings should
    be done with the Client to discuss about delivered features and work in
    progress. Developers should talk about 3 specific topics: What they got done
    the day before; What blockers they found; and What will they work in the
    current day. In order for them to keep focused work and deliver features
    faster and with higher quality, the iteration scope should not be changed
    at any moment other than the sprint planning. A status E-mail should also be
    sent to Clients, letting them know what got done in order to improve
    visibility and raise satisfaction.

    4. Feedback
    -------------

    ### Summary
    In order for the Team to constantly improve the process, it is important to
    share feedback among the Client and the Team. It helps build a better
    relationship, and keep everyone happy.

    ### Description
    The Feedback process makes it possible for the Team to constantly adapt to the
    varying requirements of different Clients. It will make the Team work harder
    to meet the Client's expectations.

    ### Roles involved
    Team, Client.

    ### Process
    At the delivery of a feature or iteration, the Client should leave feedback so
    the Team can react immediately and get better.