Sunday, January 14, 2018

SE 591, Week 1

Looking Back

Over the past week, I have accomplished the following tasks
  • Prepared project plan for Q2
  • Prepared individual plan for Q2
  • Designed "look and feel" for website
  • Migrated Azure subscription to Microsoft Imagine; added code review policy to repo
  • Updated DB structure for anticipated user stories for Q2
  • Contributed to list of gaps from Q1

Challenges

As was expected with anything Azure-related, it took some trial and error getting the entire system migrated off the Pay-As-You-Go to the Imagine subscription, but we eventually got it set up.

We did decide to require code reviews on every push, and in doing so, we also now have a CI/CD environment set up.

Preparing a detailed project plan required quite a bit of work. Thinking about every story, every dependency, priorities, etc. isn't necessarily difficult, but it does take a lot of time.

Metrics

While the items accomplished this week were "chores" and therefore didn't receive values in our tracker, I estimate my contributions this week to be approximately 15 points, so this establishes my baseline for this quarter.

Tuesday, October 31, 2017

Artistic Collaboration, Week 7

Looking Back

This week, I accomplished the following items:
  • Completed Mock UI for three primary use-cases
  • Spent time learning asp.net
  • Built a procedure to test if a username is unique
  • Built the presentation for the demo
  • Added 7 stories to the backlog

Challenges

This week, I found out that Microsoft really doesn't play well with Mac. There is no SQL Server Management Studio for Mac. I tried SQLPro, but it wasn't free. I decided in the moment I was going to just work out of a VirtualBox rather than waste time continuing to beat my head against a wall, but when I went to install VisualStudio onto the VM I already had created, I hadn't set aside enough space for it, so I scrapped it and came back to Mac. I finally found the windows/frames I was looking for previously in VisualStudio. They're called "pads." I also found a good (free) DB software, "DBeaver."

The other issue was connecting the CD pipeline to my Azure account, but that was incredibly quick to resolve.

Learning

The most difficult tasks I had this week were the Microsoft/Mac issues. When I had given up and then decided to come back to working outside of the context of a VM, I continued thinking to myself, "I can't be the first person to deal with this." That helped me find the information I needed to resolve multiple issues including generating stored procedures within DBeaver. 

Looking Ahead

Our team goal for the sprint ahead is to get the initial functionality to generate an event. My personal goal is to get CI/CD working correctly on my account, which could take some time to understand. This will, however, help when I go to build applications on my own in the future.

Metrics

Based on the previously established metrics, here is the value of my accomplishments:
  • Accomplished: 4 stories and a spike valued at 7 points
  • Stories added to the backlog: 8

Tuesday, October 24, 2017

Artistic Collaboration, Week 6

Looking Back

I didn't get a post made about my work last week, so this will cover the past two weeks (most of the work being done this week). During this time, I accomplished the following items:
  • Draft ERD (with W)
  • Migrated from W's Azure account to my own
  • Set up a Google Drive with team documents
  • Populated the backlog with user stories for the initial three epics
  • Wrote a blog about the long-term vision for the project
  • Found images to use as the avatars in our initial project

Challenges

We were slowed down as a team this week trying to transition from W's Azure account to my own. When M transferred to the new version control, there was a permissions piece somewhere that we couldn't seem to find. Eventually, we finally got it connected, and everything else went well.

Learning

This week, after conversations with the team, I finally feel like I'm finally getting a grasp on the entire web development stack, and I'm going to be able to fully participate in the development on this project (as well as future enhancement even post-class).

Looking Ahead

Over the upcoming week, I plan to accomplish the following items:
  • Complete a mock UI that covers the first 3 use-cases (finally)
  • Spend a good deal of time learning asp.net
  • Build the functionality to test a username to determine if it is unique
  • Build the functionality to validate a password
  • Build the framework for the demo

Metrics

Based on the previously established metrics, here is the value of my accomplishments:
  • Accomplished: 5 stories and a spike valued at 8 points
  • Stories added to the backlog: 6

Monday, October 23, 2017

Artistic Collaboration, The Vision

The Original Idea

I am an artist. Specifically, I create photographs. Sometimes I play in front of the camera, and sometimes I play behind. Portrait photography almost always requires at least one other person, and in my community, I spend a lot of time organizing and attending events through Meetup.com. While I love the idea of their platform, I feel it's missing something for the types of events I want to plan. One of the problems we face when we plan events is that there are almost always a larger number of photographers than models. Meetup only allows us to specify how many individuals are attending an event, not break it down into types of attendees. My idea is to build an event platform where I can specify attendance numbers by category of attendee. For example, I want to host a photo shoot and invite 20 photographers and 10 models.

MVP

Based upon this, idea we are developing our MVP to support the following use cases:

  • As an artist, I can create a profile in the system
  • As an organizer, I can create an event with specified participant maximums
  • As a collaborator, I can (view and) respond to events with open slots
The above use cases have generated user stories such as:

  • As an artist, I want to register in the system with my email address so that I can log in again at a later time
  • As an artist, I want to have an initial profile created with default information so that I can get started without detailed information
  • As an artist, I want to update profile details so that I may connect with my target audience
  • As an artist, I want my password verified so that I may maintain control of my personality
  • As an artist, I want to select a unique username so that I may share my specific profile with other artists while protecting my email address
  • As an artist, I want to select one or more roles so that I may respond to events
  • As an organizer, I want to create an event so that I may invite collaborators
  • As an organizer, I want to limit participants by type so that I may provide a positive experience through balanced representation
  • As an organizer, I want to have a wait list managed for my events so that I may have backup attendees if RSVPs change
  • As a collaborator, I want to respond to an event invitation so that I may maintain details
  • As a collaborator, I want to be added to a wait list so that if someone drops out I may join an event
  • As a collaborator, I want to remove my RSVP so that someone else may attend 

Roles

I envision this becoming an expansive tool covering collaboration among the following individuals (and more):
  • Photography collaboration
    • Photographers
    • Models
    • Hair stylists
    • Makeup artists
    • Body painters
  • Musical collaboration
    • Singers
    • DJs
    • Instrumentalists
    • Sound engineers
    • Songwriters
  • Stage production
    • Actors
    • Directors
    • Script writers
    • Costume designers
    • Set designers

Additional Features

Looking ahead at the bigger picture, some additional features include:
  • As an artist, I can establish collaborative connections with individual users
    • I envision this similar to Tinder's swipe functionality, where you are presented with a user (within some filter criteria), and if you want to collaborate you can swipe right to connect or swipe left to discard
  • As a collaborator, I can communicate with my connections
    • This would be a simple in-app chat functionality between anyone who has already established a connection
  • As a venue coordinator, I can list recurring events for my venue
    • This would allow groups to see venues where they might be able to perform
  • As an artist, I can form "groups" with other collaborators (bands, stage productions, etc.)
    • This would allow these groups to apply to perform at venue events
  • As a promoter, I can list upcoming performances
    • This can also link to external ticket vendors such as eventbrite and ticketmaster
  • As an artist, I can solicit support for one-time projects; as a patron, I can support one-time projects
    • This could add kickstarter-like functionality into the app
  • As an artist, I can solicit recurring support for projects; as a patron, I can submit recurring support for projects
    • This could add patreon-like functionality into the app
The long-term vision for this project becomes larger and larger every time I think about it, which I find really exciting! I would love to hear your thoughts!

Tuesday, October 10, 2017

Artistic Collaboration, Week 4

After several weeks of pitching and discussing possible projects, we finally were divided into teams this week and began forming the initial framework for our project.

Team Decisions

  • The team decided we would work in the context of weekly sprints, since there is an expectation of a potentially deliverable application every week. 
  • I checked with the team to see if there were any desired deviations from the original project pitch. The team decided to stick with my original vision, and I will be acting as the product owner for this course.
  • We have committed to updating Slack Wednesdays and Fridays. We will also be using Google Hangouts for our Monday night meetings.
  • We will be working with the Microsoft stack, developing with Azure, ASP.net, SQL server.
  • We will be using BitBucket as our version control system.

Looking Back

Over the past week, I accomplished the following items:
  • Initiated Slack channel for team collaboration
  • Initiated project on pivotaltracker.com to maintain team backlog
  • Identified MVP with three primary use-cases (to be developed in this order):
    • As an artist, I can create a profile in the system.
    • As an organizer, I can create an event with specified participant maximums.
    • As a collaborator, I can (view and) respond to events with open slots.
  • Populated backlog with epics for setup and use cases (profile, event, rsvp)
  • Began populating backlog with user stories for setup and profile epics - this will be an ongoing task
  • Began working on a mock UI - did not complete

Challenges

I did not face many challenges in week 4 other than a lack of time spent on the project. I took this into consideration, and have begun clearing items off my calendar and replacing them with dedicated project time.

Looking Ahead

Over the upcoming week, I plan to accomplish the following items:
  • Flesh out the big vision of the application
  • Complete a mock UI that covers the first 3 use-cases
  • Draft ERD for the project
  • Set up a Google Drive folder to share documents
  • Review Slack channel discussion and summarize findings - upload to shared drive
  • Continue adding stories to backlog

Metrics

With this week involving mostly set-up and vision, there isn't much to measure that would have a lot of continuity in future sprints. I think the following would be appropriate ways to measure the sprint:
  • Accomplished: 1 story valued at 0 points
  • Stories added to the backlog: 7

Wednesday, May 14, 2014

Dive Portal Mockup

This week, I have sketched out a basic mockup for the interaction between pages on the Dive Portal website. The green lines show the "clickable" items, as well as the paths those items should take.






Sunday, April 27, 2014

Activity Diagram

After meeting with Tom of Dive Oahu, he explained that the current system he uses for logging dives is through DiveBoard.com. Some of the perks of the system include the ability to download single or groups of dive records, both as a virtual log and in a printable manner. Tom expressed the desire, however, to be able to share these logs with buddies, as well as upload photos, which can also be tagged and shared. By having the logs stored virtually and accessible by online friends, the job of the dive coordinator/organizer is also made simpler by allowing them to quickly search for credentials online, in addition to compiling all the data necessary for submitting records to certification companies.

In looking at the flow of data through the proposed Dive Portal system, the following activity diagram shows the way users will be working in the system, as well as giving a timeline to demonstrate how this activity is different prior to a dive and following a dive.