Professional Documents
Culture Documents
Devflows Proposal
Devflows Proposal
Executive Summary
Professional developers work through many different issues and items in their day to day.
Some of these items may be as simple as fixing a bug, while others may be reviewing another
developer's pull request. Through personal testimony we found that there is no tool on the market
that is tailored for the developer workflow experience. We aim to solve that goal with DevFlows.
We have gathered pain points of the everyday developer and we are planning on solving them by
targeting three main features. These three features are a pull request management system to help
developers manage their pull request and the pull request from the team, a developer web tooling
suite; which encourages the developer to utilize things such as URL modifications and inline
styles, and finally we want to also add a note taking feature which will help the developer gather
notes for their workplace. These three features will hopefully help the developer gather niche
workplace workflows in one central location. The problem we observed is that developers tend
to use a lot of notepads and several runbooks for very basic tasks. We want to change that by
We will be utilizing chrome / firefox extensions to get us as close to the workplace of the
developer as possible. We will also include a sign up flow on a website hosted by DevFlows to
sign up team members. Overall DevFlows is here for the developer and for the developer. We
will be gaining insight from the developer to understand the concepts and needs and implement
that in DevFlows.
3
Contents
Introduction......................................................................................................................................4
Environmental Scan......................................................................................................................... 4
Stakeholders.....................................................................................................................................5
Ethical Considerations..................................................................................................................... 6
Legal Considerations....................................................................................................................... 6
Project Goals and Objectives........................................................................................................... 6
Goals.................................................................................................................................... 6
Objectives............................................................................................................................ 7
Final Deliverables............................................................................................................................ 7
Approach/Methodology................................................................................................................... 7
Timeline/Resources..........................................................................................................................8
Milestones........................................................................................................................................ 9
Resources Needed..........................................................................................................................10
Platform..........................................................................................................................................10
Risk & Dependencies.....................................................................................................................11
Testing Plan....................................................................................................................................12
Team Members...............................................................................................................................13
References......................................................................................................................................14
Appendix........................................................................................................................................15
4
Introduction
a developer. Through research and personal testimony, we have noticed there is a gap in the
availability of productivity tools tailored to developers. The problem is that most tools available
on the market are targeted towards the workflow of product managers - not for developers, this
presented us with the opportunity to build a tool for full-stack / front-end developers that target
specifically for developers, offering comprehensive pull request tracking, web tool integration,
and a link tree management system. Unlike notion, which is a more general-purpose project
The client for DevFlows is the working developer who needs to keep tracking of their
projects and workflows in one centralized platform, alleviating the headache of sorting through a
million notepads on their desktop, or reaching out to their co-workers regarding the pull request
status.
Environmental Scan
As far as competitors for our project DevFlows, after surveying the market for competing
products and inquiring with our peers that utilize productivity software, we discovered that the
product which is the most similar to our pitch is one called Notion. “Notion is a single space
where you can think, write, and plan. Capture thoughts, manage projects, or even run an entire
company — and do it exactly the way you want.” (Notion, n.d.) After exploring this tool, our
analysis is that it strives to be an all-in-one productivity suite that is not catering specifically to
the developer niche, thus creating an opportunity for DevFlows to fill that need with a
5
specialized integration to github or other tools that are commonly utilized by developers. We
would say that this plugin is not competing with Notion as they serve separate purposes that
Stakeholders
For this project, the stakeholders are ultimately the end-user developer, we are primarily
targeting front-end / full-stack developers. They gain the most by the project’s success in the
regards of getting an internal tool to help manage their productivity and workspace knowledge.
By having access to this information readily in the browsers developers should be able to
working on this project could be considered stakeholders as we have a vested interest in the
Ethical Considerations
For this project, an ethical consideration we are making is around user privacy and
accessibility. For privacy we plan on utilizing third-party log in systems to ensure no data is held
within our services relating to email and password or sensitive information. Other considerations
are to ensure our data is held based on the user preferences - if the user plans on only holding
data locally we will give them this option. Ethically we are also ensuring that our web platforms
remain under the WCAG 3.0 standards to ensure we follow accessibility standards and laws and
Legal Considerations
Our main legal considerations are making sure that we securely handle data and making
sure our permission system verifies who accesses the data and if it belongs to them. Other legal
considerations we are making is around accessibility for our front-end UI, and ensuring we hold
up to WCAG 3.0 (WCAG 3.0) standards. Another consideration we are also making is
localization for this application, as it stands we plan to serve only English speaking users for
As part of this project, we have several goals and objectives. In this section we will detail
our goals and objectives and list what steps are needed to achieve them. We have two primary
Goals
Our first goal for this project is to be the top ten developer productivity tool on the
chrome / firefox extension store. Our second goal is to get at least 10 developers using this tool
in their workflow. Our first goal is bold, but we believe that we can capture this market space in
the extension store and be the tool people think of when they need an extension to help them
develop better as a full-stack developer. Our second goal is more specific, but just as important.
We want to make sure people are actually using our extension and there is a need, even though
the number is small - we want to set expectations and also ensure our stakeholders can use this
Objectives
For objectives, to reach our goals we are aiming our objectives to be relatively simple.
The first one is to get our extension(s) to the extension stores after development is complete. The
second objective is to reach out to developers across several companies and offer a beta of the
extension - and potentially offering teams of developers the ability to sign up as a team. To
accomplish these objectives we are going to need to develop an extensive platform to support
these features. In the next section we will discuss deliverables for the project.
Final Deliverables
For final deliverables, we are targeting to release two extensions one chrome extension
and one firefox extension. If we do not have enough resources or time to get both we are
ensuring we will release the chrome extension at least. We will also be delivering a client web
application which will serve as a login and registration portal for the extension. We would like to
separate this from the extension code and keep the logic in the web application for registration.
All of our backend services will be hosted in AWS and will not interact with the user directly, but
Approach/Methodology
We intend to utilize Trello, employing a mix of Kanban methodology and Agile. Our
objective is to create tickets and organize our work into milestones for the project. With each
milestone, our aim is to achieve a partial deliverable, ensuring steady and continuous progress.
We are targeting almost a sprint based system in terms of timing and plan on sizing tickets for
smaller tasks and goals alike. We will be utilizing a scale of 1, 2, 3 in terms of sizing. 1 being a
small task that can be done within a day, 2 being a medium sized task that can be done in 1-2
days, and 3 being a large task that will take 3+ days to complete.
8
Timeline/Resources
I. Detailed Timeline
06/12/2023 1 ● UI Mockups
○ By this milestone we should have
all mockups in Figma done and
ready to consume by the front-end
● Repo setup
○ By this milestone we should have
all the repos setup to push new
code into them. This includes
front-end and back-end repos
● Trello Setup
○ By this milestone we should have
trello tickets setup and sizing
determined
● Database Schema
○ By this milestone we should have
our database schema setup for our
registration system, pull request
system, and our runbook / dev
tool system.
II. Milestones
For our milestones, we will be combining the planning and user management features as
milestone one. We will then coordinate each feature as an individual milestone, in this case the
pull request feature will be milestone two, notebook / runbook feature will be milestone three,
and dev tools will be milestone four. Our final milestone will be a combination of stage six and
seven. Our final milestone will coordinate with our final deliverable and demo at the capstone
festival.
10
Our resources will consist of AWS as our backend provider and frontend provider for
hosting, github as our source control, and finally we will be using personal computers for
development.
Platform
For the platform we will be utilizing AWS as our main hosting provider for our backend
and frontend infrastructure. We picked AWS for several reasons, the pay as you go model is very
good for us as that ensures we will not be paying extra fees unnecessarily. AWS also has its own
ecosystem of services which makes it very strategic to use, for example if I am using a database
in AWS we can connect that with our API securely and easily since the platform supports
cross-service support. We will also be using github to house all of our code for both services and
ensure that we are using source control to make sure that our development process is not slowed
For our frontend, we will be using React.js with a combination of the Chrome / Firefox
extension API. React.js is a very good and solid platform to use for several reasons. Community
support is excellent due to the fact that it has been around for a while, it is good for beginners to
orient themselves in, and the performance for web is very good since React.js uses a virtual
DOM for state updates to the HTML document. As well as all of these infrastructure pieces, we
plan on automating our deployment of our application by having a release cycle every milestone
One of the risks associated with our project is that a browser update could invalidate a
portion of the API that our code utilizes, relegating it to older versions. Because we are aiming to
utilize two browsers to deliver our code, another roadblock we might encounter is that a feature
supported in one of the browsers API’s is not compatible with the other browser. This would
force us to derive creative solutions as the problems unfold. Another risk is one of our features
taking longer to implement than we thought and taking up more time than allocated. For
example, the pull request feature we intend to implement has a scope that is higher than the other
two and therefore we may have to realign our target timeline to ensure delivery. Should this
feature scope become exorbitant we may have to recalibrate our deliverables entirely and focus
on this feature alone or to suspend this feature and work on the other two.
The dependencies of our project will have many moving parts. We intend to utilize
Javascript and Node.js which are very robust and therefore we don’t anticipate running into any
depreciations in the course of our project. Due to the fact that we are utilizing a database we will
need to determine the most appropriate implementation that will interface correctly for our
needs. We will have to wait until the database schema is set in stone before making meaningful
progress on the back-end. For our front end we can prototype the layout before coding, and this
should be a first step to ensure that both applications have a coherent feel and style that are
synonymous.
12
Testing Plan
For testing plans, we plan on utilizing several different tools. One of the tools we will be
using is AXE dev tools, which is an accessibility tool to help test and ensure you meet W3C
guidelines (Deque, n.d.). Another tool we will be using is google spreadsheet to keep track of
any bugs we find while manually testing our work. We also plan on utilizing unit tests and
integration testing to ensure our frontend is up to standards. On top of our own bug bash, we plan
on also utilizing a beta testing group of developers who we are in contact with around this
program, we will provide them with a beta version of our application and a feedback form for
any bugs or suggestions. We plan on utilizing Jest and Cypress for this task, as they are industry
leaders in frontend testing. On our final milestone, we will conduct a bug bush with ourselves
and go through all the flows of our application, testing from registration to our runbook feature.
13
Team Members
Andrew Paulino
As team lead, my role is orchestrating the development processes and expectations of the project
as a whole. I will also be undertaking the responsibility of the frontend services, such as the
extension and web application for registration. I will also be helping onboard Brandon into these
new technologies.
Brandon Mccarthy-Santos
● Full-Stack Developer
As a developer I will be responsible for helping Andrew build out the back-end and database
schema as well as assisting Andrew in prototyping the interface UI. Once that portion of the
project is completed I will focus my energies on building out the appropriate API endpoints
required by the available services and taking on any additional troubleshooting responsibilities as
they develop.
14
REFERENCES
https://www.notion.so/help/guides/what-is-notion
Spellman, J., Montgomery, R. B., Lauriat, S., & Cooper, M. (Eds.). (2021, December 7). W3C
Deque. (n.d.). Axe Devtools: Developer tools for accessibility testing. Retrieved from
https://www.deque.com/axe/devtools/
15
APPENDIX