Lesson 10. Software Maintenance: Development and Cost Estimation

Learning Objective

Total Time: 5 minutes

Students will understand the major factors influencing software project budgets, including Key Lines of Code (KLOC) and man-month estimates, and will be able to compare different software cost estimation methods. They will also enhance their academic English proficiency through targeted vocabulary, grammar, reading, listening, and writing activities related to the topic.

Assessments

Total Time: 5 minutes

/

Students will complete a short quiz at the end of the lesson that will assess their understanding of cost estimation concepts and factors affecting software budgets. Additionally, their usage of key vocabulary and grammatical structures in group discussions, written reports, and reflections will be informally assessed.

Key Points

Total Time: 10 minutes

  • Software Budgeting: Understand what constitutes a software budget.

  • KLOC (Thousand Lines of Code): The significance of KLOC in estimating software projects.

  • Man-Month Estimation: How labor hours translate to project costs.

  • Cost Estimation Methods: Overview of different methods (e.g., COCOMO, Function Points, and Agile estimation).

  • Influencing Factors: Discussing complexity, team experience, and project specifications.

  • Vocabulary Focus: Key terms: budget, estimate, overrun, allocate, complexity, stakeholder, timeline, milestone, resources.

  • Grammar Focus: Passive voice (e.g., "Costs are estimated," "The project is structured") and conditional sentences (e.g., "If requirements change, the budget will increase").

Opening

Total Time: 10 minutes

  • Start with an engaging video on the implications of poor software project budgeting in real-world scenarios (like failed tech startups).

    • Pre-listening Vocabulary Task (2 min): Introduce 3-5 key terms from the video (e.g., bankruptcy, scalability, investor) with matching exercises.

  • Prompt discussion: "What do you think are the biggest reasons for software project overruns?" to ignite curiosity and relate to students' experiences.

    • Grammar Practice (3 min): Encourage students to use phrases for expressing reasons and consequences (e.g., "One reason for overruns is that...," "This leads to...," "As a result, …").

Introduction to New Material

Total Time: 40 minutes

  • Present a slideshow covering:

    • The importance of accurate cost estimating in software projects.

    • Define KLOC and discuss its relevance in project timelines and budget.

    • Detailed breakdown of man-month estimation and how it affects hiring and costs.

    • Introduce various cost estimation methods, supported by visuals and brief case studies highlighting their effectiveness and limitations.

    • Vocabulary & Reading Task (15 min): Provide a short reading text (e.g., an excerpt from an article or a simplified case study of a budgeted project scenario), highlighting key vocabulary related to project phases and financial terms.

      • Post-reading Comprehension Questions (5 min):

        1. What challenges did Company X face in budgeting their project?

        2. How did they use KLOC or man-month estimates?

        3. What were the outcomes of their estimation strategy?

    • Grammar Exercise (5 min): Students will complete gap-fill sentences on the passive voice using verbs related to project management (e.g., develop, implement, allocate, revise). Example: "The project budget ____ (allocate) at the start." -> "The project budget was allocated at the start."

  • Address potential misconceptions, such as the notion that length of code directly equates to complexity.

Guided Practice

Total Time: 40 minutes

  • Group Activity: Divide students into small groups. Each group is assigned a case study of a fictional software project with specified requirements.

  • Groups will assess the project using KLOC estimates and man-month calculations using one of the presented estimation methods. Each group must create a brief cost summary and justify their estimates.

    • Writing Task - Report Outline (10 min): Provide a template or clear guidelines for the "cost summary" focusing on structure, formal language, and the use of transitional phrases.

      • Introduction (Project Overview)

      • Estimation Method Used (Justification)

      • KLOC and Man-Month Calculations

      • Estimated Budget Breakdown

      • Justification for Estimates (Challenges, Assumptions)

      • Conclusion

    • Speaking & Listening Task - Group Discussion (10 min): Facilitate group discussions with guiding questions such as: "What challenges did your group face in estimating costs? How confident are you in your estimates?"

      • Encourage students to use comparative and superlative adjectives (e.g., "This method is more reliable," "The most challenging part was…") and expressions of certainty/uncertainty (e.g., "We are fairly confident," "It's unlikely that…").

      • Audio Task (5 min): Play a short audio clip (1-2 minutes) of a project manager discussing budget challenges, and ask groups to identify the main problem described and one proposed solution.

Independent Practice

Total Time: 25 minutes

  • Individual Task: Students will be given a new project scenario (different from the group activity) and asked to create a cost estimation report.

  • Clear expectations will be set for including KLOC estimates, selected cost estimation methods, and a reflection on possible inaccuracies or challenges they faced in their estimation.

    • Writing Task - Individual Report (20 min): Students will write their individual cost estimation report, applying the vocabulary, grammar, and structural guidance provided in the Guided Practice. Emphasize clarity, conciseness, and accurate use of technical terms.

Closing

Total Time: 15 minutes

  • Conduct a summary discussion or a mixed-method quiz using tools like Kahoot! to review major concepts discussed during the lesson and solidifying understanding.

  • Encourage sharing of estimation reports and discuss key differences and insights learned from various approaches.

    • Vocabulary Review (5 min): Quick matching quiz (term to definition) or "explain the term in your own words" activity for 5-7 key vocabulary words.

Extension Activity

Total Time: 15 minutes

  • For those who finish early, provide a research challenge: Compare a real-world software project’s budget (from sources like industry reports) with your estimates and hold a brief reflection on where similarities or discrepancies occur.

    • Reading & Summarizing Task: Students will find and summarize information from industry reports, identifying key figures and challenges in a real-world budget. Focus on identifying main ideas and supporting details.

Homework

Total Time: 5 minutes

  • Ask students to write a one-page reflection on an experience where they encountered budget challenges, either in software projects or other areas, and how proper estimation might have changed the outcome.

    • Writing Task - Reflective Essay: Encourage use of past conditional structures (e.g., "If I had estimated correctly, the outcome might have been different.")

Standards Aligned

Total Time: 5 minutes

  • Aligns with CERF English level B2 by incorporating readings, discussions, and presentations in English, enhancing academic language proficiency in a technical setting. Specifically addresses:

    • Reading: Comprehension of detailed factual texts, identifying main points and specific information.

    • Listening: Understanding extended speech on abstract and complex topics within their field, including detailed arguments.

    • Speaking: Participating in extended discussions on a wide range of subjects, presenting clear and detailed descriptions and arguments.

    • Writing: Producing clear, detailed text on a wide range of subjects, expressing opinions, giving reasons, and explaining the advantages and disadvantages of various options.

    • Vocabulary: Acquisition and appropriate use of specialized terminology in a technical context.

    • Grammar: Consistent control over complex grammatical structures including passive voice and conditional forms.