Forcasting PEP consumers [was]: [snip] Event Planner Project [was]Re: Event Planning Project
Trent Shipley
plug-devel@lists.PLUG.phoenix.az.us
Fri Mar 11 17:53:02 2005
Joseph, I was about to split this thread with a new subject of:
"IFA project, PEP vision, and PEP working group"
Of course I was really tempted to go for the title:
"IFA project, PEP vision, and PEP squad"
I had restrained myself, but without the discipline of a subject line I need
not do so.
* The Phoenix Event Planner working group are the associates of PLUG Devel who
are working on PEP projects.
* I see IFA as what we do *NEXT*. It is a proof-of-concept project. I tend
to see it as a mini-project. The IFA project is not totally congruent with
the overall PEP strategic vision. Nevertheless, the InstallFest problem
seems to be a subset of the PEP domain and InstallFest has committed to being
PEPs guinea pig, at least to the extent possible given InstallFest's loose
organization.
We still need to find out what our customer, InstallFest, wants from the PEP
Working Group.
* PEP has a strategic vision. It extends to a lot of potential consumers and
many revisions over time. Because of a wide range of application and scale
realizing PEP's strategic vision can be sketched as a timeline, but will
require occasional changes in engineering and even architecture.
There is still a lot of brainstorming to be done about PEP's strategic vision.
On the other hand, because the viability of the project and it's group have
yet to be demonstrated, system architects need to be a bit agnostic and quite
sceptical about any strategic plans.
On Friday 2005-03-11 17:53, Joseph Sinclair wrote:
> I never viewed the Installfest as the primary customer. They are
> providing a convenient focus to the initial iterations, but I never
> intended to create software specific to installfests, I think I
> mentioned earlier that if that had been my preference, I would have
> created something really simple.
You are correct here.
What I am advocating is treating InstallFest as a "real" customer with a real
account. Similarly, we treat the PEP Working Group as a brand new firm. The
viability of the firm has yet to be proven. A "really simple" little project
is just perfect for our brand-new little software production firm.
We build something, finish it, use it. In the process we build PEP and are
ready for a somewhat bigger project. (Yes. This is a wedding of agility
theory with capability-maturity organizational theory.)
> I don't think we ever discussed integrating the solution developed here
> into the existing PLUG site. I, personally, don't think that's such a
> good idea, given that the best way to do that would involve writing the
> system as an extension of PostNuke in PHP. I think we did discuss
> having an easy-to-use link, and perhaps permitting the
> look-and-feel(L&F) to match the PLUG site L&F, but that's easy enough to
> do in any reasonable architecture.
In prior correspondence I had hoped to be clear that InstallFest consumers
would see the public part of the application as part of the PLUG site. That
is, integration at the level of look and feel only.
InstallFest organizers and other volunteers would presumably have access to an
administrative interface. Presumably it would be nice if the administrative
interface had a consistent L&F with the rest of the PLUG site but its
consumers would tolerate the product if it were a bit "rough".
Basically, that is a long winded way to say we agree.
> I've been working with lightweight methodologies, primarily XP, for
> around 5 years now, and I have never been able to find in the XP
> methodology anything that suggests you build your system as though the
> current iteration is the entire system. You don't build *functionality*
> not needed by the current iteration, but you do build this iteration's
> functionality with the understanding of the entire release, and you make
> architectural and design decisions with the entire project vision in mind.
I keep thinking of (ASU Software factory's) Steve Gordon's hatered of software
"requirements".
As a software shop, the PEP Squad can work with InstallFest to build solutions
for InstallFest. That is concrete.
The problem I have is not that there should be a strategic vision beyond IFA
and corresponding architectural plans, it is that architecture needs to be
based on so many highly speculative functions ... it all amounts to
theoretical business theory. I would feel MUCH more comfortable working off
a larger architectural plan if I knew the plan was based not in theory but in
grounded research.
For example later on you will turn Bryan's hypothesized need for unconnected
workstation operation into a user story. Unfortunately, it is only an
*imagined* user story. I would be MUCH happier if it were not an imagined
story, but based on utterances elicited from a potential consumer or analyst
participant observation.
At this point, of course, my opinion is based on too much education and too
little experience.
My concern is that coding to a strategic architecture at this point is
premature. Right now a strategic architecture must be based on poorly
grounded assumptions about consumers and markets. To do more architecture we
should have more real customers and more real research.
<important>
As junior to senior, I want an explanation about why we have enough
information to GENERALIZE the architecture WELL beyond the IFA account to the
PLUG/AZOTO account (that I did not know existed until now) and beyond.
</important>
> I think these three things start to bring light to this discussion,
> Trent. You are trying to see the "best" (i.e.
> simplest/cheapest/easiest) way to build an installfest application, with
> the installfest as a primary customer,
Check. Although that is short term (2 quarters at most) and tactical.
> and a strong desire to place the
> final solution in GNUe.
I am not married to GNUe. In the short term, I do not even care about it.
I DO think that given what I see as PEP's strategic potential, that PEP would
gain synergy by being a module in a FOSS ERP/M solution (and GNUe is the only
one I know about).
> I am trying to see the "best" way to build a
> full-out enterprise event planning and management system with PLUG/AZOTO
> as the primary customer (much broader needs there), the installfest as a
> nice proxy customer for a few iterations,
Like I said, I know nothing about the PLUG/AZOTO account. In business terms,
I may not NEED to know more about this account, but I think I SHOULD know
more about it.
Also I am thinking more concretely in terms of customer+architecture as A
project instead of an overall strategic vision and a grand architecture.
<important point>
So Trent's working methodology:
* strategic vision = full-out enterprise event planning and management system
in an ERP/M context
** Strategic vision will be changing all the time. Resistant to architecture
** Stratigic vision will be realized over time through many projects.
** Projects are informed by overall vision.
* Customer = Project
** project has interations.
** Customers must be treated like customers. Each gets best eXP service
available even if that is not maximizing for the strategic vision.
Joseph's working methodology.
* strategic vision = full-out enterprise event planning and management system
** Insure high quality, maintainable software by creating architecture NOW!
** Stratigic vision will be realized over time through many interations.
** Iteration = customer
</important point>
Of course, if we have two accounts, and do neither an injustice by sharing
resources between them, then we should do that.
Nevertheless, This means that the PEP Squad software shop has two distinct (if
friendly) customers. It would be unethical to sacrifice InstallFest to
PLUG/AZOTO.
> a strong desire to see the
> software built using the platform preferred by those willing to
> volunteer as core developers,
Fair enough. You cannot build software without developers and
para-developers.
> and a desire to ensure it actually gets
> built, whether I like the final PAD(Platform/Architecture/Design) or
> not.
YESSS. Building something deliverable GOOD. Very GOOOOD.
> Neither position is inherently right or wrong, they're just
> different.
Exchange of olive branches accepted.
> As far as Bryan's request that a single-user solution be available, I
> agree that, at some point, a single-user system should be available.
Check.
> Since it's utterly insane to expect an unsophisticated user (i.e. church
> admin, "soccer mom", etc...) to install the LAMP components (or GNUe or
> J2EE) on their workstation,
Could not these be built to "auto-install" in a default configuration?
> I would expect the single-user solution to
> be an easily downloadable (PDM, Java WebStart, etc...) client
> application capable of running in both online and offline modes, and
> with the option to have no parent server at all.
I am unfamiliar with these technologies. Are we basically talking about a
"fat client"; that is, an application on the user's console?
> This sounds a lot like
> a user story, so I'll keep a story card for it, assuming Bryan agrees
> with my description.