LFGA Web

Month 2 - Building something from scratch


Overview of the month.

This month we did a lot of things with just 4 weeks to finish everything. We literally had nothing we didn't even work before together and some way or another we got to build something. There are a lot of things to go over, a lot of things that we learned during these 4 weeks. I have what we did in my weekly journal. Here, in my monthly journal, I'm going to do a fast overview of what we did and I'm going to try to write down what I mostly learn and that I take with me.


Activities

The goal of the phase was to work with a client to develop an application using some agile practices and some CI and CD. We had to do all this in 4 weeks and to do a demo to the client each week, seems easy but it wasn't. We had to do this in a team we had to separate in roles and do different things that we had never done.

In the first week, we had to meet our clients and know what are their needs and now their process and pain points. We did a plan on how to do an interview and what to ask to get well-defined requirements to do our plans, once we had some information we tried to understand the process and write it down. We did a proposal and show it to the client and we had to make some minor changes and well... that's week one.

The second week is when we were going to start to code and finish everything fast and iterate and try to get quick feedback, well... those were the goals. We had problems with the selected front-end technology we weren't masters and some members of the team had never coded in that technology. At this point, I considered that as a blocker and I told that team that... but they just said that we had to put more effort into what we were doing and remember from the reset phase, a technology or a language is just a tool so let's keep striving and focus and learning. That's what we did, but at that point, we didn't have something to show to the client and we had to understand at this point that not only the UI is something valuable for the user we can show other important things. That's what we did for our first demo, we did a video and showed how the back-end works using Postman, this might sound crazy but that's what we did.

In the third week, we were working on learning and striving to finish the front-end components, and yes! we did we really manage to do something, we were working fast and agile, but we had a little problem. We finished tasks but only the ones that were supposed to be finished on week 2... so we now have a delay of two weeks. Problems once again, what are we going to do now?

We learn a lot of things here, we learned that first, we have to tell our clients what's really happening and the client is someone that we have to trust and be clear with them. The second point is to negotiate to try to find the exact point where the client's scope is not reduced and on the other hand where the coding process is not that hard for us. That's exactly what we did and we simplified things trying to cover all the scope and we made a new proposal and finally, we show it to the clients and they accepted the simplified version.

In the fourth, we had to do the tasks that we didn't finish in week 3 and the actual week ones. But in this week we were working so differently from other weeks, we were kind of fast and effective, agile. We manage to finish everything and to solve bugs and do some manual testing. In the end, we had a new brand and fresh system... I'm going to share o couple of screenshots.

The login page.

One of the main pages.

In the final demo, we got positive feedback from the clients, they really liked the system and they told us that was great work based on the time that we had. They were so grateful and kind to us and we felt really good, I mean we strived and focused on getting something I think is something that we deserved. We are also really grateful because they spend time with us answering our doubts and sharing things. Thank you for your time and patience, we learned a lot of things from you guys BAMX-HMO.


Lessons learned from the phase.

- We have to learn how to work in teams and with this, I mean having the right organization and tools that work for the team. Teams have problems and they solve them but also team members support other members.

- We need to understand and use tools that are meant to be used for a purpose, remember that tools ease our lives.

- Technologies, languages, frameworks, etc are just tools, use them like a tool that shouldn't be a blocker for us.

- Sometimes at work, you have to do things that you don't like and are part of it, which is going to happen commonly. We have to see things differently, change our attitude towards those things that we don't like and the end is our responsibility.

- Teams make decisions as a team no individuals and you have to learn how to live with that, even if you feel like you are right and your team doesn't.

- The client is your friend you have to trust them and tell them the truth about everything, they will appreciate that. Also, you have to know your limits and say no when needed.

- We have to learn how to manage our time also how we use our time, is not healthy not getting some sleep, he needs to communicate when something is not going to be finished in time.

- We need to listen to our clients and what are their needs. Also by doing quick iterations we enable immediate feedback and we can make changes fast in an agile way.

- Software is built by teams there are not geniuses, we need to collaborate. Is also important to remember that software is built by humans and we have our problems.

- Estimating in software projects or any projects is not that easy, you will commonly find errors in the estimation in time or even cost. It takes time to do good estimations.


Videos

Agile practices

Pair programming

Continuous integration

Frequent small solutions

Definition of Done

Burn-up charts.

TDD

Automated tests.

Planning poker

Retrospectives after iterations.

Sustainable pace

Success sliders

Prioritization using MOSCOW

Showcases

Standups

Big visible charts.

User stories

Antifragile: Things That Gain From Disorder - Nassim Taleb - Animated Book Review

The optimism bias

How do we heal medicine?

The Black Swan: The Impact of the Highly Improbable