Home » Featured, The IT Shop

class ITShopHumanInterfaces

15 October 2010 No Comment

people

class ITShopHumanInterfaces

/// by Dan Hermes

{

public object resource;

public object need;

public object product;

public interface ICustomer

{

resource m_cabbage;

resource m_bizneed;

public resource Money

{

get { return m_cabbage; }

set { m_cabbage = value; }

}

public need BusinessNeed

{

get { return m_bizneed; }

set { m_bizneed = value; }

}

}

public interface IUser : ICustomer

{

public product DesireASoftwareProduct(resource Money,need BusinessNeed)

{

product Product = IStakeholder.MakeItHappen(BusinessNeed, Money,
Time);

return Product;

}

public product PleadForEnhancements(resource Money,need BusinessNeed)

{

product ProductUpgrade = IStakeholder.MakeItHappen(BusinessNeed, Money, Time);

return ProductUpgrade;

}

}

public interface IStakeholder: ICustomer

{

public resource Interest

{

get { return m_givesasht; }

set { m_givesasht = value; }

}

public product MakeItHappen(need BusinessNeed, resource Money, resource Time)

{

ConsiderBusinessStrategy(strategyCompanyGoals);

return Product;

}

}

public object req;

public object spec;

public object wireframe;

public object techdesign;

public object projectplan;

public object code;

public object strategy;


public interface ITShopHuman

{

}

public interface IProjectManager: ITShopHuman

{

public needs TeamNeeds

{

get{ return m_teamneeds; }

set{ m_teamneeds = value; }

}

publicneeds BusinessNeeds

{

get{ return m_bizneeds; }

set{ m_bizneeds = value; }

}

public needs PoliticalPressure

{

get{ return m_pols; }

set{ m_pols = value; }

}

public resource Time

{

get{ return m_ticktock; }

set{ m_ticktock = value; }

}

public resource Money

{

get{ return m_dills; }

set{ m_dills = value; }

}

public resource Staff

{

get{ return m_staff; }

set{ m_staff = value; }

}

public projectplan CreateProjectPlan(resource Time, resource Money, resource
Staff,spec Specifications)

{

return ProjectPlan;

}

public ExecutePlan(DateTime StartDate)

{

Agile();

Scrum();

CMMI();

}

}

public interface IAnalyst: ITShopHuman

{

public req AnalyzeBusinessNeeds(need BusinessNeeds)

{

return BizRequirements;

}

public req DefineScope(req BizRequirements)

{

return ScopedRequirements;

}

public spec CreateSolution(req ScopedRequirements)

{

Specifications.Wireframes = MockupWireframes(ScopedRequirements);

return Specifications;

}

public wireframe MockupWireframes(req ScopedRequirements)

{

return Wireframes;

}

}

public interface IDeveloper : ITShopHuman

{

public resource Caffeine

{

get { return m_buzz; }

set { m_buzz = value; }

}

public techdesign Design(spec Specifications)

{

return TechnicalDesign;

}

public code Code(spec Specifications)

{

switch(JobType)

{

case “Retrofit”: Retrofit();

case “FromScratch”: FromScratch();

case “Maintain”: Maintain();

default: JustMakeItWork();

}

return Module;

}

public bool UnitTest(spec Specifications, req BizRequirements)

{

return FunctionsAsDesigned;

}

public code Release (code Module)

{

PreReleaseTest();

return Deliverable;

}

}

public interface IArchitect : IDeveloper

{

public strategy TechStrategy(spec Specifications, resource Time, resource Money, resource Staff )

{

Scalability();

Security();

Maintainability();

WellFactored();

ProperlyCoupled();

PatternUse();

ThirdPartyTools();

TotalCostofOwnership();

return TechnicalStrategy;

}

}

public interface IProductManager : IAnalyst

{

public strategy ProductStrategy(need BusinessDemands, need PoliticalPressures, need BusinessRealities, need MarketData, need TechnicalConsiderations, resource
Time, resource Money, resource Staff )

{

return ProductStrategy;

}

}

public interface ITester : ITShopHuman

{

public Boolean EnterpriseApplicationTwelveWeeksBehindSchedule

{

get{ return m_twelveweeksbehind; }

set{ m_twelveweeksbehind = true; }

}

public code LastMinuteCodeUpdate

{

get { return m_justonemorelittlething; }

set { m_justonemorelittlething = value; }

}

public testplan DevelopTestPlans(specs Specifications)

{

return TestPlan;

}

public Collection ExecuteTestplan(testplan TestPlan, code Release)

{

return Issues;

}

public Boolean RegressionTest(testplan RegressionTestPlan, code Release)

{

return DidWeEffItUp;

}

public Boolean SmokeTest(testplan MakeItUpOntheFly, codeRelease)

{

return not Shmokin;

}

public Boolean PreReleaseTest(testplan PreReleaseTestPlan, code Release)

{

return Boolean ReadytoRelease;

}

}

public interface IReleaseEngineer : IDeveloper

{

}

public interface ISysAdmin : IDeveloper

{

}

public interface IDBA : IDeveloper

{

}

public interface ICTO : IProjectManager, IArchitectIAnalyst

{

public strategy RunTheITShop(need BusinessNeeds, resource Time, resource Money, resource Staff )

{

TechnologyStrategy();

IProductManager.ProductStrategy();

IStakeholder.BusinessStrategy();

return PlanItAndMakeItHappen;

}

}

}



Comments are closed.