For this week, I read Chapter 1 Software Development in the Twenty-First Century and Chapter 2 Agile, from the book title The Software Craftsman by Sandro Mancuso. Chapter 1 explains how the software developers have evolved over the years and what it means to be a developer of the 21st century. It also focuses on the measurement of seniority in the field. Chapter 2 flashes light on delivery of software projects technique known as Agile. Author explains the meaning, purpose, adoption, ups and downs of what it means to be Agile. Author also mentions his contribution, suggestions and experience with Agile system.
One of the interesting fact that I noticed in chapter 1 was how the definition of seniority in the computer programming world has changed. In the beginning era of the author in the field, seniority was measured based on your understanding and writing of complicated code. If no one understood your code; you were automatically considered a senior. In the 21st century, seniority is not measured just by writing good code and be familiar with a language or framework. In the modern era, with seniority comes more responsibilities. Modern developers are expected to participate in all aspects of software development and business. Developers responsibilities includes speaking to customers to find and help them with their needs and wants, watching out for the best interest of the business, taking part in designing, producing, testing, and deploying software process, estimate time and costs, presenting to clients, and many other places that will result in greater customer satisfaction and successful company/business. In simple words, developer is no longer a person sitting in a cubicle and writing code with no involvement in other business activities.
In chapter 2, author goes through the software delivery technique known as Agile. Author makes it very transparent since the beginning of the chapter that Agile is not just one thing, but rather, it is a combination of methodologies and techniques. To understand the full motive of Agile, I personally liked how the book explained the two main groups of Agile. First, process-oriented discipline, which focuses on how the teams and organizations should work, collaborate, and organize. The purpose of process-oriented discipline is to keep focus on what is important and valuable to the business. Second, technical-oriented discipline, which focuses on the challenges of developing, growing, maintaining, and delivering the product/software. The purpose of technical-oriented discipline is to focus on the quality of the product/software. These two groups explained the agenda of why a business would adapt to Agile from their previous practices.