Learning to code: Week 3 – Scrum / ASP.NET Identity

This week, my learning to code progress was a bit scattered, but I did learn some great stuff.  Here are the highlights.

  1. I did a PluralSight class on Scrum (a widely used development methodology).  I previously had some exposure to Scrum through clients where I do infrastructure work and the developers practice scrum.  While this class did not help me better understand C# / MVC or anything code related, it did help me understand more about the business and process around creating software.  The stats and stories around software projects that go wrong (Google FBI Sentinel Project) were amazing.  I can already see some benefits of learning about Scrum.  More on that in a moment.
  2. I found a great site with connection strings while trying to move from a LocalDB database to SQL Express.
  3. I did a Microsoft Virtual Academy class on ASP.Net Authentication / Identity.  This was a great class.  Many thanks to Adam Tuliper (@AdamTuliper) and Jeremy Foster (@codefoster).  The work Microsoft has done building this is really great.  After all, nearly every app needs a way for users to login / reset passwords / have roles etc.  So, why should each developer re-invent that wheel — right?  Microsoft seems to have provided a lot of value here.Learning on my infrastructure and security background I did some quick research on how well this implementation does with password hashing.  Overall, the current version is reasonably solid, and can even be improved further.
  4. I demoed the app Mr. Miyagi and I have been working on to the client.  Again – mostly Mr. Miyagi (not his real name) working and mostly me watching on amazement.   The client was very pleased overall.  We’ve turned things over to them and they have started significant testing etc.During my demo, a new employee of the client we are building this for asked a great question that made me think back to the Scrum learning I did early in the week.  The application we created tracks some information on packages that come in to this client.During the spec process, we never considered adding an ability for the application to allow multiple similar packages to be received at the same time.  The new employee said something like “Hey -How do I add multiple similar packages at the same time?”.  I said “Uh, you can’t.  We did not think of that during our spec process.”  The client side guy we worked on during the spec process agreed.  The new person said “Man – that is going to take a long time when I get 30 of the same packages.”  He was exactly right.  So, I thought through this and said I did not think it would be hard to add.  I took some quick notes then came back to have a look at it.

    It looked simple enough, so I told the client I was sure it would only take a couple of hours to implement and test.  The client approved us tackling that project as a quick enhancement.

    I’m pleased to say I was able to quickly modify the view to take a quantity of packages integer, get that integer to pass to the controller and get the controller to loop through the package creation process over and over again all on my own.  Along the way I learned a few things.

    This is level 101 stuff here, so for any real developer this would not be anything to be excited about.  However, I was thrilled to have been able to quickly implement a seemingly small but valuable change for the client.  They were happy as well.  Total win – win.

    While doing all of this – I thought back to the scrum class.  If we had been doing this project more like Scrum suggests this small but useful feature might have come up earlier.  While realistically doing scrum on this project would have likely been overkill, this experience made me see the value of Scrum – especially with larger projects.

One more good week in the books!  Until next time…