My last post announced that cohort #1 was beginning their first project together.
I am very pleased to tell you that they are hard at work and making good progress. There are in fact two efforts underway:
- Working together to build a working site using their collective skills.
- More importantly, they are learning and practicing the skills described in our ‘Working in a team‘ page.
Philemon is the team leader on this project. He is wearing several hats and juggling those hats effectively. He is scheduling weekly team meetings where they review the work done in the previous week and planning and initiating the new work to be done. Meanwhile, he monitors the work of Efatha as together they are working on the primary web page for the new site. Efatha is doing the HTML and CSS work to build the look and feel of the front end of the survey application. At the same time, Philemon is coding the JavaScript code to read in the actual survey questions and to write the survey answers to data storage. They are collaborating on the same program day by day using their own unique skills. As they do so, they are doing code reviews of each other’s new code so that they understand how the pieces fit together and to make sure that the result meets the requirements.
Meanwhile, I (Michael) am monitoring their code commits and reviewing their code. I also have a cloned copy of the project repository on my development machine here in Texas. My contribution to the project is to manually test the working program as the end user (whose name is Fred) would. Not only do I use it in my browser, but I also have my clone of the repository inside a working full stack server. So, I am testing it as it will be fully deployed for the world to see and use. I am also using a testing framework called Selenium to automate the manual tests that I do. As I manually do the testing, Selenium captures all of my actions (click here, type there, scroll to somewhere else, …) and the results of my actions. After my test run, the captured actions are stored in a “test case” in the team’s testing library. Those test cases (and results) become part of the project repository that we all share. When Efatha and Philemon are working on a new feature or fixing a bug, they will be able to push a button and watch all of my testing get replayed against their new code. This way, they can quickly re-run all of my testing to make sure they have not broken anything. This shows the two processes of Integration Testing, and Test Automation.
Finally, Ash is busy on the deployment (full stack) work that will become the live demonstration of this whole project. Once that is deployed, he will be able to begin his own development task of collecting the survey results from the json data file that is written by the front end application and permanently storing the results in an SQL database in the deployed stack.
Once Ash has the demo site deployed, that deployment will run out of a live clone of the GitHub repository. Every day, that clone will pull the latest copy of the repository and the live site will reflect the previous days work by each member of the team. This is two processes called called Software deployment and continuous integration.
The real message of this post is a lot of knowledge, hard work done collaboratively across the globe, and in the first week of the project the team is already using most of the software engineering team processes described in our Working in a team page.
I’m writing this post on Friday of the first full week of the project. When the team meets (virtually) early next week, Efatha and Philemon will do a live virtual demonstration of the current state of the program. The whole team will be able to see real running code taking its first baby steps. This will allow us to ask questions, discuss options and next steps, and more importantly get a very tangible reward of their first week of working globally as a team.
Way to go team!
If you read this post, please leave a comment here so we may know your personal take away from this team’s efforts.
We are working hard to complete this project
Good results should be implemented in the project thanks to our determination and commitment on this team work project. It helps us to work as a team with tremendous and potential tools and strategies worth to know in our learning process. I’m happy for doing the HTML and CSS work part and happy working in a team with Michael as the project owner and coworkers, Philemon and Ash. We all work diligently to reach to the expectation of this project.