Introduction to Web Project Planning

INTRO // Goal
By the end of today, we want to be able to:
- understand how web projects get started, planned for, and built
- be familiar with industry tools that help with various steps along the way
- understand some of the methodologies that are used to build web applications
User Stories
- The start of any project or application involves wanting to build something that people use
- Specifying how people will use it is the most common way we kick things off
- This step usually involves the definition of some kind of user "stories"
- A story takes the form of "A user should be able to do xyz"
Where it all begins...
Let's think of a new project and come up with some user stories
- What do we want people to be able to do?
- What stories are essential vs. nice to haves?
- Do some stories depend on other stories?
- Consider the use of simplifying assumptions
Modelling & Mockups
- Modelling an application will help define our database structure and relationships between data
- Mockups start with very low-fidelity sketches or drawings that try to define how the application will flow and what the users will generally see
Translate stories to tangible "things" we work with
Modelling & Mockups
- Preliminary mockups can sometimes be started at the same time as preliminary modelling
- Front-end teams will tackle the mockups
- Back-end teams tackle the data and architecture
Translate stories to tangible "things" we work with
Modelling
- Some decisions made at this stage may be very difficult to reverse or change later on (think of building a house and needing to modify the foundation as opposed to repainting a room)
- Think of how data is stored, and how it will be used
- Let's model our sample application!
Mockups
- The first mockups should be very simple & lacking detail (or low fidelity)
- Lots of good tools around to help with this phase such as inVision or Balsamiq
- Over time, mockups can evolve into higher fidelity versions with much detail and polish
- This phase also considers branding & design ideas
- Let's take a look at some of their features
Methodologies
- When a project starts to be built, teams (or individuals) can adopt many different techniques or methodologies to try to get to the end goal
- The choice of methodology can greatly affect the outcome, timeline, and happiness of all involved
Starting the build (for real)
Methodologies: Waterfall
- Is usually referenced (today) as a development methodology that is flawed and not really "best-practice"
- Involves the creation of a very specific, detail-heavy specifications document that contains every detail of what needs to be built
- Development teams will not start building until specifications are clearly outlined within
Starting the build (for real)
Methodologies: Waterfall
- Once initial specifications are defined, they cannot be changed or added-to until a following phase, which involves another "specifications" document
- Work flows down from: Requirements, Design/Architecture, Implementation, Testing and Maintenance (like a waterfall)
- Once phase is done we start over
Starting the build (for real)
Methodologies: Waterfall
- This may be a good approach for some projects, but for fast-moving web applications it tends to be very cumbersome
- It usually takes a very long time to get a phase released
- Changes are difficult along the way
- Specifications documents are usually "specifying" way too much (people fear a feature may never get into the application)
Starting the build (for real)
Methodologies: Agile
- More a modern set of values and principles rather than a "methodology" that can take many forms
- Agile development encourages change and quick evolution based on feedback/results/measurement
- All these things are important in a fast-moving web environment
Starting the build (for real)
Methodologies: Agile
- Individuals and Interactions more than processes and tools
- Working Software more than comprehensive documentation
- Customer Collaboration more than contract negotiation
- Responding to Change more than following a plan
Starting the build (for real)
Methodologies: Agile
- Common Agile frameworks are Scrum and Kanban
- The key concepts of Agile development can be incorporated at various degrees of "compliance"
Starting the build (for real)
Introduction to Project Planning - WDI
By Bitmaker
Introduction to Project Planning - WDI
Project Planning WDI Lecture Slides
- 858