q2K BHP
Black History Portal
THE BHP WIRE —
HIDDEN TRUTHS
What's New!
THE JOURNEY THROUGH TIME

Explore Black History

Explore the people, places, events, achievements, struggles and stories that shaped our journey.

✊🏾

Civil Rights

Movements, leaders, victories and the continuing fight for equality.

⚙️

Black Inventors

Innovation, patents, science, technology and world-changing contributions.

🏆

Sports

Pioneers, champions, Negro Leagues, records, activism and excellence.

♟️

People

Meet the people whose lives, choices and achievements shaped the journey.

📍

Places

Black towns, communities, institutions and places where history happened.

📜

Events

Moments that changed communities, movements, institutions and the nation.

Enter a person, place, event, or topic.
MY'STORY

The MOVE Fire

This is a personal recollection on the Move fire on May 13, 1985 Philadelphia police fired thousands of rounds at the MOVE house, city officials approved dropping an explosive device on the roof, the resulting fire was allowed to burn, 11 people—including five children—died, and 61 homes were destroyed. Philadelphia City Council later called it a “brutal attack carried out by the City of Philadelphia on its own citizens” and acknowledged that no individual faced criminal consequences for the bombing. One timeline correction worth preserving for the BHP record: the major previous MOVE-police confrontation was August 8, 1978, about seven years before the bombing, not a year or two earlier. Officer James Ramp was killed, other police and firefighters were wounded, nine MOVE members were later convicted, and television cameras recorded police beating Delbert Africa during his arrest. The 1985 MOVE Commission later specifically criticized city planners for failing to adequately use lessons from that 1978 confrontation. And that actually strengthens the point you’re making: 1985 did not happen without precedent or institutional memory. There had already been a deadly confrontation with MOVE, years of conflict, negotiations and police involvement before Osage Avenue.

MORE →
BLACK FACTS
The Truths They Never Taught You...

Shirley Chisholm — Unbought and Unbossed

In 1968 Shirley Chisholm became the first Black woman elected to the United States Congress. In 1972 she launched a campaign for the Democratic presidential nomination, breaking another political barrier.

MORE →
BHP gathered finds from its connected research sources. Showing the 4 strongest Black History matches.
← BACK TO RESULTS
Wikipedia

Feature-driven development

Feature-driven development (FDD) is an iterative and incremental software development process. It is a lightweight or agile method for developing software. FDD blends several best practices into a cohesive whole. These practices are driven from the perspective of delivering functionality (features) valued by the client.[1] Its main purpose is to deliver tangible, working software repeatedly in a timely manner in accordance with the Principles behind the agile manifesto.[2]

History

[edit]

FDD was initially devised by Jeff De Luca to meet the specific needs of a 15-month, 50-person software development project at a large Singapore bank in 1997. This resulted in a set of five processes that covered the development of an overall model and the listing, planning, design, and building of features. The first process is heavily influenced by Peter Coad's approach to object modeling. The second process incorporates Coad's ideas of using a feature list to manage functional requirements and development tasks. The other processes are a result of Jeff De Luca's experience. There have been several implementations of FDD since its successful use on the Singapore project.

The description of FDD was first introduced to the world in Chapter 6 of the book Java modelling in Color with UML[1] by Peter Coad, Eric Lefebvre, and Jeff De Luca in 1999. Later, in Stephen Palmer and Mac Felsing's book A Practical Guide to Feature-Driven Development[2] (published in 2002), a more general description of FDD was given decoupled from Java modelling.

Overview

[edit]

FDD is a model-driven short-iteration process that consists of five basic activities. For accurate state reporting and keeping track of the software development project, milestones that mark the progress made on each feature are defined. This section gives a high-level overview of the activities. In the figure on the right, the meta-process model for these activities is displayed. During the first two sequential activities, an overall model shape is established. The final three activities are iterated for each feature.

Process model for FDD

Develop overall model

[edit]

The FDD project starts with a high-level walkthrough of the scope of the system and its context. Next, detailed domain models are created for each modelling area by small groups and presented for peer review. One or more of the proposed models are selected to become the model for each domain area. Domain area models are progressively merged into an overall model.

Build feature list

[edit]

Knowledge gathered during the initial modeling is used to identify a list of features by functionally decomposing the domain into subject areas. Subject areas each contain business activities, and the steps within each business activity form the basis for a categorized feature list. Features in this respect are small pieces of client-valued functions expressed in the form "<action> <result> <object>", for example: 'Calculate the total of a sale' or 'Validate the password of a user'. Features should not take more than two weeks to complete, else they should be broken down into smaller pieces.

Plan by feature

[edit]

After the feature list is completed, the next step is to produce the development plan and assign ownership of features (or feature sets) as classes to programmers.

Design by feature

[edit]

A design package is produced for each feature. A chief programmer selects a small group of features that are to be developed within two weeks. Together with the corresponding class owners, the chief programmer works out detailed sequence diagrams for each feature and refines the overall model. Next, the class and method prologues are written, and finally a design inspection is held.

Build by feature

[edit]

After a successful design inspection for each activity to produce a feature is planned, the class owners develop code for their classes. After unit testing and successful code inspection, the completed feature is promoted to the main build.

Milestones

[edit]

Since features are small, completing a feature is a relatively small task. For accurate state reporting and keeping track of the software development project, it is important to mark the progress made on each feature. FDD therefore defines six milestones per feature that are to be completed sequentially. The first three milestones are completed during the Design By Feature activity, and the last three are completed during the Build By Feature activity. To track progress, a percentage complete is assigned to each milestone. In the table below the milestones and their completion percentage are shown. At the point that coding begins, a feature is already 44% complete (Domain Walkthrough 1%, Design 40% and Design Inspection 3% = 44%).

Table 1: Milestones
Domain Walkthrough Design Design Inspection Code Code Inspection Promote To Build
1% 40% 3% 45% 10% 1%

Best practices

[edit]

Feature-driven development is built on a core set of software engineering best practices aimed at a client-valued feature perspective.

  • Domain object modeling. Domain object modeling consists of exploring and explaining the domain of the problem to be solved. The resulting domain object model provides an overall framework in which to add features.
  • Developing by feature. Any function that is too complex to be implemented within two weeks is further decomposed into smaller functions until each sub-problem is small enough to be called a feature. This makes it easier to deliver correct functions and to extend or modify the system.
  • Individual class ownership (code ownership). Individual class ownership means that distinct pieces or grouping of code are assigned to a single owner. The owner is responsible for the consistency, performance, and conceptual integrity of the class.
  • Feature teams. A feature team is a small, dynamically formed team that develops a small activity. Multiple minds are always applied to each design decision, and multiple design options are evaluated before one is chosen.
  • Inspections. Inspections are carried out to ensure good quality design and code primarily by the detection of defects.
  • Configuration management. Configuration management helps with identifying the source code for all features that have been completed to date and maintaining a history of changes to classes as feature teams enhance them.
  • Regular builds. Regular builds ensure there is always an up-to-date system that can be demonstrated to the client and help highlight integration errors of source code for the features early.
  • Visibility of progress and results. Managers steer a project using frequent, appropriate, and accurate progress reporting from all levels inside and outside the project based on completed work.

Metamodel (Metamodelling)

[edit]
Process-Data Model for FDD

Metamodelling helps visualize both the processes and the data of a method. This allows methods to be compared, and method fragments in the method engineering process can easily be reused. The usage of this technique is consistent with UML standards.

The left side of the metadata model shows the five basic activities involved in a software development project using FDD. The activities all contain sub-activities that corresponding to sub-activities in the FDD process description. The right side of the model shows the concepts involved. These concepts originate from the activities depicted in the left side of the diagram.

See also

[edit]

References

[edit]
  1. ^ Cadle, James; Ahmed, Tahir; BCS, The Chartered Institute for IT, eds. (2014). Developing information systems: practical guidance for IT professionals. London: BCS, The Chartered Institute for IT. p. 99. ISBN 978-1-78017-245-3.
  2. ^ "Principles behind the Agile Manifesto". 2019-06-11.
  • 1. ^Coad, P., Lefebvre, E. & De Luca, J. (1999). Java modelling In Color With UML: Enterprise Components and Process. Prentice Hall International. (ISBN 0-13-011510-X)
  • 2. ^Palmer, S.R., & Felsing, J.M. (2002). A Practical Guide to Feature-Driven Development. Prentice Hall. (ISBN 0-13-067615-2)
[edit]

Source: Wikipedia. Article content is retrieved live through the MediaWiki API.

No preview image
Wikipedia

Feature-driven development

Feature-driven development (FDD) is an iterative and incremental software development process. It is a lightweight or agile method for developing software. FDD blends several best practices into a cohesive whole. These practices are driven from the perspective of delivering functionality (features) valued by the client. Its main purpose is to deliver tangible, working software repeatedly in a timely manner in accordance with the Principles behind the agile manifesto.

MORE →
No preview image
Wikipedia

Lightweight methodology

A lightweight methodology is a software development method that has only a few rules and practices, or only ones that are easy to follow. In contrast, a complex method with many rules is considered a "heavyweight methodology". Examples of lightweight methodologies include: Adaptive Software Development by Jim Highsmith, described in his 1999 book Adaptive Software Development Crystal Clear family of methodologies with Alistair Cockburn, Extreme Programming (XP), promoted by people such as Kent Beck and Martin Fowler Feature Driven Development (FDD) developed (1999) by Jeff De Luca and Peter Coad ICONIX process, developed by Doug Rosenberg: An UML Use Case driven approach that purports to provide just enough documentation and structure to the process to allow flexibility, yet produce software that meets user and business requirements Most of these lightweight processes emphasize the need to deal with change in requirements and change in environment or technology by being flexible and adaptive.

MORE →
No preview image
Wikipedia

Jeff De Luca

Jeff De Luca is a global information technology strategist and an author in the field of software development methodology. He is considered the primary architect of Feature Driven Development (FDD) circa 1999 [^JDLBIO], a lightweight methodology for developing computer software with reduced management overhead, time and money. In 1999, Jeff De Luca co-authored Java Modeling In Color With UML (1999, ISBN 0-13-011510-X), along with Peter Coad and Eric Lefebvre. Jeff De Luca was born in 1964. Although Jeff dropped out of secondary school (high school), and did not start with a college degree, he learned, on-the-job, working for years with programmers and designers at IBM in Melbourne, Australia and transferred with IBM to the United States in Raleigh, North Carolina (^JDLBIO). At the IBM Rochester Minnesota Programming Laboratory, Jeff developed network software to connect different types of IBM computer systems, and continued learning at IBM for those 11 years. He had begun in the mailroom: in 1981, aged 17, he had left school and started working at IBM, Melbourne, as the mailroom clerk. Jeff resigned from IBM in 1993, as a senior systems strategist. After IBM, Jeff formed his own consultancy company, Nebulon Pty Ltd, based in Melbourne, Australia, and developed extensive, complex software systems using the Java technology (with the programming language), object-modelling in UML, and FDD.

MORE →
No preview image
Wikipedia

Presenter first (software approach)

Presenter first is a software development approach that combines the ideas of the model–view–presenter (MVP) design pattern, test-driven development, and feature-driven development.

MORE →
TOPIC OF THE DAY

Greenwood / Black Wall Street

Before the 1921 destruction of Tulsa’s Greenwood District, Black residents had created a remarkable center of business and community life. The district included stores, professional offices, entertainment venues and homes owned by Black citizens. Understanding Greenwood means learning what was built—not only what was burned.

MORE →
TRIVIA QUESTION OF THE DAY

Which heavyweight champion was known as the “Brown Bomber”?

Joe Louis.