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.
- 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.
- Agile Development Process.
- Iterative approach. Constant Improvement.
- Scrum.
- Plan
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.
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.
The Team as well as the Client.
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.
- Design
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.
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.
Designer, Client.
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.
- Development
Development gives live to an design. It makes it possible for a user to interact with a given design.
The Development process builds backend and front-end functionality and business logic needed for actual interactions with the website to work.
Developers, Client.
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.
- Feedback
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.
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.
Team, Client.
At the delivery of a feature or iteration, the Client should leave feedback so the Team can react immediately and get better.