Post One: Development Model

COMP 4911 ~ COMPUTING SCIENCE PROJECT

POST 1: DEVELOPMENT MODEL | DAVID PEDERSEN, T00586936

 

Business and Problem Description

This project revolves around a small local advocacy organization, One Million Better Moms for Clean Air (hereinafter referred to as OMBMFCA), established to combat the persistent problem of air pollution (in the form of wood smoke) in the organization’s region.  The organization’s founder suffers from asthma and sought to spread information on the problem in the hopes of getting others to voluntarily abate the harmful conduct and, ideally, convince governments to reform their laws to prioritize and protect people’s right to clean air.  Although OMBMFCA primarily focuses on the problem of wood smoke, it also discusses and advocates against other forms of air pollution as well.

Air pollution is not a trivial problem.  It is a global climate and public-health crisis, killing between seven and 12 million people a year.  It irreparably harms every cell and organ in an animal’s body, impairs the ability of plants to grow and be pollinated, and accelerates the melting of glaciers and snowpacks.  Its particles cannot be removed once they penetrate and get lodged in cells, and it is linked to every single non-communicable disease known to humanity.

OMBMFCA is based on Salt Spring Island, in the southern Gulf Islands of British Columbia.  Currently their only presence is a Facebook page, which – at the time of writing – has 234 followers.  While not insignificant for an organization of their size, their founder wants to grow their presence to reach more people and play a more significant role in policy advocacy.

Accordingly, I will be developing a small website to suit OMBMFCA’s requirements and present it to them should they wish to deploy it in the future.

 

Development Process

The process began by establishing the specifications by reaching out to the client, Ms. Northey, to inquire about the possibility of integrating the content on OMBMFCA’s Facebook page into a companion website.  She expressed interest in the idea, and we began to discuss the requirements to ensure the resulting website would serve as a good complement companion to the Facebook page.  We engaged in informal interviews to better define and understand the requirements and used experiences of the client and other followers of the Facebook page to tailor those requirements to accommodate the broadest possible end-user base.  We did not develop a formal set of use cases as we determined that the scope of the project is small enough to render them unnecessary.

Most of the content on the OMBMFCA’s Facebook page is educational/awareness and citizen-monitoring/watchdog material, so we determined that the finished site should be mostly static pages with a few dynamic pages that allow users to check the air quality in their area and/or upload pictures or videos of pollution incidents they come across.  This has been consolidated into the project specifications, and has been checked for errors.  We also recognized that it is important that the website be developed to ensure usability for people who may not be technically savvy, as many of the people most acutely affected by air pollution are often deprived of opportunities to use and learn about technology.

With that information in hand, the next task is to develop and implement the specifications.  Owing to the incremental-development process used for this project, the implementation will be broken down into increments.  From a development perspective, the static pages are the easiest to develop, so they will be done first.  As they are developed, screenshots will be taken of each and sent to the client so she can assess and provide feedback.  There is no database design involved for the static pages and relatively little interface design (apart from hyperlinks), so it will not take very much time and give the client a good sense of what the finished site will look like by the end of the development.  Debugging will take place accompanied by any feedback she provides.

For the dynamic pages, the database will be developed first.  I will be using PHP and MySQL to implement the database functionality as it is the technology with which I am the most familiar.  The initial tables and relations between them will be submitted to the client for her feedback, and will be modified accordingly if needed.  Once that is done, the PHP code will be written to provide the functionality for the dynamic pages.  This will take the majority of development time.

Once the first draft of the website is complete, it will be tested for conformity to the requirements.  There will be three scenarios developed to undertake scenario testing: one of a user seeking air-monitoring data, one of a user who wishes to upload photographs of a pollution sighting, and one of a user who seeks to do both.  These test scenarios will be carried out by me and the client if she wishes to take a turn with the testing.

Finally, the website will be deployed to a domain host, if desired.  Over its lifetime, the iterative process used during initial development will be used to maintain the website and allow it to evolve as societal stances and knowledge of air pollution change as well.

 

Why I Chose The Incremental Development Model

Early software-development projects made use of the Waterfall Model to break down the projects into multiple one-way stages.  However, this model is best suited for the development of embedded and/or critical systems, as well as those that are large in size – really any project where significant change is unlikely and team communication is formal and well-defined.

Incremental Development, on the other hand, is much better for projects like this.  It is useful because it reduces the cost of implementing changes, provides opportunities to submit project increments to the client(s) and receive their feedback, and offers the prospect of early delivery for part or all of the finished product.  It does unfortunately have issues with managerial visibility and structural degradation, but those are not applicable here because this project is self-managed and will make use of frequent refactoring to clean up the code as changes are made.  However, the rapid changes in science and policymaking around the issue of air pollution also make Incremental Development a good choice to accommodate the need for frequent updates to keep the website aligned with the real world.  Accordingly, this is the best development model to use for this project.

For the development approach, I will be applying the principles of Agile development and its manifesto.  The structure of this project, and the submissions required to complete it – both the write-ups and website – make Agile a good choice as it provides the Scrum model and sprints to allow me to efficiently complete each stage and estimate the time required as well which will help me plan my days too.  Better yet, it eliminates the need for a large formal description of the requirements, saving pre-development time and reducing the burden on the client to provide exacting requirements – something that is not always possible or practical.

From the client’s perspective, the combination of Incremental and Agile Development works well because it provides a window for her to see the project come together and intervene to offer suggestions and promote changes when necessary.  It also makes it easier for her to plan and reduces the time spent away from her other chores and passions.

From a societal perspective, this approach will ensure the site is kept up-to-date so that it can be of the greatest value to its audience.  One of the worst things that can happen in software is that a product that is closely influenced by (and influences) a real-world issue becomes obsolete, so the use of Incremental Development and Agile will help to ensure and simplify the task of keeping the website current.

For those reasons, I am confident that the combination of Incremental Development and Agile will provide the best outcome for this project, as well as the greatest efficiency during its development.