Wednesday, October 8, 2025

From Zero to Sysadmin: How We Built a Hybrid IT Infrastructure in the Cloud

 


Hey everyone! Want to know what it's like to deploy real enterprise server infrastructure? Our CYB300 team just completed an incredible hands-on project that took us from complete beginners to actually managing Windows servers in Microsoft Azure. Here's our journey.

The Challenge: Build It Like the Pros Do

Imagine walking into your first IT job and being told: "We need you to set up a new branch office server with Active Directory, DNS, file sharing, and oh yeah—make it virtualization-ready." Intimidating, right? That's exactly what our team tackled in this project.

We had to deploy Windows Server 2019 in Azure's cloud platform, enable Hyper-V virtualization (yes, running virtual machines inside a virtual machine), and configure all the essential services that keep modern businesses running.

Starting from Scratch

The first step was getting our hands on Windows Server 2019. Microsoft offers free evaluation versions through their Evaluation Center—perfect for students learning the ropes. We downloaded the ISO file and then moved to Azure to create our virtual machine.

Here's the cool part: Azure isn't just for massive enterprises. Students can access it too, and it's the perfect playground for learning cloud infrastructure without needing expensive hardware. We created a VM called CYB300_SRV01 and configured everything from networking to security settings through Azure's web portal.

The Hyper-V Mind-Bender

One of the wildest parts of this project was enabling Hyper-V virtualization inside our Azure VM. Think about it: we're running a virtual machine (our Windows Server in Azure), and inside that, we enabled the ability to run more virtual machines. It's like Inception, but for servers!

The magic happened with a single PowerShell command:

Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart

After the server rebooted, we had a fully functional virtualization platform ready to host additional workloads. This is exactly how modern IT departments build flexible, scalable infrastructure.

Configuring Real Enterprise Services

With the foundation in place, we started adding the services that make a server actually useful:

Active Directory Domain Services: This is the backbone of Windows networks. It manages user accounts, computers, security policies—basically everything. Companies can't function without it.

DNS Server: Every time you type a website address, DNS translates it to an IP address. We configured our own DNS server to handle name resolution for our environment.

File and Storage Services: Centralized file sharing means users can access their documents from any computer on the network. We set up file server capabilities with advanced features like data deduplication to save storage space.

Web Server (IIS): We installed Internet Information Services to host web applications, a critical skill for any IT professional.

Team Collaboration = Real-World Preparation

Here's what textbooks don't always teach you: IT is a team sport. We held recorded Zoom sessions where we:

  • Divided responsibilities based on each person's strengths
  • Troubleshot problems together through screen sharing
  • Debugged PowerShell scripts and configuration issues in real-time

One team member caught a syntax error in our PowerShell script. Another figured out why our network configuration wasn't working. Someone else documented everything so we could reproduce our work. This collaborative problem-solving is exactly what happens in professional IT environments.

What We Actually Learned

Beyond the technical skills, here's what really stuck with us:

  1. Cloud platforms are accessible: You don't need a server room to learn enterprise IT anymore. Azure and similar platforms democratize access to professional infrastructure.

  2. PowerShell is your friend: At first, command-line tools seem scary. But PowerShell automates tasks that would take hours through a GUI. Learning it now pays dividends later.

  3. Documentation matters: When we got stuck, having clear notes about what we'd already done saved hours of troubleshooting.

  4. Problems are opportunities: Every error message taught us something new. That's how you actually learn—by breaking things (safely) and fixing them.

Why This Matters for Your Career

Whether you're heading into cybersecurity, cloud engineering, system administration, or software development, understanding how servers and networks function is foundational. This project gave us hands-on experience with:

These aren't just academic exercises. These are the exact skills listed in entry-level IT job postings. When you can say in an interview, "I've deployed Windows Server in Azure, configured Active Directory, and managed Hyper-V virtualization," you're immediately more competitive.

The Bottom Line

System administration might seem intimidating at first, but here's the secret: everyone starts somewhere. Nobody is born knowing how to configure DNS or deploy virtual machines. You learn by doing, by breaking things, and by fixing them.

This project proved that with the right mindset, access to cloud platforms, and collaborative teammates, students can gain real-world IT experience before graduation. And honestly? It was pretty fun troubleshooting server configurations at 11 PM on Zoom with your team.

If you're taking CYB300 or similar courses, embrace these hands-on projects. They're your chance to move beyond theory and actually do the work that IT professionals do every day. Plus, when you inevitably encounter an error message you've seen before in the real world, you'll know exactly how to fix it.

Who knew that deploying servers could be such a valuable learning experience? Our team sure did by the end of this project.


Have questions about working with Azure, Hyper-V, or Windows Server? Drop them in the comments! We're happy to share what we learned along the way.

Your Guide to Software Development in the AI Era




What Every New College Student Needs to Know

Starting your journey into software development can feel overwhelming, especially with all the buzz about AI "taking over" programming jobs. As you begin your college career in computer science or software engineering, let's cut through the noise and focus on what really matters for your future.

The Big Question: Will AI Replace Programmers?

Here's the short answer: No, AI won't replace programmers. But it will definitely change how we work.

Think of AI as a powerful assistant rather than a replacement. Tools like ChatGPT and GitHub Copilot can help you write code faster, catch bugs, and suggest improvements. According to industry experts Norman McEntire and James Gappy from UC San Diego Extended Studies, AI is transforming programmers into strategists who guide these tools to achieve optimal results.

What AI Can Do for You:

  • Generate boilerplate code quickly
  • Suggest syntax and best practices
  • Help with debugging
  • Automate routine tasks
  • Review code for potential issues

What AI Can't Do (Yet):

  • Understand complex business requirements from stakeholders
  • Make strategic architectural decisions
  • Compile and run applications for you
  • Replace critical thinking and problem-solving
  • Understand context and user needs deeply

The key takeaway? Learn to use AI as your collaborative partner, not as a replacement for learning fundamental coding skills.

Understanding the Software Development Life Cycle (SDLC)

As a student, you'll hear about SDLC constantly. It's essentially the roadmap for building software from start to finish. Here are the seven key phases you need to know:

1. Planning

This is where everything begins. Teams gather requirements, define project goals, and figure out what needs to be built. This phase sets the direction for the entire project.

2. Feasibility Analysis

Before diving in, teams assess whether the project is technically and financially viable. Can we actually build this? Do we have the resources? What are the risks?

3. System Design

Here's where the blueprint gets created. Teams design the software architecture, plan the database structure, and sketch out user interfaces. This phase is all about planning before coding.

4. Implementation (Development)

This is the phase you're probably most excited about—actually writing code! Developers transform the design into a working application, following best practices and coding standards.

5. Testing

Testing isn't just clicking around to see if things work. It includes:

6. Deployment

Once testing is complete, the software goes live. This might start with a beta release to a small group before rolling out to everyone.

7. Maintenance

Software is never truly "done." After deployment, teams continuously fix bugs, add features, and make improvements based on user feedback.

Why Testing Matters More Than You Think

In your programming classes, you might be tempted to skip writing tests. Don't make this mistake! Testing is critical because:

  1. Bugs caught early are cheaper to fix: A bug found during development might take 10 minutes to fix. The same bug found in production could cost thousands of dollars and damage user trust.

  2. Tests document your code: Good tests show other developers how your code should work.

  3. Tests give you confidence: When you make changes, tests help ensure you didn't break existing functionality.

  4. Employers expect it: Professional developers spend significant time writing and maintaining tests.

Testing Best Practice:

Start by writing tests for your assignments even if they're not required. Compare your solution with AI-generated code, then optimize. You'll learn faster and build good habits early.

DevOps: Not Just for Operations Anymore

You might think DevOps is just for IT operations teams, but modern developers need to understand it too. DevOps emphasizes:

  • Continuous Integration (CI): Automatically testing code every time changes are made
  • Continuous Deployment (CD): Automatically deploying tested code to production
  • Automation: Using tools to handle repetitive tasks
  • Collaboration: Breaking down silos between developers and operations teams

Understanding these concepts will make you more valuable when you enter the workforce. Many companies now expect developers to be familiar with tools like Docker, Jenkins, or GitHub Actions.

Preparing for Your Programming Career

Here's practical advice for thriving in this AI-augmented future:

1. Master the Fundamentals

Don't just learn to code—learn to think like a programmer. Understand data structures, algorithms, and design patterns. These fundamentals never go out of style.

2. Use AI Tools Strategically

  • Start your assignments on your own first
  • Use AI to check your work and learn alternative approaches
  • Ask AI to explain concepts you don't understand
  • But always verify AI-generated code—it can "hallucinate" incorrect solutions

3. Build Real Projects

Your coursework is important, but building projects outside of class teaches you things textbooks can't. Create a portfolio of work that demonstrates your skills.

4. Learn Continuously

Technology changes fast. Adopt a mindset of continuous learning. Follow tech blogs, take online courses, and experiment with new tools and frameworks.

5. Develop Soft Skills

Technical skills will get you the interview, but soft skills will help you thrive in your career:

  • Communication: Explain technical concepts clearly
  • Collaboration: Work effectively in teams
  • Problem-solving: Break down complex problems systematically
  • Adaptability: Embrace change and new technologies

6. Understand the Full Stack

Don't limit yourself to just frontend or backend. Understanding the entire application stack—from databases to user interfaces—makes you a more versatile developer.

Real-World Application: The Student Portal Example

Let's look at a practical example: building a student portal application. This type of project teaches you about:

  • User Authentication: Secure login systems
  • Database Design: Storing student records, grades, and courses
  • API Development: Connecting frontend to backend
  • UI/UX Design: Creating intuitive interfaces
  • Security: Protecting sensitive student data
  • Testing: Ensuring everything works reliably
  • Deployment: Making the application available to users

This isn't just theoretical—these are real skills you'll use in your career. Whether you're building a student portal, an e-commerce site, or a mobile app, the principles remain the same.

The Limitations of AI You Need to Know

Understanding AI's limitations will help you use it effectively:

  1. Hallucination: AI can generate confident-sounding but incorrect information. Always verify critical code.

  2. Data Dependency: AI's quality depends on its training data. Biased or insufficient data leads to poor results.

  3. Legal Concerns: Copyright, intellectual property, and ethical considerations around AI-generated code are still evolving.

  4. Context Understanding: AI struggles with complex business requirements and nuanced decision-making.

Your Action Plan

As you start your college journey in software development:

This Semester:

  • Master one programming language thoroughly
  • Write tests for all your assignments
  • Start using AI tools like ChatGPT for learning
  • Begin building a personal project

This Year:

  • Learn version control (Git)
  • Understand basic database concepts
  • Complete one substantial project for your portfolio
  • Join coding communities or clubs

Before Graduation:

  • Build multiple portfolio projects
  • Contribute to open-source projects
  • Gain internship experience
  • Stay current with industry trends and emerging technologies

The Bottom Line

The future of programming isn't about competing with AI—it's about leveraging AI to become a better, more productive developer. The industry needs programmers who understand both the technical fundamentals and how to use modern tools effectively.

Your generation has an incredible opportunity. You're learning to code at a time when AI can accelerate your learning and amplify your productivity. But remember: AI is a tool that augments your capabilities, not a replacement for deep understanding and critical thinking.

Focus on building strong fundamentals, embrace continuous learning, and view AI as your collaborative partner. Do this, and you'll be well-prepared for a successful career in software development.

The tech industry is evolving rapidly, but one thing remains constant: the world will always need skilled, thoughtful developers who can turn ideas into reliable, user-friendly software. That's where you come in.

Ready to start your journey? The code won't write itself—but with the right mindset and tools, you'll be amazed at what you can build.

Tuesday, October 7, 2025

From Waterfall to Agility: My Journey Through Hybrid Scrum Project Management



How a Capstone Course Transformed My Understanding of Modern Project Management

When I first enrolled in the IT Project capstone course, I had little idea that I was about to experience a fundamental shift in how I approach software development and project management. This wasn't just another class—it was an immersive journey into the world of Agile and Scrum methodologies that would reshape my thinking about teamwork, productivity, and iterative development.

The Industry Context: Why This Matters

The statistics are staggering. Agile adoption in software teams jumped from 37% in 2020 to 86% in 2021. Among Agile frameworks, Scrum dominates—81% of Agile teams use some version of it. Perhaps most compelling: project teams adopting Scrum report productivity improvements of 300% to 400%, with the best teams achieving up to 800% increases. These aren't just numbers; they represent a fundamental transformation in how modern IT organizations deliver value.

Traditional Waterfall methodology, with its sequential phases of requirement, design, implementation, testing, and maintenance, has given way to something more dynamic. Agile's iterative approach focuses on product development through continuous cycles, and Scrum provides the framework to make this happen effectively.

The Hybrid Approach: Best of Both Worlds

What made this course unique was its hybrid methodology combining Waterfall's planning discipline with Scrum's agility. Rather than jumping directly into sprints, we learned to structure our semester-long capstone projects through four distinct phases:

Phase 1: Project Idea Selection

This wasn't just about picking something interesting—it required deep analysis. We examined competitors, identified security vulnerabilities, evaluated technology requirements, and justified our choices. The emphasis on security considerations taught me to think defensively from day one, considering potential attack vectors and protection strategies before writing a single line of code.

Phase 2: Project Planning and Design

Here, Waterfall principles proved invaluable. We created comprehensive project designs including interface mockups, database schemas using Entity Relationship Diagrams, and network layouts. We developed product backlogs—prioritized lists of features and requirements—and estimated the time and resources needed for implementation. This thorough planning provided the foundation that made our later agile iterations successful.

Phase 3: Project Implementation (The Scrum Core)

This phase divided into four two-week sprints, and here's where Scrum truly came alive. Each sprint followed a rhythm:

Sprint Planning: We'd select items from our product backlog based on priority and team capacity. Initial planning happened in Phase 2, but we adapted plans after each sprint based on what we'd actually accomplished.

Sprint Execution: Rather than daily scrums (impractical for a class schedule), we maintained constant communication and focused on delivering working features. Each team member took ownership of tasks they were capable of completing.

Sprint Review and Retrospective: At each sprint's end, we demonstrated completed features to the class. Our instructor and classmates acted as customers, providing valuable feedback. The retrospective component—reporting lessons learned and improvements for future sprints—proved transformative. We weren't just building software; we were continuously improving how we built software.

Phase 4: Project Summarizing and Reporting

The final phase required us to synthesize everything: creating user manuals, writing comprehensive reports, and presenting our work. We had to identify the three most difficult implementation challenges and explain our solutions, demonstrate our security considerations, and articulate what we'd learned—both technical skills and project management insights.




Scrum Roles: Understanding Responsibility

The course taught us three key Scrum roles:

Product Owner (all team members): We collectively decided project ideas, planned features, and created product backlogs. This democratic approach ensured everyone felt invested in the project's success.

Scrum Master (one designated student): This person guided task completion, prepared demonstrations, and scheduled meetings. The role taught leadership without authority—influencing through facilitation rather than command.

Team Members: We selected tasks matching our capabilities, contributed to demonstrations, and attended meetings. The self-organizing principle meant we chose our work rather than having it assigned.

Learning Methodologies: What Actually Worked

The course employed multiple teaching approaches, and the post-course survey revealed fascinating insights about effectiveness:

  • Using Scrum in our own projects: 73% of students rated this as the most efficient learning method
  • Real-world examples: Highly rated, showing how Scrum applies beyond software (wedding planning, restaurant management, volleyball teams)
  • Videos and animations: Effective for visualizing the differences between Waterfall, Agile, and Scrum
  • Traditional lectures and case studies: Selected by less than half of students

The clear takeaway: experiential learning trumps passive instruction. We learned Scrum by doing Scrum.

Knowledge Gains: Measuring the Impact

Pre and post-course surveys tracked our knowledge improvement across 10 key concepts. The class average increased from 66% to 74%, with several areas achieving over 80% correct responses:

  • Sprint lengths and workflows
  • Scrum event purposes (planning, review, retrospective)
  • Sprint backlog characteristics
  • Differences between Waterfall and Agile

However, the hybrid approach created some confusion. Product backlog concepts and the distinction between sprint review and retrospective meetings needed reinforcement because our adapted methodology differed from pure Scrum.

Student Satisfaction: The Proof in the Numbers

The course succeeded by its most important measure: student satisfaction and perceived value.

  • 77% agreed Scrum helped implement their projects
  • 87% believed Scrum would benefit their future careers
  • 82% recommended teaching Scrum in subsequent IT courses

These aren't just positive feelings—they represent genuine recognition that Scrum provides practical, career-relevant skills.

Key Insights and Practical Applications

Scrum Artifacts That Matter

Product Backlog: The living, breathing to-do list that constantly evolves. As we learned more or priorities shifted, items moved up, down, or off the backlog entirely. This dynamic prioritization kept us focused on delivering maximum value.

Sprint Backlog: The subset of items we committed to completing in each two-week sprint. Breaking down the product backlog into sprint-sized chunks made overwhelming projects feel manageable.

Increment: The working features we delivered at each sprint's end. These weren't prototypes or demos—they were potentially shippable product increments that added real value.

Timeboxing: The Power of Constraints

One crucial Scrum principle we embraced was timeboxing—setting strict time limits for activities. This prevented endless meetings and analysis paralysis. Two-week sprints forced us to deliver regularly rather than perfectionism trapping us in development limbo. The discipline of timeboxing actually increased our freedom by reducing decision fatigue.

Sprint Planning Essentials

Effective sprint planning required:

  • A concise sprint goal providing shared focus
  • Backlog items prioritized by the product owner
  • Task breakdown into actionable units
  • Capacity planning to avoid team overload
  • Active collaboration between all roles

Continuous Improvement Through Retrospectives

Sprint retrospectives became my favorite ceremony. These weren't blame sessions—they were structured opportunities to identify what worked, what didn't, and what to change. The focus on actionable improvements, implemented as soon as possible, embodied Scrum's commitment to continuous evolution.

Practical Implementation: Building a P4AI Application

A parallel course component involved implementing Agile Scrum methodology in developing a P4AI (Profiling for Aptitude Inventory) application—an AI-based website for educational and professional interest assessment. This real-world application reinforced theoretical concepts:

The development followed the classic Scrum stages:

  1. User Stories: Defined requirements from user perspectives
  2. Product Backlog: Prioritized features and requirements
  3. Sprint Backlog: Divided work into two-week sprints
  4. Sprint Execution: Daily scrums, development work, testing
  5. Product Review and Demo: Confirmed, checked, and adjusted the system

The experience of building something complex using Scrum—complete with machine learning components—proved the methodology's suitability for modern, sophisticated applications.

Challenges and Adaptations

Not everything translated perfectly from industry Scrum to an academic setting. Key adaptations included:

Daily Scrums: We eliminated these due to class schedule constraints, combining sprint review and retrospective meetings instead. Scrum purists might object, but this pragmatic adjustment improved efficiency without sacrificing effectiveness.

Meeting Overhead: One reported Scrum limitation is excessive meetings. Our streamlined approach proved you can maintain Scrum's collaborative spirit while respecting time constraints.

Hybrid Methodology: Pure Scrum assumes teams can adapt completely on the fly. Our hybrid approach acknowledged that students needed upfront planning to ensure semester-long project completion. This wasn't a weakness—it was realistic adaptation to constraints.

Productivity Principles Behind Scrum

Understanding why Scrum works helped me appreciate its practices:

Goal-Oriented Time: Timeboxing compels focus on specific tasks, eliminating multitasking waste.

Reduced Coordination Overhead: Regular, predictable ceremonies mean less ad-hoc communication and more productive work time.

Faster Feedback Cycles: Two-week sprints provide rapid validation or correction, preventing months of misdirected effort.

Team Empowerment: Self-organizing teams take ownership, increasing motivation and accountability.

Transparency: Everyone knows what everyone else is doing, facilitating coordination and reducing duplicated effort.

Real-World Applications Beyond Software

One enlightening aspect was learning how Scrum principles apply beyond software development:

  • Wedding Planning: Breaking complex event planning into sprints with regular reviews
  • Restaurant Management: Daily scrums for dinner rush preparation, sprint reviews after busy periods
  • Sports Teams: Sand volleyball teams using sprint retrospectives to improve performance

These examples illustrated that Scrum isn't just a software methodology—it's a framework for managing any complex, adaptive work.

Looking Forward: Career Implications

The course didn't just teach project management—it provided career-relevant skills for the modern IT industry. Key takeaways included:

Adaptability: Understanding when to apply different methodologies based on project needs

Collaboration: Working effectively in self-organizing teams without hierarchical command structures

Continuous Learning: Embracing retrospectives and iteration as paths to improvement

Security Mindset: Integrating security considerations from project inception

Stakeholder Management: Engaging customers and incorporating feedback throughout development

The Bottom Line

This course fundamentally changed how I think about project management and software development. The hybrid approach—combining Waterfall's planning with Scrum's agility—proved more effective than either methodology alone for our context. Learning by doing rather than passive instruction made Scrum's principles tangible and memorable.

The statistics bear out the value: knowledge scores improved, student satisfaction remained high, and the overwhelming majority recommended continuing this teaching approach. But numbers don't capture the most important outcome—confidence. I now feel equipped to join Agile teams, contribute effectively to sprints, and adapt project management approaches to different contexts.

Agile and Scrum aren't just buzzwords or passing trends. They represent a fundamental shift in how modern organizations deliver value through iterative development, continuous feedback, and team empowerment. Understanding these methodologies isn't optional for IT professionals—it's essential.

As I move forward in my career, I'll carry these lessons: plan thoroughly but adapt quickly, deliver incrementally rather than wait for perfection, collaborate transparently, and never stop improving. That's the real power of Scrum—not just building better software, but building better teams and better professionals.