Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build out a plan to address important user experience improvements #1427

Open
praeducer opened this issue Apr 18, 2022 · 20 comments
Open

Build out a plan to address important user experience improvements #1427

praeducer opened this issue Apr 18, 2022 · 20 comments

Comments

@praeducer
Copy link
Collaborator

praeducer commented Apr 18, 2022

After the mid-May progress report, we can kick-off a UX Milestone. The business goal here is to get this app ready for wider adoption. This task ties into our future business development initiatives.

Besides the main goal of improving our user experience, this Milestone can be a way to test out our latest approaches to product planning and project management. As in, pursuing this Milestone will test the latest iteration of our application development lifecycle and how we implement it here in Github.

Any new processes that we standardize could be documented in wikis such as the Planning and Architecture Wiki.

@praeducer
Copy link
Collaborator Author

praeducer commented Apr 18, 2022

I can meet with Javier, Ross, and Sandeep before mid-May to make some high-level decisions.

Consider including documentation tasks (even things like tutorials) in this plan too.

@praeducer
Copy link
Collaborator Author

We’ll experiment with this as a new implementation of an agile lifecycle after the progress report is done, after Vault’s are released and adopted, and after the latest release is stable.

@praeducer praeducer changed the title Build out a six-week epic to address critical UX needs Build out a six-week sprint to address critical UX needs Apr 28, 2022
@praeducer praeducer changed the title Build out a six-week sprint to address critical UX needs Build out a six-week plan to address critical computation author UX needs Apr 28, 2022
@praeducer
Copy link
Collaborator Author

praeducer commented May 3, 2022

For my working session with Sandeep today, I focused on gathering requirements such as:

  1. What meetings do we want to plan for? eg retrospective on what we've accomplished so far this year and how we can improve, user requirements gathering, technical architecture, visual UX design, sprint kick off, weekly dev only meetings, new version deployment, and user acceptance testing.
  2. When should we meet with tech leads for our design and architecture session? Who all should be included?
  3. What dev tasks do we want to prioritize and how long will they take?
  4. Can we interview users before this starts? Who can test our new experience when it is done?
  5. How should we handle bug fixes that come out of user acceptance testing?
  6. What agile techniques do we want to adopt for this UX milestone versus future milestones?
  7. What does our ideal product / application development life cycle look like? What steps can we experiment with during this UX milestone?

An outcome of this session will be a set of activities we commit to as a team, when they will occur overtime, and who will be involved.

@praeducer
Copy link
Collaborator Author

praeducer commented May 3, 2022

User Experience Current Phase Project Plan

Week 1

Agile Activities

  • Retrospective: A retrospective is a chance for a team to reflect and learn from the past within a structured meeting. The main aim is to inspect the situation and adapt to reality. - Everyone

Application Development Lifecycle Stage

These meetings may each take 1-2 hours a piece, plus asynchronous edits to the plans throughout the week

  1. Requirements analysis: Gather UI/UX issues for the team to commit to. The outcome is all known issues are entered into the Application Development Project Board and User Experience Milestone. - Sandeep and Vince
  2. Feasibility study: Perform issue estimations and issue prioritization to decide what should be accomplished during this milestone. This should build off of the requirements gathering and analysis stage. Make sure to handle large pivots to the plan, design, or architecture. Make sure to identify the bigger issues and blockers related to each task. Think long-term of how all of the changes interact. - Sandeep, Javier, Ross, and Paul.
  3. UI/UX design: Rough visual designs for key features. Make an update to the design of the full user experience journey. - Javier and Sandeep
  4. Technical architecture: Current and future phase architectures relevant to these UX features. - Paul, Ross, and Dylan on LucidChart

Week 2-4

Agile Activities

  • Application development kick-off meeting: Present the plan, design, and architecture then assign tasks.
  • Start optional, recurring weekly developer stand-up: Keep it quick and focused on updates, blockers, and next steps. Keep it short and relaxed.

Application Development Lifecycle Stage

  1. Build: Close out issues. It's ok to iterate on things like requirements, design, and architecture. Just make sure to update the project timeline and stakeholders.

Week 5

Agile Activities

  • Continue optional, recurring weekly developer stand-up: Keep it quick and focused on updates, blockers, and next steps. Keep it short and relaxed.

Application Development Lifecycle Stage

Thursday or Friday

  1. Code freeze! Stop doing new stuff. Focus on deployment and bug fixes.
  2. Staging Deployment: Deploy a new release of the product to a staging environment.

Week 6

Agile Activities

  • Retrospective: A retrospective is a chance for a team to reflect and learn from the past within a structured meeting. The main aim is to inspect the situation and adapt to reality. - Everyone

Application Development Lifecycle Stage

  1. User acceptance testing: Have subject matter experts test all new features and related improvements. - Vince, Sandeep, Kelly, and computation authors.
  2. Integration testing and QA automation: Establish ways to perform end-to-end testing for the full stack application making sure to include any distributed components such as web services in the cloud. Make automated testing more robust. Run automated tests. For this phase, make new tests relevant to the theme of the milestone: UX.
  3. Maintenance: Bug fixing! Listen to users and turn the results of QA tests into development tasks to do.
  4. Production Deployment: Deploy the final product.

@praeducer
Copy link
Collaborator Author

Let's iterate on this plan for the next week, start soft pitching it to people, then present the plan more formally with at least Ross and Javier mid-next week.

@praeducer praeducer changed the title Build out a six-week plan to address critical computation author UX needs Build out a six-week plan to address important user experience improvements May 3, 2022
@praeducer
Copy link
Collaborator Author

@pixelsaurus and @rssk Over the next week or so, would love your feedback on the above first draft to the UX project plan. Maybe mid-to-late next week, we can jump on a call to finalize things before presenting to the broader team.

@praeducer
Copy link
Collaborator Author

I hope to standardize and create a multi-stage deployment environment before build begins. Please share any other related tasks here.

@rssk
Copy link
Contributor

rssk commented May 4, 2022

I think right now what is really standing in the way of getting a CD system in place is how to manage the docker usage of the remote pipeline side. The pipeline server need to share filesystem mounts and be able to programmatically launch containers, I'm unsure of how to do this outside of just installing docker in an ec2 instance

@praeducer
Copy link
Collaborator Author

In the design session, let's make sure we discuss the future of @pixelsaurus' compsec/input spec helper tool:
Screen Shot 2022-05-05 at 4 25 40 PM

@praeducer
Copy link
Collaborator Author

Another topic is integrating the COINSTAC and BrainForge experience.

@praeducer
Copy link
Collaborator Author

For my heads down work, it would be best for me to focus on DevOps things like multi-stage deployment.

@praeducer
Copy link
Collaborator Author

praeducer commented May 10, 2022

Per @spanta28, let's commit to starting a DevOps and clean-up sprint first for a couple of weeks, then we can make sure our operations are solid before starting the UX work.

I'll work on this devops plan this week then. This would total 8-weeks of effort (with devops + UX).

@praeducer
Copy link
Collaborator Author

praeducer commented May 10, 2022

Before the user experience improvements start, we want a dev and staging env ready to go. This way we can deploy and test along our application development lifecycle more easily.

For the two-week DevOps sprint, let's move the retrospection and clean-up activities to the first week of the DevOps sprint and then the requirements analysis for the UX work to the second week of the DevOps sprint. This would position us really well for the rest of the activities listed above for the six-week user experience milestone that would follow this DevOps effort.

This will make sure our ops infrastructure is tight and that the team gets some rest before we go hard again.

@praeducer
Copy link
Collaborator Author

Javier would like a QA, user interview type session.

@praeducer
Copy link
Collaborator Author

Javier will be out June 3rd through June 30th.

Paul is out last week of May, this month.

@praeducer
Copy link
Collaborator Author

After this milestone, we need to focus on re-architecture, decoupling, and reducing technical debt.

@praeducer
Copy link
Collaborator Author

The biggest obstacle for success right now is that we need to develop COINSTAC to run on clustered environments. Also, how do we handle cloud-native serverless integrations?

@praeducer
Copy link
Collaborator Author

Ross will be out likely first week of June.

@praeducer
Copy link
Collaborator Author

I will schedule, create an agenda for, and run three sessions next week:

  • Retrospection on how we can build better software and have more fun along the way. Topics will include our engineer's application development lifecycle, our researcher's data science lifecycle, and our team’s agile processes. I can also share lessons learned out in industry for us to consider.
  • Requirements Analysis to document tasks we want to accomplish. This will generally be divided into technical requirements and user requirements. Outside of this meeting, Ross and I have committed to gathering DevOps issues and Sandeep and Javier have committed to gathering UX/UI issues.
  • Feasibility Study to determine issue priority (a combination of urgency and importance), complexity (how hard is each task), estimation (how long it’ll take), and assignment (who’s gonna do it).

@praeducer praeducer changed the title Build out a six-week plan to address important user experience improvements Build out a plan to address important user experience improvements May 12, 2022
@praeducer
Copy link
Collaborator Author

This plan is essentially the current iteration of our goal to standardize our software development and data science lifecycles.

@praeducer praeducer transferred this issue from trendscenter/coinstac-planning-and-architecture Aug 20, 2022
@praeducer praeducer added this to the User Experience Current Phase milestone Aug 20, 2022
@praeducer praeducer modified the milestones: User Experience Current Phase, Software Development Sep 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants