| Elaboration phase aims at better understanding of the project and preparing the ground work for the Construction phase. The entire project is also graphically represented as a wireframe. Main user stories are written and prototyped in the Elaboration phase. The interface design is carried out and risks are identified.
Main User Stories
User Stories are feature descriptions. The user stories are written either like a small story or in bullet points as per the preference and requirement of the project. Each user story will be accompanied by acceptance tests, business value and time estimate as it progresses in the process. Writing the features as user stories makes it easy to understand and allows breaking them down into manageable tasks. User stories also make it easier to validate the implementation of the project as it progresses.
At this stage in the project, we should write the main user stories. Features or requirements that are at the core of the project. Things that are the riskiest or carry the most business value. We need not worry about going to micro levels and writing all user stories.
Having the main user stories written up front also helps in estimating the risks and showing the client the most important features of the project early on.
Wireframe
Wireframe is a flowchart like graphical representation of the project. It shows the various pages in the website and how they link to each other. The wireframe should contain the page title, a one or two line description of what user stories will be happening on that page and a list of items needed to carry out the execution of this page. The wireframe can be made using a tool (like Adalon) or can be done using any HTML editor.
The benefits of making a wireframe include high level flow understanding, ability to tag user stories to pages, identifying validation and any other flow specific information etc. The wireframe also serves as a basis to create the prototype in the feature.
Risk Analysis
Risk analysis should be done as early as possible in the project. The risks in a project can also evolve as the project progresses. MADM recommends maintaining a Top 10 risk chart throughout the project. This risk chart will be updated every week so that the high risk items can be mitigated at the earliest. The MADM process itself mitigates some of the most common risks of software projects.
Top 10 risks in software projects:
Acceptance Tests for Main User Stories
Acceptance Tests are written by the customer and mention the conditions for satisfactory acceptance of a user story. Each user story must have clear acceptance tests. The acceptance tests will be carried out to confirm the completion of user story implementation. Acceptance tests are a pre-condition before a story can be considered for a release plan.
In true spirit of MADM, customer is given the right to change the Acceptance tests as the project progresses. This could affect the time and cost estimates and the release plan may need adjustments accordingly.
Modeling - high level design & architecture
MADM strongly discourages a big design upfront. A big design upfront makes it difficult to accept changes in the requirements. MADM models only a high level solution architecture at the beginning of the project. The actual solution design will evolve as the project progresses. The code itself is the design for most of the projects.
The design can be done using CRC (Class Responsibilities and Collaboration) cards; UML (Unified Modeling Language); ER (Entity Relationship) diagrams or any other agreed means. At the Elaboration stage, high level database design will also be created. Again, the database design can also go through revisions as the project progresses.
Prototype critical elements
Prototyping involves making an actual HTML mock up of the project. Prototype is like a live site but no actual programming or no database interaction. Hence it gives clear idea of how the user story will function when the programming is carried out to the customer. In the elaboration stage, we will prototype only the most important user stories. The rest of the user stories will be prototyped in iterations.
Graphic Design
Graphic design is a crucial element of the project and we deliver the graphical design of the project to the customer by the end of the elaboration phase. The design can go through iterations, and will adhere to usability guidelines and design standards. After the design is approved, the design team will deliver final HTML and images to the development team.
|