Sen 407 - Software Project Management, Slides of Software Project Management

SEN 407 – Software Project Management (SPM) is a course that teaches how software projects are planned, organized, executed, monitored, and delivered successfully. It focuses on managing the people, time, cost, quality, and risks involved in software development projects.

Typology: Slides

2025/2026

Available from 06/07/2026

obinna-3
obinna-3 🇳🇬

1 document

1 / 31

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
SEN 407: SOFTWARE ENGINEERING
PROFESSIONAL PRACTICE
Assoc. Prof. Bilkisu L. Muhammad-Bello
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f

Partial preview of the text

Download Sen 407 - Software Project Management and more Slides Software Project Management in PDF only on Docsity!

SEN 407: SOFTWARE ENGINEERING

PROFESSIONAL PRACTICE

Assoc. Prof. Bilkisu L. Muhammad-Bello

Week 3: Legal Foundations of

Software Practice

Introduction- Question: If a banking application

crashes and customers lose money, what are the

implications?

The issue goes far beyond technical malfunction. It becomes a legal, contractual, and regulatory problem. Banking systems operate within strict financial regulations, data protection laws, and service obligations. A crash that leads to financial loss may involve: Legal liability for negligence or failure to exercise due professional care Breach of contract, since banks have a duty to safeguard customer funds Regulatory violations, as financial institutions must meet uptime, security, and audit requirements Compliance failures, especially around transaction integrity and consumer protection Reputational and trust consequences, which can be more damaging than the technical defect itself Thus, while the root cause may begin as a technical fault, the impact immediately becomes legal and professional in nature, requiring accountability at organizational, engineering, and regulatory levels.

Question: If a banking application crashes and

customers lose money, what are the

implications?

Technical Issues: System failure Transaction reversal errors Database corruption Integration breakdown with NIBSS or payment processors Legal Issues: Breach of contract with customers Financial liability under CBN rules Possible negligence by developers or managers Data integrity violations Regulatory Issues: Mandatory reporting to CBN Forensic auditing Penalties for insufficient controls Public trust implications

Intellectual Property in Software

Software is primarily protected through Intellectual Property (IP) law , which governs ownership and use. Copyright: Copyright protects the expression of code , not the underlying idea. It applies to: Source code, Object code, Documentation, UI designs, Databases and creative expressions. Key features: Automatic protection once created Owner has exclusive rights to copy, modify, and distribute Example: Copying proprietary code into another project without permission constitutes infringement.

Intellectual Property in Software cont.

Patents: Patents protect novel inventions or processes. In software contexts, patents may apply to: Unique algorithms Cryptographic methods Innovative system architectures Patents give exclusive rights to the inventor for a defined period. However: Not all jurisdictions allow broad software patents. Patent litigation can be complex and expensive.

Case Study: TikTok (ByteDance) recommendation

algorithm

TikTok's core “For You” feed algorithm and the underlying machine learning systems that power personalized video recommendations are widely considered to be highly valuable trade secrets. ByteDance has not disclosed full technical specifics of the algorithm in detail, and there has been ongoing discussion in the industry about the proprietary nature of their recommendation system, data pipelines, and optimization strategies. In many discussions and reports, the precise weights, features, and training data specifics of the algorithm are treated as confidential. The company has historically prioritized keeping the exact implementation details as confidential trade secrets rather than disclosing or patenting them. 10

Case Study: TikTok (ByteDance) recommendation

algorithm

Patent vs. trade secret: Patents require public disclosure of the invention in exchange for exclusive rights for a period (typically 20 years). Trade secrets are protected by confidentiality measures and can last indefinitely, as long as reasonable measures are taken to maintain secrecy. Software-focused value: The competitive advantage for TikTok’s algorithm lies not only in the high-level idea of a recommendation system but in the specific data inputs, feature engineering, model training techniques, sampling strategies, real-time inference optimizations, and deployment pipelines. These are often impractical to disclose in a patent and can be kept as confidential know-how (trade secret).

Intellectual Property in Software – Trade Secrets

cont.

Confidentiality as a protection mechanism: Non-disclosure agreements (NDAs), access controls, and insider risk management protect trade secrets. Corporate governance, security practices, and secure software development life cycles (SDLC) also play a role in maintaining secrecy. Economic and legal implications: Trade secret duration can be effectively “forever” if secrecy is preserved; compare with patent expiry. Risk of misappropriation and the remedies available include: civil liability, injunctions which is better than patent enforcement.

What are the boundaries?

What parts of a recommender system are likely to be trade secrets?

Examples: feature weighting, training data composition,

optimization tricks

What might be patentable?

Example: a novel specific algorithmic approach with broader

technical claims

What might be copyrighted (code, UI designs) vs. what might be kept confidential as business know-how?

Open Source Licensing

Open source software allows public access to source code but under specific licenses. Common license categories include: Permissive Licenses: Allow reuse with minimal restrictions. ◼ Typical requirements: Attribution to original author. ◼ Example: MIT/Apache are permissive. Allow commercial reuse. Copyleft Licenses: Require that derivative works also remain open source. ◼ Example: GPL requires derivative works to be open-sourced ("copyleft"). Implication: Companies must carefully evaluate whether integrating such code affects proprietary products.

Key Professional Responsibility

Software Engineers must verify: License compatibility Compliance obligations Attribution requirements Failure to comply may lead to legal disputes. Using incompatible open-source licenses can lead to legal violations. Companies have been sued for misusing GPL code inside commercial products.

Employment Contracts in Software Engineering

cont.

Non-Disclosure Agreements (NDAs): NDAs prohibit disclosure of: Trade secrets Internal systems Business strategies and product roadmaps Client data System architecture, proprietary algorithms and infrastructure details Violating NDAs may lead to legal penalties. Restrictive Clauses: Non-Solicitation: Prevents poaching clients or employees. Confidentiality: Protects internal information.

Employment Contracts in Software Engineering

cont.

Non-Compete Clauses: Some contracts restrict employees from working for competitors for a specified period. Such clauses may affect career mobility. Their enforceability varies across jurisdictions. Work-for-Hire Doctrine: Under this legal principle: The employer becomes the legal owner of work created by employees within the scope of their job.